ESP8266 是一个带完整 WiFi 功能、 同时带一个 32bit MCU 的 SoC,可以取代原 Arduino 核心板 + WiFi 扩展板完成的大部分应用。 

最重要的,他的价格,只有 RMB 10 块左右,带 1MB Flash 的模块价格,也只在 RMB 13 块左右,批量的价格更便宜。 

ESP8266 结构框图: 

esp8266结构图介绍 esp8266-01工作原理_TCP

 

概述

ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266的超低功耗的UART-WiFi模块的模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。

  模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

  ESP8266 是高性能无线 SOC,以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能。 

做个比赛需要用到ESP8266模块,虽然早就和它打过交道了,但是一直没有深入了解过他,现在我准备自己玩一玩这个模块,也希望能做出来点有趣的东西,并把学习到的知识积累下来,记录在这里,分享给大家。 
买来模块我们肯定是要先调试一下,看看是不是好使。 
工具:USB转串口;杜邦线;两节1.5V电池

esp8266结构图介绍 esp8266-01工作原理_串口_02

(ESP8266烧录程序连线图)
(一)入门调试

将所有线都连接完毕之后(现在不烧程序,进入运行模式,所以按照上图接线的时候一定要将GPIO2和0针脚空位,一定要将GPIO2和0针脚空位,一定要将GPIO2和0针脚空位),USB转串口插在电脑上,打开设备管理器,查看是否扫描到端口。 
注意:这个时候模块供电成功,模块开始发射WiFi,我们在电脑上搜索一下附近的WiFi将会搜索到ESP***或者AI-THINKER***字样的WiFi。

esp8266结构图介绍 esp8266-01工作原理_esp8266结构图介绍_03

然后打开串口调试助手,ESP8266提供一个ESP8266调试工具我们可以双击这个.exe文件,然后进入工作界面。

esp8266结构图介绍 esp8266-01工作原理_串口_04

我们先点击扫描,这个时候他会扫描到串口号,选择我们USB转串口插上之后电脑显示的那个,我刚刚那个显示的是COM3,所以我就需要选择COM3,然后我们点击打开串口 
这样就可以实现电脑和模块的通信了。 
在下面的输入框输入AT然后回车,点击文本发送 
如果模块正常,各个接线也都正常的话,数据接收窗口会返回 
AT

OK

这时我们也就实现了第一步了,可以使用AT指令研究这个模块的功能了,大家可以自行阅读AT指令集。下面的链接是一些相关资源下载地址。 
ESP8266文档中心

本模块可以工作在三种模式: 
1,STA 
2 ,AP 
3 ,AP+STA 
Sta模式: Station, 类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP,一般无线网卡即工作在该模式。 
AP模式:就是和路由器一样的功能,它自己发射WiFi,终端可以连接上它,但是他不能像sta模式那样连接其他WiFi。 
AP+STA模式:它既可以自己发射WiFi供其他终端连接,又可以做终端连接其他WiFi。 
出厂设置为第三种模式! 
查看模块现在的工作模式的指令 AT+CWMODE?回车 
设置模块工作模式为1/2/3的指令为 AT+CWMODE=1/2/3回车 
设置WiFi模块的名字和密码(AP模式下) 
AT+CWSAP=”ESP8266”,”1234567890”,5,3回车 
查看版本的指令 AT+GMR回车

以下为 ESP8266 作为 softAP ,建立 TCP 服务器的举例: 
设置 WiFi 模式 : 
AT+CWMODE=3回车

设置为允许多连接: 
AT+CIPMUX=1回车

建立 TCP server: 
AT+CIPSERVER=1回车

PC 连入 ESP8266 softAP,PC 作 TCP client 连接设备。打开网络调试助手 

esp8266结构图介绍 esp8266-01工作原理_低功耗_05

输入ESP8266IP 192.168.4.1和端口号333,点击连接,输入信息发送过去,串口调试助手哪里的接受窗口会显示我们这边发送的信息。

设置端口的指令: 
发送命令:AT+CIPSERVER=1,8080(设置指令)

(二)烧录固件

烧录的准备工作: 

按照上面的烧录接线图将所有的线都接好(一定不要忘记将GPIO2接3v3将GPIO0针脚接GND) 

打开烧录软件: 

esp8266结构图介绍 esp8266-01工作原理_esp8266结构图介绍_06

 

点击右面那个齿轮选择要烧录的文件,对应好后面的数值,如果只烧录0x0000这一个文件,那么将左面方框的×去掉。设置好之后,点击操作,选择串口,一键烧录使用过程中,我发现频繁的插拔杜邦线很烦人,所以找杰哥给我焊了一个底座,这样运行的时候将模块、USB To TTL和独立电源直接插在上面就搞定了,烧录的时候需要再额外查两个杜邦线,还是很方便的,下面上图: 

esp8266结构图介绍 esp8266-01工作原理_串口_07

【注】频繁的插拔USB可能会导致电脑的USB接口假死,这时候你打开设备管理器,找到相应的驱动,卸载之后重启电脑就好了。