【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

 

接入过程简介

BC95的Coap测试需要云平台配合,当前的支持Coap协议的平台有华为OceanConnect平台、电信天翼云(除了logo其他和华为的一样)、移动OneNet。此教程以华为的OceanConnect平台为例进行测试。下面我将就平台申请、平台测开发、EVB_M1与平台的收发测试做出详细介绍

一、制作Profile

1、新增产品

设备的Profile文件是用来描述设备类型和设备服务能力的文件。定义了同一类设备具备的服务能力,属性,命令等。


Step 1 登录开发者Portal,单击“Profile开发>产品”,单击页面右上角的“自定义产品”,转至“产品模板”页面。
−您可以使用模板定义您的产品,单击产品模板右上角的“立即使用”,这里的参数需要根据您的设备进行定义。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台
−您也可单击右上角的“创建全新产品”,直接定义您的产品,这里以创建全新产品为例。

 

Step 2  根据实际填写“设备类型”、“设备型号”、“厂商ID”、“厂商名称”等数据。单击“确定”,添加产品完成。


设备类型:指示设备的类型。下拉选择类型。这里以   Smoke为例。
设备型号:指示设备的型号。这里以NBIoTDevice为例。
厂商ID:指示设备厂商Id。这里以NB-IoT CluB为例,请勿一致。
厂商名称:指示设备的厂商名称。这里以NB-IoT CluB为例,请勿一致。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

Step 3 在产品详情页面单击“新建服务”,根据界面提示信息,增加基本信息,属性或命令,单击“保存”。


− 新增服务基本信息,服务的名称采用驼峰的命名方式,这里以Battery为例。描述可选,有多个服务就新增多条服务。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

2、新增属性


属性名(propertyName):指示属性名称。这里以batteryLevel为例。
属性类型(dataType):指示数据类型。取值范围:int、float、datetime、string、jsonObject、array。这里以int类型为例。
上报数据时,复杂类型数据格式如下:
DateTime:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z
jsonObject:自定义json结构体,平台不理解只透传。
最小(min)/最大值(max):指示最小/最大值。仅当dataType为int、float时生效,逻辑大于等于/小于等于。

步长(step):指示步长。暂不使用,可填0即可。
单位(unit):指示单位,英文,取值根据参数确定。如:温度单位:“°C”;百分比单位:“%”。
长度(maxLength):指示字符串长度。仅当dataType为string、datetime、jsonObject、array时生效。
枚举值(enumList):如烟感属性activityStatus可有如下取值[ "STANDBY", "RECORDING", "LIVING" ]。
访问模式(method):指示访问模式。R:可读;W:可写;E可订阅。取值范围:R、RW、RE、RWE、null。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

3、新增命令


命令名称:指示设备可以执行的命令。如门磁的Lock命令、摄像头的VIDEO_RECORD命令。这里以SET_DIVICE_LEVEL为例。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台
命令名与参数 共同构成一个完整的命令,在页面上单击“新增字段”。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

各字段的说明和属性中的字段类似,这里不再赘述。

二、制作编解码插件

开发完Profile文件后,可以在界面上通过图形化的方式完成设备与平台之间的消息映射。在平台中预集成了编解码插件的模板,可以根据设备类型和接入协议在插件模板中选择模板修改开发编解码插件。

登录开发者Portal,单击“插件开发”,单击右上角的“添加插件”,转到“插件模板”页签,单击“查看”,您可以查看各个模板的内容。
 

  • 若您的业务和模板中类似,可使用模板再根据实际来修改。
  • 若您不需要使用模板,则可自己新建插件。下面以新建插件来说明如何开发编解码插件。使用模板的类似修改即可。【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

1、新建插件

Step 1 单击页面右上角的“新建插件”,进入设计插件页面。

说明:您可以单击右上角的“新手指导”,查看插件的实现原理。
Step 2 新增消息。单击“新增消息”,输入消息的名称(这里以Battery为例)、描述和消息类型(包括数据上报、命令下发和命令下发响应)。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

Step 3 添加字段。单击“添加字段”,添加上报数据的字段。

名字:建议和profile文件中设置的保持一致。便于和profile文件中的字段进行对
应。
数据类型:包括int8u,int16u,int24u,int32u,string,variablelength string,array,variant。与profile中的相对应。
长度:指示该字段占多少字节长度。若长度为1,则在上报码流时,这个字段占一位,即一个16进制的数值。本例均以长度为1为例。
默认值:该字段在码流中的参考值。
偏移值:当前字段到本条消息码流起始位置的字节数,比如设置为2-3,则这个字段在 码流中的第2-3位。

说明:每个消息必须有消息地址域。地址域为标识唯一此消息唯一ID的字段,即唯一

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台
标识不同的消息。地址域的名称必须为messageId,且只有地址域的名称可以为messageId。我们要模拟数据上报,命令下发的完整过程,需要创建“数据上报”、“命令下发”和“命令下发响应”三种类型的消息。

用同样方法新建下发命令消息

Step 5 建立profile属性、命令与消息的映射关系。根据自己定义的profile,来设计
插件中的消息。通过拖拉服务中的属性或命令,与消息中的字段进行关联。属性对应于数据上报中的字段列表。有多个服务就新增多个消息。为便于理解,字段名称建议和属性名设置为相同。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台
Step 6 完成映射关系后,单击页面右上角的“部署”,部署成功后,系统会将您的设计结果自动生成编解码插件包。

三、 NB-IoT模块对接平台

1、注册设备

开发部署成功后,您可以将您的设备接入到IoT平台。
Step 1 登录开发者Portal,单击“我的设备”,进入设备列表页面。单击右上角的“注册设备”,转向注册设备页面,选择您需要注册设备的Profile。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

Step 2 单击Profile,进入Profile详情页面,在页面底部填写设备名称和设备标识码,这里的设备名称可以自己取,设备标识码为模块上的IMEI号或者通过AT+CGSN=1获取(通常为8637开头),单击“注册”,完成设备的注册。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

说明:可以单击设备后面的修改或删除按钮,对设备进行修改。

2、上报数据

Step 1打开串口助手发送相应AT指令发送以下命令如下图。

本例中,一共上报1个字节“01“,表示上报数据对应的“batteryLevel”字段,这些内容与profile文件和编解码插件是一一对应的。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台

注:此处的AT+NCDP后的IP地址请改为申请平台上收到的邮件中的设备对接地址


 Step 2 单击“我的设备”,进入自己的设备详情页面,单击“历史数据”页签,可以看到上报的数据。此时,上报数据即成功。如下图所示。

【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台