设备Profile文件字段含义说明
设备能力
devicetype-capability.json记录了该设备的基础信息:
{ "devices": [ { "manufacturerId": "TestUtf8ManuId", "manufacturerName": "HZYB", "model": "NBIoTDevice", "protocolType": "CoAP", "deviceType": "WaterMeter", "omCapability":{ "upgradeCapability" : { "supportUpgrade":true, "upgradeProtocolType":"PCP" }, "fwUpgradeCapability" : { "supportUpgrade":true, "upgradeProtocolType":"LWM2M" }, "configCapability" : { "supportConfig":true, "configMethod":"file", "defaultConfigFile": { "waterMeterInfo" : { "waterMeterPirTime" : "300" } } } }, "serviceTypeCapabilities": [ { "serviceId": "WaterMeterBasic", "serviceType": "WaterMeterBasic", "option": "Mandatory" }, { "serviceId": "WaterMeterAlarm", "serviceType": "WaterMeterAlarm", "option": "Mandatory" }, { "serviceId": "Battery", "serviceType": "Battery", "option": "Optional" }, { "serviceId": "DeliverySchedule", "serviceType": "DeliverySchedule", "option": "Mandatory" }, { "serviceId": "Connectivity", "serviceType": "Connectivity", "option": "Mandatory" } ] } ] }
各字段的解释:
字段 |
子字段 |
可选/必选 |
描述 |
|
---|---|---|---|---|
devices |
必选 |
包含了一个设备的完整能力信息(根节点不能修改)。 |
||
manufacturerId |
必选 |
指示设备的制造商ID。 |
||
manufacturerName |
必选 |
指示设备的制造商名称 (只允许英文)。 |
||
model |
必选 |
指示设备的型号,考虑到一款设备下的多种型号,建议包含字母或数字以保证可扩展性。 |
||
protocolType |
必选 |
指示设备接入物联网平台的协议类型。如NB-IoT的设备取值为CoAP。 |
||
deviceType |
必选 |
指示设备的类型。 |
||
omCapability |
可选 |
定义设备的软件升级、固件升级和配置更新的能力,字段含义详情见下文中的:omCapability结构描述。 如果设备不涉及软件/固件升级,本字段可以删除。 |
||
serviceTypeCapabilities |
必选 |
包含了设备具备的服务能力描述。 |
||
serviceId |
必选 |
服务的Id,如果设备中同类型的服务类型只有一个则serviceId与serviceType相同, 如果有多个则增加编号,如三键开关 Switch01、Switch02、Switch03。 |
||
serviceType |
必选 |
服务类型,与servicetype-capability.json中serviceType字段保持一致。 |
||
option |
必选 |
标识服务字段的类型,取值范围:Master(主服务), Mandatory(必选服务), Optional(可选服务)。 目前本字段为非功能性字段,仅起到描述作用。 |
omCapability结构描述
字段 |
子字段 |
可选/必选 |
描述 |
---|---|---|---|
upgradeCapability |
可选 |
设备软件升级能力。 |
|
supportUpgrade |
可选 |
true:设备支持软件升级。 false:设备不支持软件升级。 |
|
upgradeProtocolType |
可选 |
升级使用的协议类型,此处不同于设备的protocolType,例如CoAP设备软件升级协议使用PCP。 |
|
fwUpgradeCapability |
可选 |
设备固件升级能力。 |
|
supportUpgrade |
可选 |
true:设备支持固件升级。 false:设备不支持固件升级。 |
|
upgradeProtocolType |
可选 |
升级使用的协议类型,此处不同于设备的protocolType,当前物联网平台仅支持LWM2M固件升级。 |
|
configCapability |
可选 |
设备配置更新能力。 |
|
supportConfig |
可选 |
true:设备支持配置更新。 false:设备不支持配置更新。 |
|
configMethod |
可选 |
file:使用文件的方式下发配置更新。 |
|
defaultConfigFile |
可选 |
设备默认配置信息(Json格式),具体配置信息由设备商自定义。物联网平台只储存该信息供下发时使用,不解析处理配置字段的具体含义。 |
服务能力
servicetype-capability.json记录了该设备的服务信息:
{ "services": [ { "serviceType": "WaterMeterBasic", "description": "WaterMeterBasic", "commands": [ { "commandName": "SET_PRESSURE_READ_PERIOD", "paras": [ { "paraName": "value", "dataType": "int", "required": true, "min": 1, "max": 24, "step": 1, "maxLength": 10, "unit": "hour", "enumList": null } ], "responses": [ { "responseName": "SET_PRESSURE_READ_PERIOD_RSP", "paras": [ { "paraName": "result", "dataType": "int", "required": true, "min": -1000000, "max": 1000000, "step": 1, "maxLength": 10, "unit": null, "enumList": null } ] } ] } ], "properties": [ { "propertyName": "registerFlow", "dataType": "int", "required": true, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "R", "unit": null, "enumList": null }, { "propertyName": "currentReading", "dataType": "string", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "L", "enumList": null }, { "propertyName": "timeOfReading", "dataType": "string", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": null, "enumList": null }, { "propertyName": "internalTemperature", "dataType": "int", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "0.01°C", "enumList": null }, { "propertyName": "dailyFlow", "dataType": "int", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "L", "enumList": null }, { "propertyName": "dailyReverseFlow", "dataType": "int", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "L", "enumList": null }, { "propertyName": "peakFlowRate", "dataType": "int", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "L/H", "enumList": null }, { "propertyName": "peakFlowRateTime", "dataType": "string", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": null, "enumList": null }, { "propertyName": "intervalFlow", "dataType": "array", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "L", "enumList": null }, { "propertyName": "pressure", "dataType": "array", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "kPa", "enumList": null }, { "propertyName": "temperature", "dataType": "array", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "0.01°C", "enumList": null }, { "propertyName": "vibration", "dataType": "array", "required": false, "min": 0, "max": 0, "step": 1, "maxLength": 0, "method": "W", "unit": "0.01g", "enumList": null } ] } ] }
各字段的解释:
字段 |
子字段 |
必选/可选 |
描述 |
|||
---|---|---|---|---|---|---|
services |
必选 |
包含了一个服务的完整信息(根节点不可修改)。 |
||||
serviceType |
必选 |
指示服务的类型,与devicetype-capability.json中serviceType字段保持一致。 |
||||
description |
必选 |
指示服务的描述信息。 非功能性字段,仅起到描述作用,可置为null。 |
||||
commands |
必选 |
指示设备可以执行的命令,如果本服务无命令则置null。 |
||||
commandName |
必选 |
指示命令的名字,命令名与参数共同构成一个完整的命令。 |
||||
paras |
必选 |
命令包含的参数。 |
||||
paraName |
必选 |
命令中参数的名字。 |
||||
dataType |
必选 |
指示命令参数的数据类型。 取值范围:string、int、string list、decimal、DateTime、jsonObject 上报数据时,复杂类型数据格式如下:
|
||||
required |
必选 |
指示本命令是否必选,取值为true或false,默认取值false(非必选)。 目前本字段是非功能性字段,仅起到描述作用。 |
||||
min |
必选 |
指示最小值。 仅当dataType为int、decimal时生效。 |
||||
max |
必选 |
指示最大值。 仅当dataType为int、decimal时生效。 |
||||
step |
必选 |
指示步长。 暂不使用,填0即可。 |
||||
maxLength |
必选 |
指示字符串长度。 仅当dataType为string、string list、DateTime时生效。 |
||||
unit |
必选 |
指示单位,英文。 取值根据参数确定,如: 温度单位:“C”或“K” 百分比单位:“%” 压强单位:“Pa”或“kPa” |
||||
enumList |
必选 |
指示枚举值。 如开关状态status可有如下取值: "enumList" : ["OPEN","CLOSE"] 目前本字段是非功能性字段,仅起到描述作用,建议准确定义。 |
||||
responses |
必选 |
命令执行的响应。 |
||||
responseName |
必选 |
命名可以在该responses对应命令的commandName后面添加“_RSP”。 |
||||
paras |
必选 |
命令响应的参数。 |
||||
paraName |
必选 |
命令中参数的名字。 |
||||
dataType |
必选 |
指示数据类型。 取值范围:string、int、string list、decimal、DateTime、jsonObject 上报数据时,复杂类型数据格式如下:
|
||||
required |
必选 |
指示本命令响应是否必选,取值为true或false,默认取值false(非必选)。 目前本字段是非功能性字段,仅起到描述作用。 |
||||
min |
必选 |
指示最小值。 仅当dataType为int、decimal时生效,逻辑大于等于。 |
||||
max |
必选 |
指示最大值。 仅当dataType为int、decimal时生效,逻辑小于等于。 |
||||
step |
必选 |
指示步长。 暂不使用,填0即可。 |
||||
maxLength |
必选 |
指示字符串长度。 仅当dataType为string、string list、DateTime时生效。 |
||||
unit |
必选 |
指示单位,英文。 取值根据参数确定,如: 温度单位:“C”或“K” 百分比单位:“%” 压强单位:“Pa”或“kPa” |
||||
enumList |
必选 |
指示枚举值。 如开关状态status可有如下取值: "enumList" : ["OPEN","CLOSE"] 目前本字段是非功能性字段,仅起到描述作用,建议准确定义。 |
||||
properties |
必选 |
上报数据描述,每一个子节点为一条属性。 |
||||
propertyName |
必选 |
指示属性名称。 |
||||
dataType |
必选 |
指示数据类型。 取值范围:string、int、string list、decimal、DateTime、jsonObject 上报数据时,复杂类型数据格式如下:
|
||||
required |
必选 |
指示本条属性是否必选,取值为true或false,默认取值false(非必选)。 目前本字段是非功能性字段,仅起到描述作用。 |
||||
min |
必选 |
指示最小值。 仅当dataType为int、decimal时生效,逻辑大于等于。 |
||||
max |
必选 |
指示最大值。 仅当dataType为int、decimal时生效,逻辑小于等于。 |
||||
step |
必选 |
指示步长。 暂不使用,填0即可。 |
||||
method |
必选 |
指示访问模式。 R:可读;W:可写;E:可订阅。 取值范围:R、RW、RE、RWE 、null。 |
||||
unit |
必选 |
指示单位,英文。 取值根据参数确定,如: 温度单位:“C”或“K” 百分比单位:“%” 压强单位:“Pa”或“kPa” |
||||
maxLength |
必选 |
指示字符串长度。 仅当dataType为string、string list、DateTime时生效。 |
||||
enumList |
必选 |
指示枚举值。 如电池状态(batteryStatus)可有如下取值: "enumList" : [0, 1, 2, 3, 4, 5, 6] 目前本字段是非功能性字段,仅起到描述作用,建议准确定义。 |