.. _MQTT-AT: MQTT AT Commands ================ :link_to_translation:`en:[English]` - :ref:`AT+MQTTUSERCFG <cmd-MQTTUSERCFG>`:设置 MQTT 用户属性 - :ref:`AT+MQTTLONGCLIENTID <cmd-MQTTLONGCLIENTID>`:设置 MQTT 客户端 ID - :ref:`AT+MQTTLONGUSERNAME <cmd-MQTTLONGUSERNAME>`:设置 MQTT 登陆用户å - :ref:`AT+MQTTLONGPASSWORD <cmd-MQTTLONGPASSWORD>`:设置 MQTT 登陆密ç - :ref:`AT+MQTTCONNCFG <cmd-MQTTCONNCFG>`:设置 MQTT 连接属性 - :ref:`AT+MQTTCONN <cmd-MQTTCONN>`:连接 MQTT Broker - :ref:`AT+MQTTPUB <cmd-MQTTPUB>`:å‘布 MQTT 消æ¯ï¼ˆå—符串) - :ref:`AT+MQTTPUBRAW <cmd-MQTTPUBRAW>`:å‘布 MQTT 消æ¯ï¼ˆäºŒè¿›åˆ¶ï¼‰ - :ref:`AT+MQTTSUB <cmd-MQTTSUB>`:订阅 MQTT Topic - :ref:`AT+MQTTUNSUB <cmd-MQTTUNSUB>`ï¼šå–æ¶ˆè®¢é˜… MQTT Topic - :ref:`AT+MQTTCLEAN <cmd-MQTTCLEAN>`:æ–å¼€ MQTT 连接 - :ref:`MQTT AT 错误ç <MQTTErrCod>` - :ref:`MQTT AT 说明 <MQTTNote>` .. _cmd-MQTTUSERCFG: :ref:`AT+MQTTUSERCFG <MQTT-AT>`:设置 MQTT 用户属性 ------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** é…ç½® MQTT 用户属性 **命令:** :: AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path"> **å“应:** :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<scheme>**:由于 ESP8266 内å˜é™åˆ¶ï¼Œä¸æ”¯æŒ MQTT over TLSï¼Œå³ ``<scheme>`` åªèƒ½å– 1 或 6。 - 1: MQTT over TCPï¼› - 2: MQTT over TLSï¼ˆä¸æ ¡éªŒè¯ä¹¦ï¼‰ï¼› - 3: MQTT over TLSï¼ˆæ ¡éªŒ server è¯ä¹¦ï¼‰ï¼› - 4: MQTT over TLS(æä¾› client è¯ä¹¦ï¼‰ï¼› - 5: MQTT over TLSï¼ˆæ ¡éªŒ server è¯ä¹¦å¹¶ä¸”æä¾› client è¯ä¹¦ï¼‰ï¼› - 6: MQTT over WebSocket(基于 TCP); - 7: MQTT over WebSocket Secure(基于 TLSï¼Œä¸æ ¡éªŒè¯ä¹¦ï¼‰ï¼› - 8: MQTT over WebSocket Secure(基于 TLSï¼Œæ ¡éªŒ server è¯ä¹¦ï¼‰ï¼› - 9: MQTT over WebSocket Secure(基于 TLS,æä¾› client è¯ä¹¦ï¼‰ï¼› - 10: MQTT over WebSocket Secure(基于 TLSï¼Œæ ¡éªŒ server è¯ä¹¦å¹¶ä¸”æä¾› client è¯ä¹¦ï¼‰ã€‚ - **<client_id>**:MQTT 客户端 ID,最大长度:256 å—节。 - **<username>**:用户å,用于登陆 MQTT broker,最大长度:64 å—节。 - **<password>**:密ç ,用于登陆 MQTT broker,最大长度:64 å—节。 - **<cert_key_ID>**:è¯ä¹¦ IDï¼Œç›®å‰ ESP-AT 仅支æŒä¸€å¥— cert è¯ä¹¦ï¼Œå‚数为 0。 - **<CA_ID>**:CA IDï¼Œç›®å‰ ESP-AT 仅支æŒä¸€å¥— CA è¯ä¹¦ï¼Œå‚数为 0。 - **<path>**:资æºè·¯å¾„,最大长度:32 å—节。 说明 ^^^^ - æ¯æ¡ AT 命令的总长度ä¸èƒ½è¶…过 256 å—节。 .. _cmd-MQTTLONGCLIENTID: :ref:`AT+MQTTLONGCLIENTID <MQTT-AT>`:设置 MQTT 客户端 ID ------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** 设置 MQTT 客户端 ID **命令:** :: AT+MQTTLONGCLIENTID=<LinkID>,<length> **å“应:** :: OK > 上述å“应表示 AT 已准备好接收 MQTT 客户端 IDï¼Œæ¤æ—¶æ‚¨å¯ä»¥è¾“入客户端 ID,当 AT 接收到的客户端 ID 长度达到 ``<length>`` åŽï¼Œè¿”回: :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<length>**:MQTT 客户端 ID 长度。范围:[1,1024]。 说明 ^^^^ - :ref:`AT+MQTTUSERCFG <cmd-MQTTUSERCFG>` 命令也å¯ä»¥è®¾ç½® MQTT 客户端 ID,二者之间的差别包括: - ``AT+MQTTLONGCLIENTID`` 命令å¯ä»¥ç”¨æ¥è®¾ç½®ç›¸å¯¹è¾ƒé•¿çš„客户端 IDï¼Œå› ä¸º ``AT+MQTTUSERCFG`` 命令的长度å—é™ï¼› - 应在设置 ``AT+MQTTUSERCFG`` åŽå†ä½¿ç”¨ ``AT+MQTTLONGCLIENTID``。 .. _cmd-MQTTLONGUSERNAME: :ref:`AT+MQTTLONGUSERNAME <MQTT-AT>`:设置 MQTT 登陆用户å ---------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 设置 MQTT 用户å **命令:** :: AT+MQTTLONGUSERNAME=<LinkID>,<length> **å“应:** :: OK > 上述å“应表示 AT 已准备好接收 MQTT 用户åï¼Œæ¤æ—¶æ‚¨å¯ä»¥è¾“å…¥ MQTT 用户å,当 AT 接收到的 MQTT 用户å长度达到 ``<length>`` åŽï¼Œè¿”回: :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<length>**:MQTT 用户å长度。范围:[1,1024]。 说明 ^^^^ - :ref:`AT+MQTTUSERCFG <cmd-MQTTUSERCFG>` 命令也å¯ä»¥è®¾ç½® MQTT 用户å,二者之间的差别包括: - ``AT+MQTTLONGUSERNAME`` 命令å¯ä»¥ç”¨æ¥è®¾ç½®ç›¸å¯¹è¾ƒé•¿çš„用户åï¼Œå› ä¸º ``AT+MQTTUSERCFG`` 命令的长度å—é™ã€‚ - 应在设置 ``AT+MQTTUSERCFG`` åŽå†ä½¿ç”¨ ``AT+MQTTLONGUSERNAME``。 .. _cmd-MQTTLONGPASSWORD: :ref:`AT+MQTTLONGPASSWORD <MQTT-AT>`:设置 MQTT 登陆密ç ------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** 设置 MQTT 密ç **命令:** :: AT+MQTTLONGPASSWORD=<LinkID>,<length> **å“应:** :: OK > 上述å“应表示 AT 已准备好接收 MQTT 密ç ï¼Œæ¤æ—¶æ‚¨å¯ä»¥è¾“å…¥ MQTT 密ç ,当 AT 接收到的 MQTT 密ç 长度达到 ``<length>`` åŽï¼Œè¿”回: :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<length>**:MQTT 密ç 长度。范围:[1,1024]。 说明 ^^^^ - :ref:`AT+MQTTUSERCFG <cmd-MQTTUSERCFG>` 命令也å¯ä»¥è®¾ç½® MQTT 密ç ,二者之间的差别包括: - ``AT+MQTTLONGPASSWORD`` å¯ä»¥ç”¨æ¥è®¾ç½®ç›¸å¯¹è¾ƒé•¿çš„密ç ï¼Œå› ä¸º ``AT+MQTTUSERCFG`` 命令的长度å—é™ï¼› - 应在设置 ``AT+MQTTUSERCFG`` åŽå†ä½¿ç”¨ ``AT+MQTTLONGPASSWORD``。 .. _cmd-MQTTCONNCFG: :ref:`AT+MQTTCONNCFG <MQTT-AT>`:设置 MQTT 连接属性 ------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 设置 MQTT 连接属性 **命令:** :: AT+MQTTCONNCFG=<LinkID>,<keepalive>,<disable_clean_session>,<"lwt_topic">,<"lwt_msg">,<lwt_qos>,<lwt_retain> **å“应:** :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<keepalive>**:MQTT ping 超时时间,å•ä½ï¼šç§’。范围:[0,7200]。默认值:0,会被强制改为 120 秒。 - **<disable_clean_session>**:设置 MQTT 清ç†ä¼šè¯æ ‡å¿—ï¼Œæœ‰å…³è¯¥å‚æ•°çš„æ›´å¤šä¿¡æ¯è¯·å‚考 MQTT 3.1.1 åè®®ä¸çš„ `Clean Session <http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf>`_ ç« èŠ‚ã€‚ - 0: 使能清ç†ä¼šè¯ - 1: ç¦ç”¨æ¸…ç†ä¼šè¯ - **<lwt_topic>**:é—嘱 topic,最大长度:128 å—节。 - **<lwt_msg>**:é—嘱 message,最大长度:64 å—节。 - **<lwt_qos>**:é—嘱 QoSï¼Œå‚æ•°å¯é€‰ 0ã€1ã€2,默认值:0。 - **<lwt_retain>**:é—嘱 retainï¼Œå‚æ•°å¯é€‰ 0 或 1,默认值:0。 .. _cmd-MQTTCONN: :ref:`AT+MQTTCONN <MQTT-AT>`:连接 MQTT Broker -------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 ESP 设备已连接的 MQTT broker **命令:** :: AT+MQTTCONN? **å“应:** :: +MQTTCONN:<LinkID>,<state>,<scheme><"host">,<port>,<"path">,<reconnect> OK 设置命令 ^^^^^^^^ **功能:** 连接 MQTT Broker **命令:** :: AT+MQTTCONN=<LinkID>,<"host">,<port>,<reconnect> **å“应:** :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<host>**:MQTT broker 域å,最大长度:128 å—节。 - **<port>**:MQTT broker 端å£ï¼Œæœ€å¤§ç«¯å£ï¼š65535。 - **<path>**:资æºè·¯å¾„,最大长度:32 å—节。 - **<reconnect>**: - 0: MQTT ä¸è‡ªåЍé‡è¿žï¼› - 1: MQTT 自动é‡è¿žï¼Œä¼šæ¶ˆè€—较多的内å˜èµ„æºã€‚ - **<state>**:MQTT 状æ€ï¼š - 0: MQTT 未åˆå§‹åŒ–ï¼› - 1: 已设置 ``AT+MQTTUSERCFG``ï¼› - 2: 已设置 ``AT+MQTTCONNCFG``ï¼› - 3: 连接已æ–开; - 4: 已建立连接; - 5: 已连接,但未订阅 topicï¼› - 6: 已连接,已订阅过 topic。 - **<scheme>**: - 1: MQTT over TCPï¼› - 2: MQTT over TLSï¼ˆä¸æ ¡éªŒè¯ä¹¦ï¼‰ï¼› - 3: MQTT over TLSï¼ˆæ ¡éªŒ server è¯ä¹¦ï¼‰ï¼› - 4: MQTT over TLS(æä¾› client è¯ä¹¦ï¼‰ï¼› - 5: MQTT over TLSï¼ˆæ ¡éªŒ server è¯ä¹¦å¹¶ä¸”æä¾› client è¯ä¹¦ï¼‰ï¼› - 6: MQTT over WebSocket(基于 TCP); - 7: MQTT over WebSocket Secure(基于 TLSï¼Œä¸æ ¡éªŒè¯ä¹¦ï¼‰ï¼› - 8: MQTT over WebSocket Secure(基于 TLSï¼Œæ ¡éªŒ server è¯ä¹¦ï¼‰ï¼› - 9: MQTT over WebSocket Secure(基于 TLS,æä¾› client è¯ä¹¦ï¼‰ï¼› - 10: MQTT over WebSocket Secure(基于 TLSï¼Œæ ¡éªŒ server è¯ä¹¦å¹¶ä¸”æä¾› client è¯ä¹¦ï¼‰ã€‚ .. _cmd-MQTTPUB: :ref:`AT+MQTTPUB <MQTT-AT>`:å‘布 MQTT 消æ¯ï¼ˆå—符串) --------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 通过 topic å‘布 MQTT **å—符串** 消æ¯ï¼Œè‹¥è¦å‘布 **二进制** 消æ¯ï¼Œè¯·ä½¿ç”¨ :ref:`AT+MQTTPUBRAW <cmd-MQTTPUBRAW>` 命令。 **命令:** :: AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain> **å“应:** :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<topic>**:MQTT topic,最大长度:128 å—节。 - **<data>**:MQTT å—符串消æ¯ã€‚ - **<qos>**:å‘布消æ¯çš„ QoSï¼Œå‚æ•°å¯é€‰ 0ã€1ã€æˆ– 2,默认值:0。 - **<retain>**:å‘布 retain。 说明 ^^^^ - æ¯æ¡ AT 命令的总长度ä¸èƒ½è¶…过 256 å—节。 - 本命令ä¸èƒ½å‘逿•°æ® ``\0``,若需è¦å‘é€è¯¥æ•°æ®ï¼Œè¯·ä½¿ç”¨ :ref:`AT+MQTTPUBRAW <cmd-MQTTPUBRAW>` 命令。 .. _cmd-MQTTPUBRAW: :ref:`AT+MQTTPUBRAW <MQTT-AT>`:å‘布 MQTT 消æ¯ï¼ˆäºŒè¿›åˆ¶ï¼‰ ------------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** 通过 topic å‘布 MQTT **二进制** æ¶ˆæ¯ **命令:** :: AT+MQTTPUBRAW=<LinkID>,<"topic">,<length>,<qos>,<retain> **å“应:** :: OK > ç¬¦å· ``>`` 表示 AT å‡†å¤‡å¥½æŽ¥æ”¶ä¸²å£æ•°æ®ï¼Œæ¤æ—¶æ‚¨å¯ä»¥è¾“入数æ®ï¼Œå½“æ•°æ®é•¿åº¦è¾¾åˆ°å‚æ•° ``<length>`` 的值时,数æ®ä¼ 输开始。 è‹¥ä¼ è¾“æˆåŠŸï¼Œåˆ™ AT 返回: :: +MQTTPUB:OK è‹¥ä¼ è¾“å¤±è´¥ï¼Œåˆ™ AT 返回: :: +MQTTPUB:FAIL 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<topic>**:MQTT topic,最大长度:128 å—节。 - **<length>**:MQTT 消æ¯é•¿åº¦ï¼Œä¸åŒ ESP 设备的最大长度ä¸åŒï¼š - 对于 ESP32 设备:最大长度å—到å¯åˆ©ç”¨å†…å˜çš„é™åˆ¶ï¼› - 对于 ESP8266 设备,最大长度å—到å¯åˆ©ç”¨å†…å˜å’Œ ``MQTT_BUFFER_SIZE_BYTE`` å®çš„é™åˆ¶ã€‚该å®çš„默认值为 ``512``,å¯åœ¨ ``build.py menuconfig`` ä¸è®¾ç½®å®ƒçš„å€¼ï¼Œä»¥æ¤æ›´æ”¹å¯¹æœ€å¤§é•¿åº¦çš„é™åˆ¶ã€‚该å®çš„值 = 消æ¯çš„æœ€å¤§é•¿åº¦ + MQTT 报头长度(å–决于 topic å称的长度)。 - **<qos>**:å‘布消æ¯çš„ QoSï¼Œå‚æ•°å¯é€‰ 0ã€1ã€æˆ– 2,默认值:0。 - **<retain>**:å‘布 retain。 .. _cmd-MQTTSUB: :ref:`AT+MQTTSUB <MQTT-AT>`:订阅 MQTT Topic -------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询已订阅的 topic **命令:** :: AT+MQTTSUB? **å“应:** :: +MQTTSUB:<LinkID>,<state>,<"topic1">,<qos> +MQTTSUB:<LinkID>,<state>,<"topic2">,<qos> +MQTTSUB:<LinkID>,<state>,<"topic3">,<qos> ... OK 设置命令 ^^^^^^^^ **功能:** 订阅指定 MQTT topic 的指定 QoS,支æŒè®¢é˜…多个 topic **命令:** :: AT+MQTTSUB=<LinkID>,<"topic">,<qos> **å“应:** :: OK 当 AT 接收到已订阅的 topic çš„ MQTT æ¶ˆæ¯æ—¶ï¼Œè¿”回: :: +MQTTSUBRECV:<LinkID>,<"topic">,<data_length>,data 若已订阅过该 topic,则返回: :: ALREADY SUBSCRIBE 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<state>**:MQTT 状æ€ï¼š - 0: MQTT 未åˆå§‹åŒ–ï¼› - 1: 已设置 ``AT+MQTTUSERCFG``ï¼› - 2: 已设置 ``AT+MQTTCONNCFG``ï¼› - 3: 连接已æ–开; - 4: 已建立连接; - 5: 已连接,但未订阅 topicï¼› - 6: 已连接,已订阅过 MQTT topic。 - **<topic>**:订阅的 topic。 - **<qos>**:订阅的 QoS。 .. _cmd-MQTTUNSUB: :ref:`AT+MQTTUNSUB <MQTT-AT>`ï¼šå–æ¶ˆè®¢é˜… MQTT Topic -------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** å®¢æˆ·ç«¯å–æ¶ˆè®¢é˜…指定 topic,å¯å¤šæ¬¡è°ƒç”¨æœ¬å‘½ä»¤ï¼Œä»¥å–消订阅ä¸åŒçš„ topic。 **命令:** :: AT+MQTTUNSUB=<LinkID>,<"topic"> **å“应:** :: OK 若未订阅过该 topic,则返回: :: NO UNSUBSCRIBE OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 - **<topic>**:MQTT topic,最大长度:128 å—节。 .. _cmd-MQTTCLEAN: :ref:`AT+MQTTCLEAN <MQTT-AT>`:æ–å¼€ MQTT 连接 ------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** æ–å¼€ MQTT 连接,释放资æºã€‚ **命令:** :: AT+MQTTCLEAN=<LinkID> **å“应:** :: OK 傿•° ^^^^ - **<LinkID>**:当å‰ä»…æ”¯æŒ link ID 0。 .. _MQTTErrCod: :ref:`MQTT AT 错误ç <MQTT-AT>` ------------------------------------- MQTT 错误ç 以 ``ERR CODE:0x<%08x>`` 形弿‰“å°ã€‚ .. list-table:: :header-rows: 1 :widths: 15 5 * - 错误类型 - 错误ç * - AT_MQTT_NO_CONFIGURED - 0x6001 * - AT_MQTT_NOT_IN_CONFIGURED_STATE - 0x6002 * - AT_MQTT_UNINITIATED_OR_ALREADY_CLEAN - 0x6003 * - AT_MQTT_ALREADY_CONNECTED - 0x6004 * - AT_MQTT_MALLOC_FAILED - 0x6005 * - AT_MQTT_NULL_LINK - 0x6006 * - AT_MQTT_NULL_PARAMTER - 0x6007 * - AT_MQTT_PARAMETER_COUNTS_IS_WRONG - 0x6008 * - AT_MQTT_TLS_CONFIG_ERROR - 0x6009 * - AT_MQTT_PARAM_PREPARE_ERROR - 0x600A * - AT_MQTT_CLIENT_START_FAILED - 0x600B * - AT_MQTT_CLIENT_PUBLISH_FAILED - 0x600C * - AT_MQTT_CLIENT_SUBSCRIBE_FAILED - 0x600D * - AT_MQTT_CLIENT_UNSUBSCRIBE_FAILED - 0x600E * - AT_MQTT_CLIENT_DISCONNECT_FAILED - 0x600F * - AT_MQTT_LINK_ID_READ_FAILED - 0x6010 * - AT_MQTT_LINK_ID_VALUE_IS_WRONG - 0x6011 * - AT_MQTT_SCHEME_READ_FAILED - 0x6012 * - AT_MQTT_SCHEME_VALUE_IS_WRONG - 0x6013 * - AT_MQTT_CLIENT_ID_READ_FAILED - 0x6014 * - AT_MQTT_CLIENT_ID_IS_NULL - 0x6015 * - AT_MQTT_CLIENT_ID_IS_OVERLENGTH - 0x6016 * - AT_MQTT_USERNAME_READ_FAILED - 0x6017 * - AT_MQTT_USERNAME_IS_NULL - 0x6018 * - AT_MQTT_USERNAME_IS_OVERLENGTH - 0x6019 * - AT_MQTT_PASSWORD_READ_FAILED - 0x601A * - AT_MQTT_PASSWORD_IS_NULL - 0x601B * - AT_MQTT_PASSWORD_IS_OVERLENGTH - 0x601C * - AT_MQTT_CERT_KEY_ID_READ_FAILED - 0x601D * - AT_MQTT_CERT_KEY_ID_VALUE_IS_WRONG - 0x601E * - AT_MQTT_CA_ID_READ_FAILED - 0x601F * - AT_MQTT_CA_ID_VALUE_IS_WRONG - 0x6020 * - AT_MQTT_CA_LENGTH_ERROR - 0x6021 * - AT_MQTT_CA_READ_FAILED - 0x6022 * - AT_MQTT_CERT_LENGTH_ERROR - 0x6023 * - AT_MQTT_CERT_READ_FAILED - 0x6024 * - AT_MQTT_KEY_LENGTH_ERROR - 0x6025 * - AT_MQTT_KEY_READ_FAILED - 0x6026 * - AT_MQTT_PATH_READ_FAILED - 0x6027 * - AT_MQTT_PATH_IS_NULL - 0x6028 * - AT_MQTT_PATH_IS_OVERLENGTH - 0x6029 * - AT_MQTT_VERSION_READ_FAILED - 0x602A * - AT_MQTT_KEEPALIVE_READ_FAILED - 0x602B * - AT_MQTT_KEEPALIVE_IS_NULL - 0x602C * - AT_MQTT_KEEPALIVE_VALUE_IS_WRONG - 0x602D * - AT_MQTT_DISABLE_CLEAN_SESSION_READ_FAILED - 0x602E * - AT_MQTT_DISABLE_CLEAN_SESSION_VALUE_IS_WRONG - 0x602F * - AT_MQTT_LWT_TOPIC_READ_FAILED - 0x6030 * - AT_MQTT_LWT_TOPIC_IS_NULL - 0x6031 * - AT_MQTT_LWT_TOPIC_IS_OVERLENGTH - 0x6032 * - AT_MQTT_LWT_MSG_READ_FAILED - 0x6033 * - AT_MQTT_LWT_MSG_IS_NULL - 0x6034 * - AT_MQTT_LWT_MSG_IS_OVERLENGTH - 0x6035 * - AT_MQTT_LWT_QOS_READ_FAILED - 0x6036 * - AT_MQTT_LWT_QOS_VALUE_IS_WRONG - 0x6037 * - AT_MQTT_LWT_RETAIN_READ_FAILED - 0x6038 * - AT_MQTT_LWT_RETAIN_VALUE_IS_WRONG - 0x6039 * - AT_MQTT_HOST_READ_FAILED - 0x603A * - AT_MQTT_HOST_IS_NULL - 0x603B * - AT_MQTT_HOST_IS_OVERLENGTH - 0x603C * - AT_MQTT_PORT_READ_FAILED - 0x603D * - AT_MQTT_PORT_VALUE_IS_WRONG - 0x603E * - AT_MQTT_RECONNECT_READ_FAILED - 0x603F * - AT_MQTT_RECONNECT_VALUE_IS_WRONG - 0x6040 * - AT_MQTT_TOPIC_READ_FAILED - 0x6041 * - AT_MQTT_TOPIC_IS_NULL - 0x6042 * - AT_MQTT_TOPIC_IS_OVERLENGTH - 0x6043 * - AT_MQTT_DATA_READ_FAILED - 0x6044 * - AT_MQTT_DATA_IS_NULL - 0x6045 * - AT_MQTT_DATA_IS_OVERLENGTH - 0x6046 * - AT_MQTT_QOS_READ_FAILED - 0x6047 * - AT_MQTT_QOS_VALUE_IS_WRONG - 0x6048 * - AT_MQTT_RETAIN_READ_FAILED - 0x6049 * - AT_MQTT_RETAIN_VALUE_IS_WRONG - 0x604A * - AT_MQTT_PUBLISH_LENGTH_READ_FAILED - 0x604B * - AT_MQTT_PUBLISH_LENGTH_VALUE_IS_WRONG - 0x604C * - AT_MQTT_RECV_LENGTH_IS_WRONG - 0x604D * - AT_MQTT_CREATE_SEMA_FAILED - 0x604E * - AT_MQTT_CREATE_EVENT_GROUP_FAILED - 0x604F * - AT_MQTT_URI_PARSE_FAILED - 0x6050 * - AT_MQTT_IN_DISCONNECTED_STATE - 0x6051 * - AT_MQTT_HOSTNAME_VERIFY_FAILED - 0x6052 .. _MQTTNote: :ref:`MQTT AT 说明 <MQTT-AT>` ------------------------------- - 一般æ¥è¯´ï¼ŒAT MQTT 命令都会在 10 秒内å“应,但 ``AT+MQTTCONN`` 命令除外。例如,如果路由器ä¸èƒ½ä¸Šç½‘,命令 ``AT+MQTTPUB`` 会在 10 秒内å“应,但 ``AT+MQTTCONN`` 命令在网络环境ä¸å¥½çš„æƒ…况下,å¯èƒ½éœ€è¦æ›´å¤šçš„æ—¶é—´ç”¨æ¥é‡ä¼ æ•°æ®åŒ…。 - 如果 ``AT+MQTTCONN`` 是基于 TLS 连接,æ¯ä¸ªæ•°æ®åŒ…的超时时间为 10 ç§’ï¼Œåˆ™æ€»è¶…æ—¶æ—¶é—´ä¼šæ ¹æ®æ¡æ‰‹æ•°æ®åŒ…的数é‡è€Œå˜å¾—更长。 - 当 MQTT 连接æ–开时,会æç¤º ``+MQTTDISCONNECTED:<LinkID>`` 消æ¯ã€‚ - 当 MQTT 连接建立时,会æç¤º ``+MQTTCONNECTED:<LinkID>,<scheme>,<"host">,port,<"path">,<reconnect>`` 消æ¯ã€‚