1.登录OceanConnect平台
登录网址https://iot-huaweicloud.com,填写账号密码。
2.创建一个应用。
应用名称:NBIOT。所属行业:公共事业(NB-IOT)。
创建成功后保存密钥。
3.创建产品,自定义产品。注意:协议类型:CoAP。
4.Profile定义
首先:点击下面图一的“+新建服务”来创建服务,服务名称为SensorData。在SensorData服务下,点击“新增属性”。在被弹出图二的框中添加Temperature属性字段,数据类型为int,取值范围是-100到100,勾R(属性值可读),点击“确定”。用上述方法同样在SensorData服务下新增属性Humidity,属性类型为int,取值范围是0到100,勾R(属性值可读),点击“确定”。用上述方法同样在SensorData服务下新增属性Battery,属性类型为int,取值范围是0到100,勾R(属性值可读),点击“确定”。
图一
图二
其次:根据设计思路与上述步骤,添加烟雾传感器服务Smoke。点击下图的“+新建服务”来创建服务,服务名称为Smoke。在Smoke服务下,点击“新增属性”。在被弹出图二的框中添加下图内容。
最后:根据设计思路与上述步骤,添加烟雾传感器服务LightSensor。点击下图的“+新建服务”来创建服务,服务名称为LightSensor。在LightSensor服务下,点击“新增属性”。在被弹出图二的框中添加下图内容。
注意:只有LightSensor服务需要添加命令。
完成上面的步骤后,点击右上角“导出Profile”,可以直接生成Profile文件并把文件导出至本地。
[图片上传失败...(image-fdaf13-1569494948404)]
5.编解码插件
点击“新增消息”,配置消息码流和Profile属性/命令/命令响应的映射关系;根据上面3服务分别开发对应的3个消息。
第一个消息名为SensorData,勾选消息类型为“数据上报”。添加字段,勾选“标记为地址域”,按照默认配置,点击“完成”。
为了区别多个消息,每个消息必须有地址域。地址域是表示此消息唯一的字段。地址域的名称为messageld,且只有地址域的名称为messageld。
添加Temperature属性字段,数据类型为“int8s(8位有符号整型)”,点击“完成”;添加Humidity属性字段,数据类型为“int8u(8位无符号整型)”,点击“完成”;添加Battery属性字段,数据类型为“int8u(8位无符号整型)”,点击“完成”;
三个属性字段皆是如此界面,在此界面填写。
通过图形化的方式完成Profile与编解码插件之间的消息映射。选择右边设备Profile中
SensorData服务中的属性,拖拽到消息面板进行关联映射。
第二个消息名为Smoke,勾选消息类型为“数据上报”。添加字段,勾选“标记为地址域”,按照默认配置,点击“完成”(第二个消息也必须有地址域,地址域的名称为messageld。和第一个消息的地址域一样操作)。添加Smoke属性字段,数据类型为“int8u(8位无符号整型)”,点击“完成”。
通过图形化的方式完成Profile与编解码插件之间的消息映射。选择右边设备Profile中
Smoke服务中的属性,拖拽到消息面板进行关联映射。
第三个消息名为lightsensor,勾选消息类型为“数据上报”。添加字段,勾选“标记为地址域”,按照默认配置,点击“完成”(第三个消息也必须有地址域,地址域的名称为messageld。和第一个消息的地址域一样操作)。添加lightsensor属性字段,数据类型为“string字符串类型”,长度为“5”,点击“完成”。
通过图形化的方式完成Profile与编解码插件之间的消息映射。选择右边设备Profile中lightness服务中的属性,拖拽到消息面板进行关联映射。
点击右上角“保存”,再点击“部署”,进行编解码插件部署,点击“确定”。等待部署成功。
6.通过NB模拟器上报数据,验证Profile及编解码插件
先在“设备管理”中,新增虚拟设备,选择所建的项目,输入设备名(自取)。
进入NB模拟器页面,在十六进制码流输入框输入00193C64,点击发送。数据发送成功后,应用模拟器会接收数据。
在设备模拟器发送0302,应用模拟器却没有变化,是因为之前的massageld无识别03的指令没有,所以应用模拟器却没有变化。
至于为什么只建3个服务,因为一个模块一个服务,一个板子集成三个传感器。