概述
- 型号介绍
- 协议区分
- CoAP与MQTT区别
-
- LWM2M与CoAP区分
- 与ONENET连接
1)打开OneNET 网站:open.iot.10086.cn
2)登录平台,账号需要用户自己注册,我们测试账号为公司的企业账号,个人账号并未测试,登录入口如下:
3)登录账号后,进入“开发者中心”,如下图:
4)进入“多协议接入”
5)添加产品
6)填写参数
7)点击添加的“M5311_MQTT”,进入界面如下,选择“设备列表”
8)在正式设备里面选择“添加设备”
9)添加设备的参数,设备名称和鉴权信息可以自己命名,测试时我们使用M5311_MQTT和LSD 作为名字和鉴权信息,如下图:
10) 新建好设备后,如下图所示,是离线状态
在数据流里面可以查看模组上传到OneNET 的数据,更多操作里面有下发命令,可以通过平台下发数据给模组。
11) 至此OneNET 配置已经完成,下一步开始发送AT 指令,上线OneNET 平台,进行数据收发测试。
- 与ONENET平台数据收发(基于MQTT协议)
1)开机后,模组会主动推送数据:
*ATREADY: 1
+CFUN: 1
+CPIN: READY
2)模组注册上网络后,会主动的推送IP(模块注册网络需要一些时间):
+IP: 10.171.109.94
3)发送查询信息,包括AT 命令、ATI(软件版本号):
AT
OK
ATI
CMCC
M5311
M5311-MLVH1S02
M5311-MLVH1S02
OK
4)打开LED 指示灯功能和关闭休眠功能(可选):
AT+CMSYSCTRL=0,2
OK
AT+SM=LOCK //关闭睡眠模式
OK
5)查询IMEI、卡状态、IMSI、ICCID、网络注册状态和信号强度:
AT+CGSN=1 //查询IMEI/设备
+CGSN: 869975030649621
OK
AT+CPIN? //是否插卡
+CPIN: READY
OK
AT+CIMI //请求国际移动台设备标识/用户
460042094606376
OK
AT+ICCID //读取ICCID标识/卡
+ICCID: 89860400011893516476
OK
AT+CEREG? //网络注册状态
+CEREG: 0,1
OK
AT+CSQ
+CSQ: 17,6
OK
6)MQTT client 参数配置,连接OneNET 服务器:
AT+MQTTCFG="183.230.40.39",6002,"579894300",1800,"309663","LSD",1
OK
该命令配置MQTT 连接参数,onenet 服务器的ip 地址:183.230.40.39,端口号:6002,设备ID:579894300, keepalive 时间:1800,产品ID:309663,鉴权码:LSD //同时删除session
7)发送连接建立请求:
AT+MQTTOPEN=1,1,0,0,0,"",""
OK
8)向OneNET 数据流推送消息
AT+MQTTPUB="$dp",1,0,0,26,"0300177B22646F696F74223A227777772E6D6F7A752E636F227D"//格式的内容为 {“数据流名称”:”字符串”}
OK
如果成功发送数据,会返回提示信息:
+MQTTPUBACK: 1,0
参考档案:M5310-A官方文档 <M531X MQTT 使用指导_v1.3>
http://www.luyixian.cn/news_show_240809.aspx
AT+MQTTPUB=$dp,0,1,0,28, 0300197b2261223a392c2262223a392c2263223a392c2264223a397d | 上传数据 | 28为发送数据长度, 数据中:03指明数据为json格式, 0019为json字符串内容长度, 其后为json字串的hex格式 |
2.7 上报数据到平台
AT+MQTTPUB=$dp,<qos>,<retain>,<dup>,<message_len>,<message>
当AT+MQTTPUB指令用作上报消息到平台并显示功能时,需使用特定的主题“$dp”.
参数将分为 参数将分为3个部分:
<数据类型><字符长度><消息内容>
<数据类型> 03 -字符串
<字符长度> 4位 16进制计数,表示<消息内容>字符长度
<消息内容> 必须为16进制, 字符串内容格式为 {“数据流名称”:”字符串”},通过字符串16进制工具转为16进制后合入AT指令 (建议字符长度不超过128)。
在线字符串转16进制: …
在线字符串长度计算: …
如: 要往数据点 countd 传递数据 1800
消息内容为: {"countd":1800}
转换为16进制为: 7b22636f756e7464223a313830307d
消息内容长度为: 15 转为4位16进制为: 000F (字符串的长度, 即16进制长度除以2)
则 为
03000F7b22636f756e7464223a313830307d
<message_len>为 message 的长度(16进制长度除以2)
18
所以此条命令为:
AT+MQTTPUB=$dp,1,0,0,18,03000F7b22636f756e7464223a313830307d
注:上传到云平台是必须主题是"$dp"。
9)OneNET 服务器在设备列表-下发命令里面,可以直接向模组下发数据
10)关闭连接、释放资源、模组关机:
AT+MQTTDISC //关闭MQTT连接
OK
+MQTTDISC: OK
AT+MQTTDEL //释放MQTT资源
OK
AT+CPOF //模组关机
OK
POWER OFF
5主题的订阅与发送
订阅的方法:
https://blog.csdn.net/lazyduck/article/details/102727228?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158441463419724847059141%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158441463419724847059141&biz_id=0&utm_source=distribute.pc_search_result.none-task
MQTT.fx的使用方法:
https://blog.csdn.net/tiantang_1986/article/details/85101366
参考AT指令:
http://www.luyixian.cn/news_show_240809.aspx
最后
以上就是整齐面包为你收集整理的NB(M5311)与移动ONENET连接(基于MQTT协议)的全部内容,希望文章能够帮你解决NB(M5311)与移动ONENET连接(基于MQTT协议)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复