MQTT使用流程

## 1 MQTT client 参数配置 AT+MQTTCFG="183.230.40.39",6002,"528123244",60,"245878","123465",1 //配置服务器及账户信息 ## 2 连接-订阅-推送-取消订阅 AT+MQTTOPEN=1,1,1,1,1,"","" 发送连接建立请求 OK +MQTTOPEN:OK 连接成功 AT+MQTTSUB="topic",1 订阅主题 topic +MQTTSUBACK:1,1,pyr 订阅成功响应 AT+MQTTPUB="topic",1,1,0,0,"abc" 发布数据,数据内容为字符串 abc +MQTTPUBACK:1,0 发布数据响应,发布成功 AT+MQTTPUB="topic",1,0,0,3,"7E7A7A" 向已订阅主题 topic发布数据,输入十六进 制模式,此时终端将收到服务器下发的 publish 数据 +MQTTPUBACK:3,0 发布数据响应 +MQTTPUBLISH:0,1,0,1,topic,3,~zz 同时接收到订阅主题 topic下发数据 AT+MQTTPUB="topic",1,0,0,0,"abcdef" 向订阅主题发布数据,输入字符串数据 +MQTTPUBACK:4,0 收到发布响应 +MQTTPUBLISH:0,1,0,1,topic,6,abcdef 收发主题 topic下发消息 AT+MQTTUNSUB="topic" 取消订阅 +MQTTUNSUBACK:5,topic 取消订阅响应 AT+MQTTPUB="topic",1,0,0,0,"abcdef" 再次向 topic发布数据 +MQTTPUBACK:6,0 发布响应,此时不再收到 topic下发消息 ## 3 断开连接-销毁参数配置 AT+MQTTDISC 断开连接 AT+MQTTDEL 释放资源,之后可以再次使用+MQTTCFG 进行配置 ## 4 关于连接断开问题的说明 在使用模组 MQTT 功能时,如果在连接登录状态下模组在不做数据业务时(即未检测到服务 器下发数据),将按照+MQTTCFG 中配置的 KeepAlive 参数间隔时间触发发送心跳包,以检测 连接状态,当心跳连续三次(每次间隔 KeepAlive)不可达,将触发重连机制,每隔一定时 间重连一次,重连三次不成功即放弃重连,后续策略需要根据应用场景制定,一定时间间隔 如重启模组或重新发送+MQTTOPEN 发起连接请求。如果通过 AT+MQTTDISC 命令主动断开,将 不会触发重连。 +MQTTPINGRESP:OK 收到心跳响应 +MQTTPINGRESP:OK 收到心跳响应 +MQTTTO:5 第一次心跳超时 +MQTTTO:5 第二次心跳超时 +MQTTTO:5 第三次心跳超时 +MQTTREC:0 第一次重连 +MQTTREC:1 第二次重连 +MQTTREC:2 第三次重连 +MQTTDISC:OK 重连失败,断开提示