开发指导
概述
产品模型(也称Profile)用于描述设备具备的能力和特性。开发者通过定义Profile,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。
- 设备能力 (Device Capability)
描述一款水表设备的能力特征,包括设备类型、厂商、型号、协议类型以及提供的服务类型。
例如:水表的制造厂商为“HZYB”,制造商ID为“TestUtf8ManuId”,型号为“NBIoTDevice”,协议类型为“CoAP”。
此款水表的服务包括:基础(WaterMeterBasic),告警(WaterMeterAlarm),电池(Battery),传输规则(DeliverySchedule),连接(Connectivity)。其中,电池为可选服务(Optional),其余为必选服务(Mandatory)。
- 服务(Service)
描述设备具备的服务能力,每个服务具备的属性、命令以及命令的参数。
例如:水表基础(WaterMeterBasic),告警(WaterMeterAlarm),电池(Battery),传输规则(DeliverySchedule),连接(Connectivity)五个服务(service),每个服务包含相应的属性或命令。
操作指导
在创建项目和产品时:如果选择使用系统模板,则系统将会自动使用相应的Profile模板,开发者可以直接使用或在此基础上进行修改;如果选择自定义产品模板,则需要完整定义Profile,操作如下:
- 在“产品开发”界面选择产品,选择具体产品,进入该产品的开发空间。
- 在产品开发空间,点击“Profile定义”,然后点击“新建服务”。
- 在“新建服务”区域,对服务名称、属性和命令进行定义。每个服务下,可以包含属性和命令,也可以只包含其中之一,请根据此类设备的实际情况进行配置。
- 填写“服务名称”,“服务名称”采用首字母大写的命名方式,比如:WaterMeter、Battery。
- 点击“新增属性”,在弹出窗口中配置属性的各项参数,点击“确定”。“属性名称”采用第一个单词首字母小写,其余单词的首字母大写的命名方式,比如batteryLevel、internalTemperature;其余参数,请根据此类设备的实际情况进行配置。
“数据类型”的配置可参考如下原则:
- int:当上报的数据为整数或布尔值时,可以配置为此类型。
- decimal:当上报的数据为小数时,可以配置为此类型。
- string:当上报的数据为字符串、枚举值或布尔值时,可以配置为此类型。如果为枚举值或布尔值,值之间需要用英文逗号(“,”)分隔。
- DateTime:当上报的数据为日期时,可以配置为此类型。
- jsonObject:当上报的数据为json结构体时,可以配置为此类型。
- 点击“添加命令”,在弹出窗口中配置“命令名称”,点击“确定”。“命令名称”采用所有字母大写,单词间用下划线连接的命名方式,比如DISCOVERY,CHANGE_STATUS。
- 点击“添加下发字段”,在弹出窗口中配置下发命令字段的各项参数,点击“确定”。“命令字段名称”采用第一个单词首字母小写,其余单词的首字母大写的命名方式,比如statusValue;其余参数,请根据此类设备的实际情况进行配置。
- 点击“添加响应字段”,在弹出窗口中配置响应命令字段的各项参数,点击“确定”。“响应字段名称”采用第一个单词首字母小写,其余单词的首字母大写的命名方式,比如commandResult;其余参数,请根据此类设备的实际情况进行配置。
响应字段非必配参数,当需要设备返回命令执行结果时,才需要定义此字段。
- 填写“服务名称”,“服务名称”采用首字母大写的命名方式,比如:WaterMeter、Battery。