随着NBIOT技术的飞速发展,各大知名互联网厂商以及电信运营商均推出了自己的物联网平台。各大物联网平台也提供了各种各样的接入方式如LWM2M、COAP、MQTT等,不过遗憾的是,各家平台在具体的接入流程上还是存在这样,那样的区别,着实给模组厂家带来了不小的麻烦,很难用一套标准去适配所有的平台,只能不断的定制模组的功能,虽然各大平台都提供了设备接入的SDK,但因为成本原因模组的资源往往也是受限的,不可能集成多套SDK,而且随着平台的野心越来越大,各种定制要求也越来越多(比如Alios)。在各大物联网平台中其中以阿里云和移动的ONENET平台表现比较突出和OPEN。
本文主要讲述如何使用移远的BC28模组通过MQTT协议接入到移动ONENET平台。
一、平台侧准备:
首先在浏览器中打开ONENET平台(https://open.iot.10086.cn/),百度直接搜索ONENET即可。首次登陆,需要按提示,注册。
注册,登陆成功后,打开 开发文档->硬件接入 (https://open.iot.10086.cn/doc/art454.html#107)找到MQTT对应的位置,点击阅读MQTT接入文档,按流程操作,创建产品和设备。也可参考如下步骤:
点击开发者中心,进入开发者中心,点击右上角的创建产品,开始创建产品。
在添加产品子对话框中,按提示填写和勾选相应的信息,需要注意,设备接入方式选择公开协议、连网方式不要选择NBIOT(NBIOT仅支持LWM2M协议接入)、设备接入协议选择MQTT。如下图:完成后点击确定,完成产品创建
创建成功后,弹出提示对话框,点击立即添加设备,进入添加设备对话框
在设备添加对话框中输入和勾选相应的信息,如下图,点击接入设备,完成设备添加。此处的鉴权信息需要牢记,接入的时候会用到
此时平台侧的工作已完成,接下来需要查看相应的产品和设备,获取产品ID、设备ID、和填入的鉴权信息。
二、模组端接入,本小节简单描述使用BC接入的AT流程,具体的AT命令使用和说明请参考移远BC28模组的相关文档
准备好BC28模块,移动NB卡,确保模组能正常入网。
1:配置模组MQTT协议版本(BC28 支持MQTT V3.1 和V3.1.1两个版本的协议,ONENET平台限定接入协议版本只能使用V3.1.1接入(腾讯云也是限定为V3.1.1),BC28 MQTT 默认为V3.1,需要使用命令配置为V3.1.1)
AT+QMTCFG="version",0,4
OK
2:连接ONENET MQTT服务器
AT+QMTOPEN=0,"183.230.40.39",6002
OK
+QMTOPEN: 0,0
AT+QMTCONN=0,"43999872","172825","password"
OK
+QMTCONN: 0,0,0
3:订阅TOPIC(根据平台的文档,除了以$开头的系统topic。平台可以接受任何topic。而且无需事先在平台创建topic,第一次订阅topic,平台会自动创建topic)
AT+QMTSUB=0,1,"dev0",0
OK
+QMTSUB: 0,1,0,0
4:发布消息
AT+QMTPUB=0,0,0,0,"dev0" //发布一条消息到topic dev0
>Hello,ONENET
OK
+QMTPUB: 0,0,0 //发布信息成功
+QMTRECV: 0,0,"dev0",Hello,ONENET //这里表示模组收到topic为 dev0的消息