一、 ESP8266 WIFI模块调试(串口发送AT指令调试)。
ESP8266 WIFI模块的调试算是最复杂的了,虽然通信是简单的串口通信,但是要设置ESP8266连接服务器并稳定无误的将数据上传,还是非常不容易的。
在前期模块调试阶段我是使用USB转串口工具结合电脑串口调试助手来对ESP8266进行模拟ARM单片机设置ESP8266,通过查看电脑串口调试助手收到的ESP8266返回数据,来判断设置指令有没有设置成功。如图5-1所示:
图5-1 TTL串口工具连接ESP8266S实物图
连接好ESP8266模块之后,打开电脑串口调试助手,默认波特率为115200。为了验证模块连接是否正确,我们可以发送“AT”指令给ESP8266,如果返回OK,那就说明WIFI模块是好的且线路连接正确。如图5-2所示:
图5-2 ESP8266测试指令
下面我们调试测试模块在 STA 模式下的透传设置(命令成功响应都是OK)
1)设置 WIFI 模式:AT+CWMODE=1 设置为 STA 模式 响应:OK
2)重启生效AT+RST响应:OK
3)连接路由器AT+CWJAP=”xiaohai”,”xiaohai123”响应:OK 如图5-3所示:
图5-3 ESP8266连接到路由器
4)查询模块IP: AT+CIFSR 响应:192.168.1.xxx
5)在电脑上面使用网络调试助手,创建一个服务器 (模拟服务器数据接收,电脑与ESP8266要在同一个局域网即连接到同一个路由器)如图5-4所示:
图5-4 网路调试助手模拟一个局域网服务器
6)模块连接到服务器 (目前是局域网模拟,实际工作时,换成服务器IP和端口)
AT+CIPSTART="TCP","192.168.2.38",8888 响应: OK 如图5-5所示:
图5-5 ESP8266成功连接到局域网模拟服务器
7) 开启透传模式 AT+CIPMODE=1 响应:OK
8) 开始透传 AT+CIPSEND响应:OK > 如图5-6所示:
图5-6 ESP8266成功进入透传模式
现在就可以相互发数据了,如图5-7所示:
图5-7 ESP8266与服务器在透传模式下交互数据
9) 退出透传模式(透传模式下,所有AT指令都没有响应,指令也当做数据发送到服务器了)
在透传模式中,若识别到单独的一包数据“ +++”(不要发送新行),则退出透传模式。如图5-8所示:
图5-8 ESP8266退出透传模式
光对ESP8266设置也是不够的,有时候我们还得需要获取ESP8266的一些信息,其中最需要获取的就是ESP8266的网卡地址,因为本项目设计设备ID时就是用的ESP8266的网卡地址。单片机通过发“AT+CIFSR”命令来获取ESP8266的网卡地址信息,收到的信息不直接是网卡地址,而是“+CIFSR:STAMAC,<MAC address>”。此时,我们就不得不写数据处理算法来提取里面的网卡地址。其他获取ESP8266信息的处理也差不多。如图5-9所示:
图5-9 获取ESP8266网卡地址