ThingsKit开发指南-物模型

物模型是指物联网中的物理实体的数字化表示,它可以将物理实体转化为虚拟对象,使得它们能够在网络中进行交互和通信。物模型通常需要包含物体的属性、服务和事件等信息,以便进行交互和监测。在物联网平台中,定义物模型即定义产品功能,完成功能定义后,系统将自动生成该产品的物模型。

物联网物模型通常包括以下组成部分:

  • 属性:描述物体的基本属性和特征,例如重量、尺寸、颜色等。
  • 服务:描述物体可以执行的动作或行为,例如打开、关闭、启动、停止等。
  • 事件:描述物体可以触发的事件或状态变化,例如开关状态改变、温度变化、设备故障、异常情况等等。

参数说明

属性参数

参数名称描述
功能名称属性的名称,例如:用电量。同一产品下功能名称不能重复。
标识符属性唯一标识符,在产品中具有唯一性。作为设备上报该属性数据的Key,平台根据该标识符接收数据
数据类型int32:32位整型。需定义取值范围、步长和单位符号。double:双精度浮点型。需定义取值范围、步长和单位符号。bool:布尔型。采用0或1来定义布尔值,例如:0表示关、1表示开。text:字符串。需定义字符串的数据长度,最长支持10240字节。struct:JSON对象。定义一个JSON结构体,新增JSON参数项,例如:定义灯的颜色是由Red、Green、Blue三个参数组成的结构体。不支持结构体嵌套。enum:枚举值。定义参考值和参考描述,例:参考值为1,参考描述为开启设备。设备物模型显示参考描述。
取值范围数据类型为int32、double时,可设置属性值的取值范围
步长属性值变化的最小粒度。数据类型为int32、double时,可根据您的业务需要设置步长。例如:为温度计产品定义温度属性时,将数据类型设置为int32,步长为2,单位为℃,取值范围0~100。即温度每变化两度,设备上报温度值,例如:0℃、2℃、4℃、6℃、8℃等。
单位单位可选择为无,或根据实际情况选择。
读写类型读写:请求读写的方法支持GET(获取)和SET(设置)。只读:请求只读的方法仅支持GET(获取)。💡提示只有物模型读写类型为“读写”时,才可以进行rpc属性的设置及下发

服务参数

参数名称描述
功能名称服务的名称,例如:喷灌、重启。同一产品下服务名称不能重复。
标识符服务唯一标识符,在产品中具有唯一性。
数据类型异步:服务为异步调用时,平台调用后直接返回结果,不会等待设备的回复消息。同步:服务为同步调用时,云端会等待设备回复;若设备没有回复,则调用超时。
输入参数设置该服务的入参。
输出参数设置该服务的出参。

💡提示

  • 同一个服务,输入参数、输出参数的 功能名称标识符 不能重复。
  • 当设备接入协议为TCP时,该输入参数输入为 16进制HEX 字符串。

事件参数

参数名称描述
功能名称事件的名称,例如:设备断电、断网事件。同一产品下事件名称不能重复。
标识符事件唯一标识符,在产品中具有唯一性。
事件类型您可以针对不同的事件类型进行业务逻辑处理和统计分析。信息:指设备上报的一般性通知,例如:完成某项任务、设备固件信息等。告警:设备运行过程中主动上报的突发或异常情况,告警类信息,优先级高。故障:设备运行过程中主动上报的突发或异常情况,故障类信息,优先级高。
输出参数该事件的出参💡提示同一个事件,输出参数的 功能名称标识符 不能重复。