案例1:智能门锁
方案概述
本文档以开发一款门锁为例,帮助开发者快速体验基于CoAP/LWM2M接入协议的开发流程。
该款门锁通过LWM2M协议接入物联网平台,具备如下能力:
- 支持在开门时上报时间信息和用户信息。
- 支持修改门锁密码的控制命令。
该款门锁的产品能力模型如下表所示:
表1 门锁产品模型
产品信息
设备类型
DoorLock
设备型号
DoorLock001
厂商名称
TestManuName
接入协议
LWM2M
数据格式
二进制码流
服务数据
服务
服务名称:BusinessService
属性1
名称:timeStamp
数据类型:int
最小值:0
最大值:128
步长:留空
单位:留空
访问模式:RE
是否必选:是
属性2
名称:userId
数据类型:int
最小值:0
最大值:128
步长:留空
单位:留空
访问模式:RE
是否必选:是
命令
命令名称:CHANGE_PWD
字段名称:newPassword
数据类型:string
长度:10
枚举值:留空
是否必选:是
产品开发
登录开发中心,在项目空间内,选择“产品 > 产品开发”,新建一款产品。
在“设置产品信息”窗口,完成各个参数的配置后,点击“创建”。
进入新创建的门锁产品,选择“Profile定义”,根据表1定义Profile。请参考[Profile定义](javascript:void(0);)章节熟悉Profile开发的基本操作。
选择“编解码插件开发”,根据定义的Profile进行插件开发和部署。请参考[插件开发](javascript:void(0);)章节熟悉插件开发的基本操作。
其中,timeStamp字段的参数配置如下:
在快速入门阶段,开发者可以使用开发中心的虚拟设备模拟设备接入物联网平台的场景。在创建的门锁产品中,选择“在线调测”。
创建完成后,系统将进入在线调测界面。
使用设备模拟器进行数据上报,场景示例:门锁被打开,上报开门信息。设备模拟器上报的十六进制码流为:0102。
使用应用模拟器进行命令下发,场景示例:用户将密码修改为123456。应用模拟器下发的命令信息为:{ "serviceId": "BusinessService", "method": "CHANGE_PWD", "paras": "{"newPassword":"123456"}" }。
在“设备模拟器”区域可以查看设备侧接收到的数据:313233343456。
案例2:补光灯
方案概述
本文档以开发一款补光灯为例,帮助开发者快速体验基于MQTT接入协议的开发流程。
该款补光灯通过MQTT协议接入物联网平台,具备如下能力:
- 支持上报灯光状态信息。
- 支持开/关控制命令。
该款补光灯的产品能力模型如下表所示:
<caption style="box-sizing: inherit; padding: 0pt 0px 12px; margin: 0pt 0px 0px; color: rgb(51, 51, 51); text-align: left; border: 0px; outline: 0px; background: transparent; zoom: 1; caption-side: top; font-size: 12px; line-height: 14px; font-weight: bold;">**表1 **补光灯产品模型</caption>
|
产品信息
| | | |
| |
设备类型
|
Bulb
| |
| |
设备型号
|
BuLB001
| |
| |
厂商名称
|
TestManuName
| |
| |
接入协议
|
MQTT
| |
| |
数据格式
|
JSON
| |
|
服务数据
| | | |
| |
服务
| |
服务名称:ServiceBulb
|
| | |
属性
|
名称:status
数据类型:int
最小值:0
最大值:3
步长:留空
单位:留空
访问模式:RE
是否必选:是
|
| | |
命令
|
命令名称:ON_OFF
字段名称:toggleBulb
数据类型:string
长度:3
枚举值:ON,OFF
是否必选:是
|
产品开发
- 登录开发中心,在项目空间内,选择“产品 > 产品开发”,新建一款产品。
在“创建产品”界面,选择“自定义产品”,点击“自定义产品”按钮。
在“设置产品信息”窗口,完成各个参数的配置后,点击“创建”。
进入新创建的补光灯产品,选择“Profile定义”,根据表1定义Profile。请参考[Profile定义](javascript:void(0);)章节熟悉Profile开发的基本操作
在快速入门阶段,开发者可以使用开发中心的虚拟设备模拟设备接入物联网平台的场景。在创建的门补光灯品中,选择“在线调测”。
新增测试设备时,选择“没有真实的物理设备”,点击“创建”。
创建完成后,系统将进入在线调测界面。
使用设备模拟器进行数据上报,场景实例:补光灯上报当前的灯光状态 { "status": "2" }。
在“应用模拟器”区域可以查看应用侧接收到的数据:{ "status": "2" }。