骑士智能科技M5310模块连接中移OneNet平台实现数据交互

一、实验目的
使用骑士智能科技M5310模块加USB转串口,连接到中移OneNet平台上,并实现温湿度数据交互

二、准备工作
硬件:骑士智能科技M5310模块 + 移动NB卡、USB转串口、天线
软件:C:\AAA\NBIoT&LoraWAN\骑士智能科技技术资料\M5310开发板\M5310中移ONENET固件B657SP5\M5310-MONH1S04_4.0.0.05030836_release-B8.fwpkg

三、概述
M5310模块内置华为海思Hi2110 NBIoT芯片,模块支持移动B8频段,可以通过LWM2M协议连接中国移动OneNet平台,也可通过COAP协议连接华为OC平台。本文档介绍如何使用骑士智能科技M5310模块加USB转串口,连接到中移OneNet平台上,并实现温湿度数据交互。
中移OneNet平台是一个强大的IoT平台,用户的NB设备可在该平台进行注册,并且NB设备发出的数据会在该平台显示,平台也支持读取、写入数据到NB设备。

四、实验步骤
一、硬件连接
将USB转串口连接上骑士智能科技M5310模块,接线图如下,然后插入移动NB卡,注意卡的方向。
USB转串口 M5310模块
3V3 ----------------- VCC
GND ----------------- GND
TXD ----------------- RXD
RXD ----------------- TXD

二、申请OneNET账号
在此链接申请账号:https://open.iot.10086.cn/passport/reg?appid=1

三、烧写固件
1.安装UE Updater,这个软件用来给M5310模块烧写固件,也就是更新Hi2110代码。安装软件位置:C:\AAA\NBIoT&LoraWAN\骑士智能科技技术资料\M5310开发板\UEUpdaterUI-3.22.0.14.msi
2.将USB转串口接上电脑,打开UE软件,导入固件(这里我们烧写B657SP3固件),点Update,等待固件烧写结束。
3.烧写完成后,打开串口,选择串口号,波特率9600,发送AT+NRB+回车复位模块,再发送AT+CGMR+回车查询固件版本,如固件版本为B657SP3,说明固件已成功烧写。

四、中移OneNet平台端设置
1.https://open.iot.10086.cn/productv4 右上角“创建产品”,填写相关信息,根据自己实际开发的产品填写
2.点击“确定”,点击“立即添加设备”,或者后续再添加也可以,在填写设备信息时,IMEI和IMSI需要如实填写,IMEI是M5310模块***,在模块外层标签上可看到,IMSI是SIM卡的***,两个***都可以通过AT命令查询
3.设备添加完成后,可以看到目前的设备状态是离线的,稍后我们会让设备上线并实现数据交互。

五、终端入网
终端入网的详细步骤如下所示:
Step 1:终端上电,执行“AT+NRB”复位终端。如果返回OK,表示终端正常运行。
Step 2:执行“AT+NBAND?”查询模块频段。如果执行成功,返回+NBAND:8。说明是移动频段(8),其他频段:电信850M(5),说明返回值和模组频段不对,请手动设置频段,方法:AT+NBAND=频段,比如AT+NBAND=8,返回OK,说明设置为移动频段成功
Step 3:执行“AT+CGMR+回车”,查询固件版本,返回B657SP5,说明是固件是SP5版本。
Step 4:执行“AT+CGSN=1”查询设备IMEI号。。
Step 5:执行“AT+CFUN=1”开启功能开关。如果执行成功,返回OK。
Step 6:执行“AT+CIMI”查询SIM卡的IMSI号码
Step 7:执行“AT+CSQ”查询信号值,返回31,99.说明接收到31个信号,如果返回两个99,则表示没有信号,此时需要检查一下SIM卡是否有问题,射频是否有问题等
Step 8:执行“AT+CGATT=1”手动附着网络,如果执行成功,返回OK。
Step 9:执行“AT+CGATT?”查询是否附着网络,如果附着成功,返回1,返回0说明没有附着网络。
Step 10:执行“AT+CEREG=1”使能EPS注册网络上网,如果成功,返回ok
Step 11:执行“AT+CEREG?”查询注册网络是否成功,如果成功,返回1,1,第一个参数1表示是能注册网络成功,第二个参数1表示注册网络成功,返回0说明没有附着网络。
Step 12:执行“AT+NUESTATS”查询设备当前状态,返回:
Step 13:执行“AT+NSOCR=DGRAM,17,5386,1”,在UE上创建本地UDP端口号并关联到UDP协议,返回0,返回的0为Socket Number,范围为0-7

