esp8266 AT指令

Posted kekeoutlook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了esp8266 AT指令相关的知识,希望对你有一定的参考价值。

http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/

技术分享图片

 

技术分享图片

 

注意事项

使用WiFi模块的一些细节及注意事项

  1. 模块使用3.3V供电,一定注意电源的稳定,一些USB转串口模块电源不能满足要求。

  2. 模块在连接WiFi后若断电,则会在下一次上电后自动重连。同理,模块在透传模式下断电后,下次上电仍会进入透传模式,不响应AT指令,很容易误以为模块坏了

  3. 如果断开TCP连接时没有实现完整的TCP退出流程,ESP8266 会判断为异常开,对TCP server 进行重连。

  4. AT指令一定以回车换行符”\\r\\n”结尾,但退出透传模式需发送不带回车换行的 +++

1sta模式连接WiFi演示

连接到路由器, arduino 结尾选择,技术分享图片

 

技术分享图片

 普通串口软件注意勾选“发送新行”

技术分享图片

 

 

  1. 发送 AT+CWMODE=1 指令配置模块为sta模式(参数1,2,3分别对应模式sta,AP和sta/AP)。

  2. 发送 AT+CWLAP 指令扫描当前附近WiFi,模块会返回可用AP列表。 技术分享图片

  3. 使用 AT+CWJAP="WiFi名称","WiFi密码" 连接到指定的路由器,比如我在图书馆的WiFi是 “lib-free-wlan01”,密码是“zhku-lib”,实际连接WiFi发送的指令就是 AT+CWJAP="lib-free-wlan01","zhku-lib" 

  4. 返回的“WIFI CONNECTED”说明连接成功,“WIFI GOT IP”代表模块分配到了IP。

  5. 最后可使用 AT+CWQAP 断开当前连接的WiFi。技术分享图片

2AP模式参数设置演示

连完WiFi那接下来就“开WiFi”吧!AP模式和手机开热点一样,只需设置WiFi名称和密码即可。

  1. 先使用 AT+CWMODE=2 指令配置模块为AP模式
  2. 发送 AT+CWSAP="ESP8266","12345678",3,4 设置AP的ssid为“ESP8266”,密码12345678,最后两个参数3和4分别表示信道和加密方式。
  3. 手机连上模块的WiFi,使用 AT+CWLIF 可查看当前连接到AP的客户端列表。
  4. 技术分享图片

3透传模式下WiFi模块与服务器TCP网络通讯演示

指令描述
AT+CIPSTATUS 查询网络连接信息
AT+CIPMUX 设置多连接模式
AT+CIPSTART 建立TCP连接UDP传输或者SSL连接
AT+CIPCLOSE 关闭TCP/UDP/SSL传输
AT+CIPMODE 设置透传模式
AT+CIPSEND 发送数据

打开“网络调试助手”,左侧选择“TCP服务器”,输入自定的端口号(1024-65535),点击“连接”按钮开始监听本机TCP连接请求。在进行下一步之前,请确保电脑和WiFi模块连接到同一个路由器

技术分享图片

把WiFi模块和电脑连接,在sscom确定AT指令能正常使用后,就可以开始配置TCP连接了,具体步骤如下:

  1. 根据上面“sta模式连接WiFi演示”一节把模块连上WiFi

  2. 输入指令 AT+CIPMUX=0 设置单连接

  3. 从“网络调试助手”得知本机IP和端口,输入指令 AT+CIPSTART="TCP","192.168.43.140",1234 (指令参数分别为连接类型、目标IP地址和端口号)向服务器发起TCP连接请求,握手成功并建立连接后,服务器端的“网络调试助手”就会显示客户端IP和端口信息,此时双方已做好收发数据的准备

  4. 输入指令 AT+CIPMODE=1 开启透传模式

  5. 输入命令 AT+CIPSEND 进入透传模式,此时模块会把所有串口收到的数据都从TCP端口发送至服务器,同样的,从服务器收到的数据也会从模块串口发送出去打印到sscom上。这样WiFi模块就真正成为了连接硬件与网络的桥梁,实现了串口到TCP的协议转换

  6. 若要退出透传模式返回AT指令模式,需发送不带回车换行的 +++ (取消勾选sscom的“发送新行”再发送指令即可)

  7. 技术分享图片
  8. 手机,ESP8266,电脑无线连接路由器账户 dongdong 密码 dongdong
  9. 电脑网线连接路由器 网页192.168.1.1 查询路由器当前状态,可看到三个设备分配的地址
  10. 技术分享图片

     

其他常用指令

除了上面列举的主要功能指令,ESP8266 模块还有一些常用的指令:

AT+CIOBAUD 指令用于设置串口波特率,示例: AT+CIOBAUD=9600 (设置波特率为9600)。 设置好TCP连接信息后通过 AT+SAVETRANSLINK 指令把TCP连接透传保存到Flash,掉电不丢失。重新上电后模块会自动联网建立TCP连接后进入透传模式,实现了真正意义上的透传,示例: AT+SAVETRANSLINK=1,"192.168.43.140",1234,"TCP" 。而 AT+CWSTARTSMART 和 AT+CWSTOPSMART 则时用来实现智能配置(Smart Config)的。

指令描述
AT+CIOBAUD 设置串口波特率
AT+SAVETRANSLINK 保存透传到 Flash
AT+CWSTARTSMART 开启 SmartConfig
AT+CWSTOPSMART 停止 SmartConfig 

以上是关于esp8266 AT指令的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266ESP8266通讯使用的AT指令

ESP8266 01S WIFI 网络

ESP8266通过AT指令连接TCP网络

十二高级篇WIFI模块-ESP8266

ESP8266 TCP传输AT指令顺序

ESP8266 利用单片机发送AT指令无反应