中移ML305 cat.1模组连接OneNet平台(MQTTS)


说明:本文档参考OneNet开发文档 https://open.iot.10086.cn/doc/mqtt/book/get-start/login.html

1、OneNet平台的操作流程

账户注册

登录OneNet平台https://open.iot.10086.cn/,点击首页右上角的“注册”按钮,注册账号,填写用户名、用户密码、有效手机号码,点击获取验证码,查看短信验证码,并完成注册;完成后登录,登录后,点击右上角“开发者中心”,进入OneNET服务控制台。

账户认证

个人用户可以不用认证,直接用于测试就好,因此跳过该步骤

创建产品

在OneNET服务控制台,通过左边栏产品导航进入 MQTT物联网套件,点击右上角的 添加产品,在弹出页面中按照提示填写产品的基本信息,进行产品创建

需要记录产品ID,后续会使用

添加设备

点击产品列表中产品信息,进入产品详情,点击左侧 设备列表,进入设备列表,点击右侧 添加设备,编辑设备名称 与 设备描述,点击 添加,完成添加设备

1、需要记录设备名称和设备key
2、设备名称为用户自定义设备唯一识别码,该产品下唯一
3、批量创建设备时可以使用IMEI作为设备名称

2、MQTT.fx连接测试

MQTT客户端下载链接:http://www.jensd.de/apps/mqttfx/1.7.1/

客户端配置

打开MQTT.fx客户端,进入客户端配置页面,
在这里插入图片描述
配置内容说明
在这里插入图片描述
图片标注解析:

1、新建一个配置文件
2、配置文件名称自定义
3、OneNET平台MQTT接入服务地址,参考https://open.iot.10086.cn/doc/mqtt/book/device-develop/manual.html?h=183.230.40.96
4、必须为设备名称
5、username必须为产品ID,password必须是token,token算法参考:https://open.iot.10086.cn/doc/mqtt/book/manual/auth/token.html

注意问题点:

1、OneNet-token计算工具V1.0.0版本软件中的et为时间戳
2、token算法示例-python中没有设备名称,因此得到的token不能使用,需要简单修改下python代码,如下图
在这里插入图片描述

连接OneNet并收发数据

连接

在这里插入图片描述

注意事项:
1、点击连接后马上结束连接,可能原因是token失效,解决方法:重新生成Token,并重新配置

连接成功效果如下两张图:
在这里插入图片描述
在这里插入图片描述

订阅和发布

相关知识参考MQTT协议

向OneNet平台发布消息

参考OneNet开发文档:https://open.iot.10086.cn/doc/mqtt/book/device-develop/topics/dp-topics.html

系统topic用途QoS可订阅可发布
$sys/{pid}/{device-name}/dp/post/json设备上传数据点0/1
$sys/{pid}/{device-name}/dp/post/json/accepted系统通知"设备上传数据点成功"0
$sys/{pid}/{device-name}/dp/post/json/rejected系统通知"设备上传数据点失败"0

1、订阅接收通知主题,如下图:
在这里插入图片描述
2、发布主题,如下图:
在这里插入图片描述
3、发布后OneNet平台回复确认内容,如下图,测试完成
在这里插入图片描述

注意问题:
必须先订阅接收通知主题,否则发布后就不会收到响应结果

接收OneNet平台命令

参考OneNet开发文档:https://open.iot.10086.cn/doc/mqtt/book/device-develop/topics/cmd-topics.html
1、MQTT模拟工具订阅主题
通过通配符的方式进行订阅$sys/{pid}/{device-name}/cmd/request/+,或者$sys/{pid}/{device-name}/cmd/#
2、OneNet平台发送命令
在这里插入图片描述
在这里插入图片描述

3、MQTT模拟工具回复
在这里插入图片描述
在这里插入图片描述
注意:

回复时CMDID必须与下发的CMDID保持一致
4、命令回复结果通知
在这里插入图片描述

3、Cat.1的连接测试

注意,本例使用AT指令测试

确认Cat.1驻网成功

使用AT+CEREG?AT+CGACT=1,1指令确认驻网情况,如下图:
在这里插入图片描述

测试MQTT连接

参考模块资料:ML305_OneMO_MQTT用户手册
设置 MQTT 连接参数并建立连接:AT+MMQTTCON

发→◇AT+MMQTTCON=0,“test.mosquitto.org”,1883,“MyClient1”
收←◆AT+MMQTTCON=0,“test.mosquitto.org”,1883,“MyClient1”
OK
收←◆
+MMQTTURC: 0,“connack”,0,0
+MMQTTURC: 0,“state”,0
+MMQTTCON: 0,0

订阅 MQTT 主题

发→◇AT+MMQTTSUB=0,"/TestTopic"
收←◆AT+MMQTTSUB=0,"/TestTopic"
OK
收←◆
+MMQTTURC: 0,“suback”,2,0
+MMQTTSUB: 0,0

发布 MQTT 消息

发→◇AT+MMQTTPUB=0,"/TestTopic “,10
收←◆AT+MMQTTPUB=0,”/TestTopic ",10
收←◆+MMQTTPUB: 0,0,10

心跳包

[14:37:25.453]收←◆+MMQTTURC: 0,“pingresp”
[14:38:25.583]收←◆+MMQTTURC: 0,“pingresp”

断开 MQTT 连接

[14:38:55.615]发→◇AT+MMQTTDISCON=0
[14:38:55.620]收←◆AT+MMQTTDISCON=0
OK
[14:38:56.774]收←◆
+MMQTTDISCON: 0,0

连接OneNet

连接

发→◇AT+MMQTTCON=0,“183.230.40.96”,1883,“hr_test”,“391834”,“version=2018-10-31&res=products%2F391834%2Fdevices%2Fhr_test&et=1608019025&method=sha1&sign=WInDmvEUzvDHIFz1LCNFgTJ0y0E%3D”
OK
收←◆
+MMQTTURC: 0,“connack”,0,0
+MMQTTURC: 0,“state”,0
+MMQTTCON: 0,0

注意事项:

1、“hr_test”:设备名
2、“391834”:产品ID
3、“vers……3D”:password,根据token算法计算,有有效期

订阅

发→◇AT+MMQTTSUB=0,"$sys/391834/hr_test/dp/post/json/accepted"
OK
收←◆
+MMQTTURC: 0,“suback”,2,0
+MMQTTSUB: 0,0

发布
方式1:使用 <CTRL+Z>发送数据

AT+MMQTTPUB=0,"$sys/391834/hr_test/dp/post/json",0
>{“id”: 123,“dp”: {“temperatrue”: [{“v”: 50,}],“power”: [{“v”: 5.6,}]}}
<CTRL+Z>发送数据
OK
收←◆
+MMQTTPUB: 0,0,72
收←◆+MMQTTURC: 0,“publish”,0,0,0,0,41,10
$sys/391834/hr_test/dp/post/json/accepted
{“id”:123}

方式2:用户输入发送长度
在这里插入图片描述
断开 MQTT 连接

发→◇AT+MMQTTDISCON=0
OK
收←◆+MMQTTDISCON: 0,0

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值