ESP8266 是一个带完整 WiFi 功能、 同时带一个 32bit MCU 的 SoC,可以取代原 Arduino 核心板 + WiFi 扩展板完成的大部分应用。
最重要的,他的价格,只有 RMB 10 块左右,带 1MB Flash 的模块价格,也只在 RMB 13 块左右,批量的价格更便宜。
ESP8266 结构框图:
以上内容摘自http://wiki.jackslab.org/ESP8266
####概述
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的信息和资源可参考下面的链接:
ESP8266 系列模组专题
做个比赛需要用到ESP8266模块,虽然早就和它打过交道了,但是一直没有深入了解过他,现在我准备自己玩一玩这个模块,也希望能做出来点有趣的东西,并把学习到的知识积累下来,记录在这里,分享给大家。
买来模块我们肯定是要先调试一下,看看是不是好使。
工具:USB转串口;杜邦线;两节1.5V电池
(ESP8266烧录程序连线图)
#####(一)入门调试
将所有线都连接完毕之后(现在不烧程序,进入运行模式,所以按照上图接线的时候一定要将GPIO2和0针脚空位,一定要将GPIO2和0针脚空位,一定要将GPIO2和0针脚空位),USB转串口插在电脑上,打开设备管理器,查看是否扫描到端口。
注意:这个时候模块供电成功,模块开始发射WiFi,我们在电脑上搜索一下附近的WiFi将会搜索到ESP***或者AI-THINKER***字样的WiFi。
然后打开串口调试助手,ESP8266提供一个ESP8266调试工具我们可以双击这个.exe文件,然后进入工作界面。
我们先点击扫描,这个时候他会扫描到串口号,选择我们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回车 // softAP+station mode
设置为允许多连接:
AT+CIPMUX=1回车
建立 TCP server:
AT+CIPSERVER=1回车 // 默认端口default port = 333
PC 连入 ESP8266 softAP,PC 作 TCP client 连接设备。打开网络调试助手
输入ESP8266IP 192.168.4.1和端口号333,点击连接,输入信息发送过去,串口调试助手哪里的接受窗口会显示我们这边发送的信息。
设置端口的指令:
发送命令:AT+CIPSERVER=1,8080(设置指令)
推荐新手必看的教程:ESP8266新手入门调试指导(补全)
#####(二)烧录固件
烧录的准备工作:
按照上面的烧录接线图将所有的线都接好(一定不要忘记将GPIO2接3v3将GPIO0针脚接GND)
打开烧录软件:
点击右面那个齿轮选择要烧录的文件,对应好后面的数值,如果只烧录0x0000这一个文件,那么将左面方框的×去掉。设置好之后,点击操作,选择串口,一键烧录
使用过程中,我发现频繁的插拔杜邦线很烦人,所以找杰哥给我焊了一个底座,这样运行的时候将模块、USB To TTL和独立电源直接插在上面就搞定了,烧录的时候需要再额外查两个杜邦线,还是很方便的,下面上图:
【注】频繁的插拔USB可能会导致电脑的USB接口假死,这时候你打开设备管理器,找到相应的驱动,卸载之后重启电脑就好了。