【MQTT学习】NODEMCU(ESP8266-12F)的AT指令

Orenda ·
更新时间:2024-09-21
· 578 次阅读

官方AT固件烧录方法参考
ESP8266-12F烧录V1.7以上版本AT固件的方法

模块设置 AT—Tests AT Startup

命令

AT

返回

OK AT+RST—复位模块

命令

AT+RST

返回

OK AT+RESTORE—恢复出厂设置

命令

AT+RESTORE

响应

OK ATE—AT 命令回显

关闭回显

ATE0

打开回显

ATE1 AT+UART_CUR—当前UART设置,不保存到Flash

查询

AT+UART_CUR?

设置

AT+UART_CUR=,,,,

参数说明

: UART baud rate : data bits 5: 5-bit data 6: 6-bit data 7: 7-bit data 8: 8-bit data : stop bits 1: 1-bit stop bit 2: 1.5-bit stop bit 3: 2-bit stop bit : parity bit 0: None 1: Odd 2: Even : flow control 0: flow control is not enabled 1: enable RTS 2: enable CTS 3: enable both RTS and CTS AT+UART_DEF—默认UART配置,保存进FLASH

查询

AT+UART_DEF?

设置

AT+UART_DEF=,,,,

参数与 AT+UART_CUR命令一致

AT+CWMODE—设置WIFI模式

查询命令

AT+CWMODE?

相应

+CWMODE: OK

设置命令

AT+CWMODE=

响应

OK

参数

: 0: Null mode, WiFi RF will be disabled 1: Station mode 2: SoftAP mode 3: SoftAP+Station mode AT+CWJAP—连接到AP

查询命令

AT+CWJAP?

相应

+CWJAP:,,, OK

参数说明

Parameters: : a string parameter showing the SSID of the AP. : the AP’s MAC address. : channel : signal strength

设置命令

AT+CWJAP=,[,][,][,][,]

响应

OK 或者 +CWJAP: ERROR

参数说明

: the SSID of the target AP. Escape character syntax is needed if SSID or password contains any special characters, such as , or " or \. : password, MAX: 64-byte ASCII. []: the target APs MAC address, used when multiple APs have the same SSID. []: enable PCI Authentication, which will disable connect OPEN and WEP AP. []: enable Wi-Fi reconnection, when beacon timeout, ESP32 will reconnect automatically. []: the interval of listening to the AP's beacon,the range is (0,100], : (for reference only) 1: connection timeout. 2: wrong password. 3: cannot find the target AP. 4: connection failed. others: unknown error occurred. AT+CWQAP—与 AP 断开链接

命令

AT+CWQAP

响应

OK 建立连接 AT+CIPSTART—建立TCP连接,UDP传输或SSL连接

设置

AT+CIPSTART=,,[,][,] Multiple TCP Connections (AT+CIPMUX=1): AT+CIPSTART=,,,[,][, ]

例:连接私有云MQTT服务器

AT+CIPSTART="TCP","129.***.***.127",1883

若之前没有连接过,则响应成功连接

AT+CIPSTART="TCP","129.28.***.127",1883 CONNECT OK

若之前连接过,则响应

AT+CIPSTART="TCP","129.***.***.127",1883 ALREADY CONNECTED ERROR AT+CIPCLOSE—关闭TCP/UDP/SSL 连接

命令

AT+CIPCLOSE

响应

OK AT+CIFSR读取模块IP地址

命令

AT+CIFSR

响应

+CIFSR: +CIFSR: OK 发送数据 AT+CIPSEND—Sends Data

命令

AT+CIPSEND=

响应

OK >

跟随发送数据即可。

如果在数据传输过程中无法建立或中断连接,则系统
返回:

ERROR

如果数据传输成功,系统将返回:

SEND OK 网络测试命令 AT+PING: Ping测试

命令

AT+PING=

响应

+PING: OK

例:

AT+PING="www.baidu.com" +8 OK 登录阿里云服务平台流程 1、发送“+++”让ESP8266退出透传 2、使用AT+RESTORE,恢复出厂设置 3、ATE0,关闭回显功能 4、AT+CWMODE_CUR=1 设置当前客户端为station模式 5、AT+CWJAP=, 连接到路由器 6、AT+CIPSTART="TCP","a1a3XzsznJI.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 连接到阿里云,地址根据自己的情况进行修改。 7、AT+CIPMODE=1 进入透传模式 8、AT+CIPSEND 启动数据收发 9、发送报文、接收报文 10、退出连接前,先发送"+++"退出透传模式,设置AT+CIPMODE=0 进入正常AT命令模式。

透传模式说明:
进入透传模式后,向服务器端发送命令和接收命令就无需带AT命令,接收到的信息也没有
例如:我们要发送连接MQTT协议报文时,在AT模式下,我们需要发以下命令(标注的位置是我们发给ESP8266模块的):
AT+CIPSEND=143

OK
'>
Recv 143 bytes

SEND OK

+IPD,4: \0\0

而进入透传模式时,我们只需要发送报文数据即可,例如我们发送C0 00心跳报文,则直接发送C0 00给ESP8266模块即可

[19:29:04.971]发→◇C0 00 □ [19:29:05.055]收←◆D0 00 [19:29:14.968]发→◇C0 00 □ [19:29:15.054]收←◆D0 00 黄豆爸 原创文章 19获赞 7访问量 979 关注 私信 展开阅读全文
作者:黄豆爸



nodemcu mqtt at指令 esp8266 esp

需要 登录 后方可回复, 如果你还没有账号请 注册新账号