1. 获取实验环境账号

微信关注公众号”天翼物联产业联盟”

step1:点击 联盟服务 选择 平台对接认证

step2:完成申请表格填写并提交

step3:等待申请审核,账号申请通过后,会收到账号和初始密码,用于登录SP Portal和开发者Portal。


2. 创建应用

2.1 创建APP应用

登录中国电信物联网开放平台对接测试环境 SP Portal https://180.101.147.135:8843
<https://180.101.147.135:8843>初次登录需要修改初始密码

选择【应用管理】-> 【应用】点击右上角【创建应用】

具体的配置可根据应用的需求来设定,也可使用默认配置。

点击保存,APP创建成功后,得到应用ID和应用密钥,请保存


2.2 NB-IoT参数设置

点击已经创建好的应用,并对NB-IoT参数进行设置。NB-IoT设置下的省电模式,应与受理的APN对应的模式保持一致。


3. Profile和插件开发

3.1 Profile和插件介绍

* 设备的 Profile 文件是用来描述一款设备是什么、能做什么以及如何控制该设备的文件。一个 Profile
文件的内容主要包括两部分,一部分是设备的基础属性信息,如厂商ID、厂商名字、设备类型、设备型号、协议类型等;
* 另一部分是设备的服务信息,这一部分定义了设备的业务数据,包括设备上报的上行数据和厂商服务器下发给设备的下行数据。每款设备都需要一个 Profile
文件。
* 一款设备对应一个编解码插件
,NB-IoT设备和中国电信物联网平台之间采用COAP协议通讯,COAP消息的数据为应用层数据,应用层数据的格式由设备厂商自行定义。由于NB-IoT设备对省电要求通常较高,所以应用层数据一般采用二进制格式。应用层数据在中国电信物联网开放平台做协议解析时,会转换成统一的json格式,以方便应用服务器使用。要实现二进制消息与json格式消息的转换功能,中国电信物联网平台需要使用设备厂商提供的编解码插件。

编解码插件工作原理如下图所示:


3.2 可视化开发Profile

登入开发者 Protal https://180.101.147.208:8093 <https://180.101.147.208:8093>
在线完成Profile的开发。
点击【Profile】->【Profile在线开发】->【自定义产品】->【+创建全新产品】
这里设备类型选择车检器,设备型号、厂商ID、厂商名称可根据实际情况填写,这里均命名为Vehicle。

确定后,点击【新建服务】->【新增属性】
这里根据设备的功能需求,添加服务和属性。


关于服务和属性的概念,可以参考下图所示的解释。本教程中设置了两个服务,一个是CarStatus用于记录有车没有的状态,包含一个属性status;另一个服务是Battery,由batteryLevel和batteryStatus两个属性组成,分别用于记录电池电量和电池状态(可能这里有点牵强)。

本教程添加了两个服务。至此 Profile 已经开发好了,后面若有需求更改,可再次修改 Profile 文件配置。

关于Profile的开发,更详细的描述请参阅 零代码开发Profile
<http://developer.huawei.com/ict/forum/thread-46943.html>

3.3 可视化开发编解码插件

登入开发者 Protal https://180.101.147.208:8093 <https://180.101.147.208:8093>
在线完成编解码插件的开发。
点击【插件开发】->【插件开发】->【+添加插件】->【+新建插件】
每一个编解码插件对应一个 Profile 文件,这里选择上一节中开发的 Profile 文件进行编解码插件的开发。


点击新增消息,消息名对应Profile里的服务名称,本教程设置了两条消息,每一条消息都添加了地址域的字段,并且设置了响应字段。将右侧的属性值拖拉至消息处形成如下图所示的映射关系。

* 地址域和偏移量的概念

首先我们先思考一个问题,在NB设备提供的COAP通信协议指令中,上报数据格式为:AT+NMGS=数据长度,16进制数据,那么平台是怎么知道发送的数据对应的意思呢?中国电信物联网平台是通过Profile和编解码插件来解决这个问题的,在编写编解码插件时,我们定义了两条消息,每一条消息都有一个地址域并且偏移量为0-1,这句话的意思是我们给每一条消息设置了一个标记,比如CarStatus的地址域为0xCC,Battery的地址域为0xBB,且都在上报消息的第一个字节处。这里以消息Battery为例,地址域为0xBB(可自定义),batteryStatus偏移量为1-2(第二个字节),batteryLevel偏移量为2-3(第三个字节),所以我们给Battery上报数据时,格式为AT+NMGS=3,BB0109。