六、设备注册及指令订阅
Step 1:进行设备注册,这一步很重要,有两种方法:
(1)
骑士智能科技M5310模块连接中移OneNet平台实现数据交互(2)
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
Step 2:订阅Object组,我们以温湿度为例,在我们的设备中,我们要创建两个Object,一个是温度,一个是湿度,在“C:\AAA\NBIoT&LoraWAN\骑士智能科技技术资料\M5310开发板LWM2M下Object和Resource定义.pdf”可以看到Object的定义
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
在订阅Object时,注意固件版本:
如果是SP3的版本,那么使用AT+MIPLADDOBJ=0,3303,0(温度Object)和AT+MIPLADDOBJ=0,3304,0(湿度Object)
如果是SP5的版本,那么参考C:\AAA\NBIoT&LoraWAN\骑士智能科技技术资料\M5310开发板\M5310 AT Command B657SP5-v4.0N-B8-0426.pdf手册

Step 3:订阅Resource参数,我们以温湿度为例。订阅Resource参数使用MIPLNOTIFY指令,订阅后的Resource资源,在登陆成功后,将在OneNET平台的资源管理界面中呈现。
AT+MIPLNOTIFY=0,3303,0,5700,4,“29.2”,1温度
AT+MIPLNOTIFY=0,3303,0,5700,4,“29.2”,1湿度
骑士智能科技M5310模块连接中移OneNet平台实现数据交互至此,我i们完成了设备的注册以及温湿度指令的订阅,接下来我们要让设备登陆上ONENET平台

七、设备登陆OneNET平台及数据交互
1.登陆指令:AT+MIPLOPEN=0,300,这里的300表示登陆超时时间,如果超过该事件,模组还未收到平台的登陆响应,则模组登陆失败可以看到模组登陆成功
2.我们进入OneNET平台,刷新下页面,可以看到刚才注册的设备状态现在是”在线“了,表明模组已经成功接入OneNet平台
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
3.点击设备名称,可以看到我们刚才订阅的两个Object:温度和湿度:
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
4.继续点击温度和湿度的Object,可以看到对应的Object下属性值是没有的,我们需要主动上报,这里才会显示:
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
骑士智能科技M5310模块连接中移OneNet平台实现数据交互5.数据主动上报使用MIPLNOTIFY指令,如下:
AT+MIPLNOTIFY=0,3303,0,5700,4,“29.2”,1
AT+MIPLNOTIFY=0,3304,0,5700,4,“40.5”,1
再点开温湿度的Object,可以看到刚才上报的数据已经收到了:
骑士智能科技M5310模块连接中移OneNet平台实现数据交互

至此,我们完成了NB设备接入中移OneNET平台并实现数据交互,更深入的研究待用户自己研究。可以看出,接入中移onenet平台比接入华为OC平台要简单许多,操作也更方便。

八、使用代码让设备登陆OneNET平台并实现数据交互
硬件:中移OneNET开发板,如下:
骑士智能科技M5310模块连接中移OneNet平台实现数据交互
软件:C:\AAA\NBIoT&LoraWAN\OneNET\开发板OneNET Demo例程(适配M5310 SP3版本)\开发板OneNET-Demo_v5(适配M5310sp3)\OneNET_M5310_COAP\Project,用Keil打开
将代码使用STLink烧写进ST芯片中,接上microusb线,打开串口助手,选择串口号,波特率115200,可以看到代码正常运行,全程不需要用户参与,代码中自动创建了温湿度,光照以及IO的Object,并定时自动上报,在OneNET平台上如果设备已经注册好,就可以看到相关的Object和资源。
代码请用户自行理解

参考资料:
C:\AAA\NBIoT&LoraWAN\骑士智能科技技术资料\M5310开发板 文件夹下各种资料C:\AAA\NBIoT&LoraWAN\OneNET 文件夹下各种资料