AT
工程:
AT
文档:/
自 commit: 8ebdee924
之后, ESP-AT
支持 MQTT
系列 AT
指令, 基于 AT
开发的客户可以直接参考本文下述命令, 快速使用 AT+MQTT
连接对应的 Broker
.
使用 AT+MQTT
前, 请先开启 AT+MQTT
功能:
make menuconfig
-> Component config
-> AT
-> AT MQTT command support
命令列表
AT+MQTTUSERCFG
- 配置 MQTT 用户属性AT+MQTTCONNCFG
- 配置 MQTT 连接属性AT+MQTTCLIENTID
- 配置 MQTT 客户端 IDAT+MQTTUSERNAME
- 配置 MQTT 登录用户名AT+MQTTPASSWORD
- 配置 MQTT 登录密码AT+MQTTCONN
- 连接/查询 MQTT BrokerAT+MQTTPUB
- 发布字符串消息AT+MQTTPUBRAW
- 发布二进制消息AT+MQTTSUB
- 订阅/查询主题AT+MQTTUNSUB
- 取消订阅主题AT+MQTTCLEAN
- 关闭连接, 释放资源设置指令:
AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">
功能:
设置 MQTT
用户配置
响应:
OK
或
ERROR
参数说明:
MQTT over TCP
MQTT over TLS(no certificate verify)
MQTT over TLS(verify server certificate)
MQTT over TLS(provide client certificate)
MQTT over TLS(verify server certificate and provide client certificate)
MQTT over WebSocket(based on TCP)
MQTT over WebSocket Secure(based on TLS, no certificate verify)
MQTT over WebSocket Secure(based on TLS, verify server certificate)
MQTT over WebSocket Secure(based on TLS, provide client certificate)
MQTT over WebSocket Secure(based on TLS, verify server certificate and provide client certificate)
MQTT
client
ID
, 用于标志 client
身份, 最长 256 字节MQTT
broker
的 username
, 最长 64 字节MQTT
broker
的 password
, 最长 64 字节ID
, 目前支持一套 cert
证书, 参数为 0CA ID
, 目前支持一套 CA
证书, 参数为 0设置指令:
AT+MQTTCLIENTID=<LinkID><"client_id">
功能:
设置 MQTT
客户端 ID, 将会覆盖 AT+MQTTUSERCFG
中 clientID 参数,
用户可通过 AT+MQTTCLIENTID
设置较长的 clientID.
响应:
OK
或
ERROR
参数说明:
MQTT
client
ID
, 用于标志 client
身份, 最长 256 字节设置指令:
AT+MQTTUSERNAME=<LinkID><"username">
功能:
设置 MQTT
登录用户名, 将会覆盖 AT+MQTTUSERCFG
中 username 参数,
用户可通过 AT+MQTTUSERNAME
设置较长的用户名.
响应:
OK
或
ERROR
参数说明:
MQTT
username
, 用于登录 MQTT broker, 最长 256 字节设置指令:
AT+MQTTPASSWORD=<LinkID><"password">
功能:
设置 MQTT
登录密码, 将会覆盖 AT+MQTTUSERCFG
中 password 参数,
用户可通过 AT+MQTTPASSWORD
设置较长的密码.
响应:
OK
或
ERROR
参数说明:
MQTT
password
, 用于登录 MQTT broker, 最长 256 字节设置指令:
AT+MQTTCONNCFG=<LinkID>,<keepalive>,<disable_clean_session>,<"lwt_topic">,<"lwt_msg">,<lwt_qos>,<lwt_retain>
功能:
设置 MQTT
连接配置
响应:
OK
或
ERROR
参数说明:
MQTT
PING
超时时间,范围为 [60, 7200], 单位为秒. 默认 120
MQTT
清理会话标志, 参数为 0 或 1, 默认为 0topic
, 最长 64 字节message
, 最长 64 字节QoS
, 参数可选 0, 1, 2, 默认为 0retain
, 参数可选 0, 1, 默认为 0设置指令:
AT+MQTTCONN=<LinkID>,<"host">,<port>,<reconnect>
功能:
连接指定 MQTT broker
响应:
OK
或
ERROR
查询指令:
AT+MQTTCONN?
功能:
查询 AT
已连接的 MQTT broker
响应:
+MQTTCONN:<LinkID>,<state>,<scheme><"host">,<port>,<"path">,<reconnect>
OK
参数说明:
MQTT broker
域名, 最大 128 字节MQTT broker
端口, 最大 65535MQTT
当前状态, 状态说明如下: MQTTUSERCFG
MQTTCONNCFG
topic
topic
MQTT over TCP
MQTT over TLS(no certificate verify)
MQTT over TLS(verify server certificate)
MQTT over TLS(provide client certificate)
MQTT over TLS(verify server certificate and provide client certificate)
MQTT over WebSocket(based on TCP)
MQTT over WebSocket Secure(based on TLS, no certificate verify)
MQTT over WebSocket Secure(based on TLS, verify server certificate)
MQTT over WebSocket Secure(based on TLS, provide client certificate)
MQTT over WebSocket Secure(based on TLS, verify server certificate and provide client certificate)
设置指令:
AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>
功能:
在 LinkID
上通过 topic
发布数据 data
, 其中 data
为字符串消息, 若要发布二进制,请使用 AT+MQTTPUBRAW
响应:
OK
或
ERROR
参数说明:
data
不能包含