背景
在用移柯L620两周之后终于放弃了。。真的奇葩做了个1.8V串口,1.8V串口是为了低功耗能理解,但是也要做的稳定啊,经常乱码,就是波特率有问题,还有其他种种硬件出问题,希望移柯能够改进一下。
改变
最后决定使用移远的BC28模块,主要原因是全网通,考虑以后产品兼容问题,还有产品的体积问题,BC28与BC35其实基本都一样,就是BC28超紧凑型,体积可以做的很小。
移远 、移柯模块使用上基本一致很像,但是产品稳定性和易用性上真的不是一个档次的。。
在使用上基本一样,可以参考L620接入onenet平台。
主要还是下列几个命令,下面详细介绍一下
AT+MIPLCREATE
AT+MIPLADDOBJ=0,3303,1,1,1,0
AT+MIPLOPEN=0,36000
AT+MIPLOBSERVERSP=0,68348,1
AT+MIPLDISCOVERRSP=0,78162,1,4,"5701"
命令详解
AT+MIPLCREATE :The command is used to create an instance of OneNET communication suite.
这个命令就是用来创建onenet通信套接字实例。一般情况不会出错,但是也有困难出错,那就是你的NB模块固件版本不支持对接移动onenet平台,需要进行NB固件升级。可以参考我的另一篇文章
AT+MIPLADDOBJ=0,3303,1,1,1,0 :The command is used to add a LwM2M object.
这个命令时用来添加LWM2M实例的,举个格式如下
MIPLADDOBJ:<ref>,<objId>,<insCount>,<insBitmap>,<attrCount>,<actCount>
- ref :通信套接字的实例号
- objId :对象所对应的号码。这个查询OneNET之IPSO和OMA模型规范
- insCount :对象实例个数。
- insBitmap :对象实例序号。
- attrCount :属性个数。
- actCount :action个数,我目前一直是写的0,没有搞懂具体含义,有谁知道,欢迎评论。
AT+MIPLOPEN=0,36000,50 :The command is used to send register request to OneNET platform.
这个命令时用来向Onenet平台发送注册信息的,具体格式如下
MIPLOPEN: <ref>,<lifetime>[,<timeout>]
- ref :通信套接字的实例号。
- lifetime :整个连接生命周期。
- timeout :回复超时时间。这个我也不太清楚,也没说明白,到底是哪个超时时间,欢迎评论留言。
这个命令发出后,会有很多回复,在回复中包含了两个重要的MsgID,涉及资源的上报和数据上报。如
AT+MIPLOPEN=0,3600000,50
OK
+MIPLEVENT: 0,1
+MIPLEVENT: 0,2
+MIPLEVENT: 0,4
+MIPLEVENT: 0,6
+MIPLOBSERVE: 0,66273,1,3303,0,-1 #这个66273就是MIPLNOTIFY 的时候的MsgID号
+MIPLDISCOVER: 0,738,3303 #这个738就是MIPLDISCOVERRSP的时候的MsgID号
+MIPLDISCOVER: 0,738,3303
AT+MIPLDISCOVERRSP=0,738,1,4,"5700"
OK
+MIPLEVENT: 0,25,91557
AT+MIPLNOTIFY=0,66273,3303,0,5700,4,4,163.85,0,0
OK
AT+MIPLDISCOVERRSP=0,78162,1,4,“5701” :The command is used to respond to the discover request from OneNET platform
这个命令是用来回应Onenet平台的 discover请求的,具体格式如下
MIPLDISCOVERRSP: <ref>,<msgId>,<result>[,<length>,<valuestring>[,<raiMode>]]
- length:就是资源的属性代号的长度
- valuestring:就是资源属性代号,是个字符串,不同属性代号之间用;隔开。具体代号可以参考OneNET之IPSO和OMA模型规范
AT+MIPLNOTIFY=0,66273,3303,0,5700,4,4,163.85,0,0
The command is used to notify the data to OneNET platform or Application Server.
这个命令是用来上传数据到Onenet平台或者应用服务器的,具体格式如下
MIPLNOTIFY: <ref>,<msgId>,<objId>,<insId>,<resId>,<valueType>,<len>,<value>,<index>,<flag>[,<ackid>[,<raiMode>]]
- objId:就是对象的号,3303表示温度。
- insId:就是实例的号,0表示Tempatue_0 这个instance。
- resId:就是实例的来源吧(具体意思自己意会),5700表示 Sensor Value
- valueType:就是数据的类型,4表示float类型。
- len:就是数据的长度,4表示4个字节。
- value:就是具体的数据,163.85就是数据。
- index,flag:这两个参数目前还没理解,一般都是写0。