1 部件
开发板:NB dongle(物联网俱乐部 www.iotclub.net)
模块:Quectel移远 BC28
固件版本:BC28JAR01A01_ONT
通信方式:NB-IOT
通信运营商:中国移动
2 软件
开发版调试软件:QCOM_V1.6
调试平台:WIN7 X64
测试浏览器: Sougou
3 技术参考
OneNET开发文档:https://open.iot.10086.cn/doc/book/easy-manual/login.html
NB dongle BC35G接入OneNET教程: http://bbs.iot-club.cn/forum.php?mod=viewthread&tid=128&extra=page%3D1
4 OneNET平台上注册和配置
4.1 注册或登录中国移动的OneNET平台
注册OneNET平台需要进行手机认证,如下图:
已经注册,可以直接登录:
4.2 在开发中心创建产品
4.2.1 进入开发这中心
4.2.2 添加产品
需根据产品需求填写。
其中联网方式需要选择***NB-IoT***,设备接入协议选择***LWM2M***
可选择立即添加设备,进入添加设备。
4.3 添加设备
在产品开发页面的产品列表中点击***产品名称***,进入***产品概况***,点击***设备列表***,再***添加设备***
添加设备中,*为必须添加。
因为有开发板,所以设备类型需要选择“正式设备”,而模拟设备需要向平台申请。
IMEI为移动设备(手机)序列号,需要插入NB-dongle,用QCOM软件查看:
AT+CGSN=1
+CGSN:86××××××××××125
OK
IMSI为移动用户设别码,可以用QCOM软件查看:
AT+CIMI
46××××××××××854
OK
QCOM界面图如下:
自动订阅常常选择***开启***。
选择添加后,若成功会提示***设备注册成功***,需要保存好设备ID和PSK码。
5 连接NB-IOT设备
设备注册后,设备的在线状态为离线,需要通过QCOM的AT命令激活。
5.1 OneNET平台接入端口查询:
AT+MIPLCONFIG?
+MIPLCONFIG:1,183.230.40.39,5683
+MIPLCONFIG:2,2
+MIPLCONFIG:3,1
OK
5.2 创建与OneNET的连接:
创建通信实例
AT+MIPLCREATE
+MIPLCREATE:0
OK
添加LWM2M对象实例
AT+MIPLADDOBJ=0,3311,2,"11",4,2
OK
说明:0为设备编号,3311待查,2为待查,”11“为待查,4为待查,2为待查
向OneNET发送注册请求
AT+MIPLOPEN=0,9600,60
OK
+MIPLEVENT: 0,1
+MIPLEVENT: 0,2
+MIPLEVENT: 0,4
+MIPLEVENT: 0,6 //Registered successfully. 注册成功
+MIPLOBSERVE: 0,84641,1,3311,0,-1 //Received observe(3311/0) request.获得3311/0端口监控
+MIPLOBSERVE: 0,150178,1,3311,1,-1 //Received observe(3311/1) request.获得3311/1端口监控
+MIPLDISCOVER: 0,25242,3311 //Received resource discover request. 获得资源请求
+MIPLDISCOVER: 0,19107,3311
+MIPLDISCOVER: 0,19107,3311
注册资源
AT+MIPLDISCOVERRSP=0,25242,1,19,"5850;5851;5706;5805"
OK
如果出现报错(error),可能是信号不好等原因,可以按下步骤删除资源,取消与OneNET平台连接,删除连接实例,再按5.2重新执行AT命令。
AT+MIPLDELOBJ=0,3311 //Delete a LwM2M object.
OK
AT+MIPLCLOSE=0 //Send deregister request to OneNET platform.
OK
+MIPLEVENT: 0,15 //Deregistered successfully.
AT+MIPLDELETE=0 //Delete the communication suite instance.
OK //Deleted the communication suite instance successfully .
5.3 查询设备状态
刷新设备列表页,设备处于在线状态。
QCOM状态
6 发送和查看数据
6.1 发送数据
发送数据时需要注意端口号,数据对象,实例编号等,否则容易出错。
命令发送格式为:AT+MIPLNOTIFY=<ref>,<msgId>,<objId>,<insId>,<resId>,<valueType>,<len>,<value>,<index>,<flag>[,<ackid>[,<raiMode>]]
“AT+MIPLNOTIFY=”
———— 命令
<ref>
———— 实例编号
<msgId>
———— observe id ,例如:端口3311/0的observe id(msgid)为84641(从***+MIPLOBSERVE: 0,84641,1,3311,0,-1*** 中获取);而端口3311/1的observe id(msgid)为150178(从***+MIPLOBSERVE: 0,150178,1,3311,1,-1*** 中获取);
<objId>
———— 资源ID 例如 3311,创建时对象编号,其可以从IPSO标准中查得。
<insId>
————实例编号,例如3311/0为0(从***+MIPLOBSERVE: 0,84641,1,3311,0,-1*** 中获取),3311/1(从***+MIPLOBSERVE: 0,150178,1,3311,1,-1*** 中获取)为1
<resId>
———— 注册资源时提供的,(AT+MIPLDISCOVERRSP=0,25242,1,19,"5850;5851;5706;5805"中后“”内容)
<valueType>
————是数值类型,1为字符串,2为 不透明数据类型(Opaque,不是很理解?),3为整型,4为浮点型,5为布尔值
<len>
————数据长度
<value>
————数据值(注意:布尔值0为00,1为01),字符串需要加“”
AT+MIPLNOTIFY=0,84641,3311,0,5850,2,1,00,0,0 //84641 端口3311/0
OK
AT+MIPLNOTIFY=0,84641,3311,0,5851,3,2,123,0,0
OK
AT+MIPLNOTIFY=0,84641,3311,0,5706,1,12,"Hello_BC5net",0,0
OK
AT+MIPLNOTIFY=0,84641,3311,0,5805,4,4,3.01,0,0
OK
AT+MIPLNOTIFY=0,150178,3311,1,5850,2,1,01,0,0 //156313 端口3311/1
OK
AT+MIPLNOTIFY=0,150178,3311,1,5851,3,2,223,0,0
OK
AT+MIPLNOTIFY=0,150178,3311,1,5706,1,9,"Hello_IoT",0,0
OK
AT+MIPLNOTIFY=0,150178,3311,1,5805,4,4,10.01,0,0
OK
6.2 平台查看数据
6.2.1 添加应用
6.2.2 编辑应用
点击应用的图片,进入应用详情。
再进入***编辑应用***
6.2.3 查看数据
利用更新数据后,可以看到数据的更新。
例如将仪表盘数据由“123” 变为“65”
AT+MIPLNOTIFY=0,86869,3311,0,5851,3,2,65,0,0
OK
7查询资源列表
在设备管理列表,点击***更多操作***,选择***资源列表***。
查看对象和最后更新值