用户在使用CAT1模组MQTT协议对接自己的服务器,有时会遇到设备无法连接服务器问题(比如提示+ECMTCON:0,0,5连接服务器被拒绝,认证失败)。此时可以通过标准的MQTT服务器进行对比,因为用户自己的服务器一般加入校验信息,导致模组&MQTT服务器无法连接。
Eclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1,这里使用该服务器进行测试。针对该服务器更详细的介绍也可以参考https://www.jianshu.com/p/b6a75bfbe82f。
MQTT有个重要的参数QOS,因下面使用较多,这里列出便于后续查看:
一、使用指令解析
1.1 建立TCP连接
AT+ECMTOPEN=
示例:AT+ECMTOPEN=0, "test.mosquitto.org",1883 //建立 tcp
返回值:+ECMTOPEN:
1.2 创建MQTT连接
AT+ECMTCONN=
“
“
示例:AT+ECMTCONN=0 //在 mosquitto 平台上注册设备
返回值:+ECMTCONN:
1.3 订阅
AT+ECMTSUB=
示例:AT+ECMTSUB=0,1,”test”,2 //订阅 topic
返回值:+ECMTSUB:
额外指令:AT+ECMTUNS=0,4, “test” //取消订阅 topic
1.4 发布
AT+ECMTPUB=
示例:AT+ECMTPUB=0,0,0,0,"test","hello" //发送数据给 mosquitto 平台
+ECMTPUB:
额外指令:AT+ECMTDISC=0 //删除 mqtt client 和 mqtt 连接