ESP8266使用AT指令的前提是模块已烧录AT固件,固件可以在官网下载,固件烧录这里也直接略过,可以参考其他博文
AT指令恢复出厂设置
用AT指令将ESP8266恢复出厂设置(因为之前配置了什么也不确定,直接恢复出厂)
AT指令:AT+RESTORE
模块回发数据
AT+RESTORE
OK
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79
2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
屸胣鋻;凅o|巪r$勩s刲d`勩s鋖d`勩r抎嚐dl`s$莾sd倪隳#d宑s|嘼p`鋍$s#禧'罾n'dd審嘾d€g隳#dp;${l
Ai-Thinker Technology Co. Ltd.
ready
配置工作模式
配置ESP8266工作模式为STA(试过配置成AP+STA也可行)
AT指令:AT+CWMODE=1
模块回发数据
AT+CWMODE=1
OK
模块复位
配置工作模式后,模块复位
AT指令:AT+RST
模块回发数据
AT+RST
OK
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79
2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
你僩錄r名g|弢r$勩s宭l`屸;踠鋎d`勩s揹彑l$ ;d弮;$専銓c$宑s|嘼p`鋌dr膁c潲g缋'o刣鹸l$剣d€o銓c$p;ds$
Ai-Thinker Technology Co. Ltd.
ready
连接路由
连接局域网,手机热点或路由(指令中2个双引号内分别写要连接的WiFi名和密码,需要稍微等待几秒,等待连接成功提示)
AT指令:AT+CWJAP="IOT_5G","123456789"
模块回发数据
AT+CWJAP="IOT_5G","123456789"
WIFI CONNECTED
WIFI GOT IP
OK
配置透传模式
配置ESP8266透传模式
AT指令:AT+CIPMODE=1
模块回发数据
AT+CIPMODE=1
OK
打开手机TCP Sever
手机端打开网络调试助手APP开启TCP服务器,并把服务器IP,端口号给到ESP8266,让ESP8266连接TCP服务器
连接TCP服务器
AT指令:AT+CIPSTART="TCP","192.168.3.47",8080
模块回发数据
AT+CIPSTART="TCP","192.168.3.47",8080
CONNECT
OK
在网络调试助手的数据收发窗口可以看到ESP8266已连接到TCP服务器
开启透传模式
开启ESP8266透传,在串口助手看到以下回发数据时,ESP8266已经进入透传模式
AT指令:AT+CIPSEND
模块回发数据
AT+CIPSEND
OK
>
下面是手机网络调试助手与PC端串口调试助手通过ESP8266透传进行数据交互
退出透传模式
退出透传发送 +++
(不需要加换行符)即可,像上面AT指令都需要换行发送
设置上电自动透传
上面指令都是一次性发送AT指令开启透传模式,ESP8266断电再上电后只会主动连接最后一次连接过的路由,并不会自动进入透传模式,在连接路由后,发送如下指令
AT指令:AT+SAVETRANSLINK=1,"192.168.3.47",8080,"TCP"
将TCP Sever的IP,端口号,通讯方式给到ESP8266
AT+SAVETRANSLINK=1,"192.168.3.47",8080,"TCP"
OK
当发送 AT+SAVETRANSLINK
指令,能成功收到返回的 OK
后,模块断电再上电会自动进入透传模式,这时候给ESP8266模块发送任何AT指令都不会有响应,即使TCP服务器不存在或没开启, 模块也会自动进入透传模式。
退出自动透传
退出上电自动透传模式,前提要先发送 +++
退出透传模式,再发送AT指令
AT指令:AT+SAVETRANSLINK=0
AT+SAVETRANSLINK=0
OK
备注:
如果发送 AT+CIPSEND
进不去透传模式(此时模块返回 ERROR 表示进入透传失败,手机端(TCP Client)能给8266模块发数据,8266不能给手机端发生数据),重新配置一遍ESP8266,把 AT+CWMODE = 1
换成 AT+CWMODE = 3