点击【保存】,厂商ID和厂商名称与 Profile
保持一致。保存完成后,点击右上角的部署,等待部署完成。至此编解码插件就开发完成了。若有变更可再次修改编解码插件,并重新部署。

关于编解码插件的开发,更详细的描述请参阅 零代码开发编解码插件
<http://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=47007>

4. 设备接入平台

4.1 设备注册

所有设备需要先在平台进行注册,才允许连接到平台,平台支持通过北向API接口进行注册,也支持通过平台的 Portal
界面进行注册。通过注册设备,平台会为每个设备分配一个唯一的标识 deviceId 和
PSK(如果北向API注册接口中携带了PSK参数,那平台就使用北向接口中的PSK,不再自动分配),后续APP应用操作这个设备时都通过 deviceId
来指定设备。PSK参数详细参考后面设备 DTLS 安全接入。

登录开发者 Protal -> 【我的设备】->【注册设备】,选择需要注册设备的 Profile
(以上小节中配置的Profile设备模型),填写设备名称和验证码(必须唯一,如IMEI、mac等),加密设备选择否,点击注册按钮即可。

注册完成后,可以在【我的设备】里查看注册的设备,初始状态为未绑定,需要NB设备完成绑定的操作(重新配置IP及端口号),下面将详细介绍。


5. 业务数据上报和业务消息下发

5.1 NB设备模拟器绑定

在没有NB设备的情况下,我们可以先使用 Protal
自带的模拟器来进行测试,点击【模拟器】【NB设备模拟器】【绑定设备】,输入设备的IMEI号,进行设备绑定。点击确定后,可以在我的设备处查看设备状态,若绑定成功,则显示为已绑定。


5.2 NB设备模拟器数据上报

上报数据时,根据定义的Profile文件和编解码插件规则,使用模拟器进行数据上报,这里根据以上定义的 Profile文件和编解码插件制定的消息地址域和
字段偏移地址,使用NB模拟器分别上报了两个消息:BB0102和CC01。

数据上报后,可在【我的设备】选择相应的设备,进入后选择【历史数据】进行消息查看。网页刷新稍有延时,可手动点击刷新数据。


5.3 NB设备终端绑定

这里使用的NB设备终端是基于Boudica 150芯片的BC28,对设备进行绑定的AT指令流程如下所示:

* AT+CFUN=0 //关闭射频电路
* AT+NBAND? //查询频段
* AT+NBAND=5 //设置为电信频段
* AT+CGSN=1 //查询设备IMEI号
* AT+NCDP=180.101.147.115,5683 //设置IP和端口号
* AT+NRB //重启设备
* AT+CFUN=1 //打开射频电路
* AT+CSCON=1 //打开连网通知
* AT+CEREG=4 //打开注网通知
* AT+NNMI=1 //打开下行数据通知
* AT+CGATT=1 //启动网络附着
其中 AT+NCDP设置中的IP地址和端口号,参见 Portal 的【对接信息】,这里选择的是非加密地址。


5.4 NB设备终端数据上报

上报数据时,根据定义的Profile文件和编解码插件规则,使用NB设备进行数据上报,这里根据以上定义的 Profile文件和编解码插件制定的消息地址域和
字段偏移地址,使用NB设备分别上报了两个消息:AT+NMGS=3,BB0109和AT+NMGS=2,CC01。

数据上报后,可在【我的设备】选择相应的设备,进入后选择【历史数据】进行消息查看。网页刷新稍有延时,可手动点击刷新数据。

以上教程若有不明白的地方,敬请评论提问。附上官方《中国电信物联网开放平台_NB-IoT模组对接指导书_v1.4》
<https://download.csdn.net/download/xinghuanmeiying/10424476>文档。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信