物模型

物模型是产品数字化的描述,定义了产品的功能,物模型将不同品牌不同品类的产品功能抽象归纳,形成“标准物模型”,便于各方用统一的语言描述、控制、理解产品功能。

物模型由若干条“参数”组成,参数按描述的功能类型不同,又分为属性、方法和事件。

参数 说明
属性 一般用于描述设备状态,支持读取和设置
方法 设备可被外部调用的能力或方法,可设置输入参数和输出参数,参数必须是某个“属性”。相比于属性,服务可通过一条指令实现更复杂的业务逻辑
事件 用于描述设备上报云端的事件,可包含多个输入参数,参数必须是某个“属性”

标准参数

为了实现设备功能的统一理解,对于每个品类会定义一套“标准参数”,标准参数包含了某个品类可能用到的所有参数,开发者在定义产品物模型时优先从标准参数中选择,如果标准参数未包含的功能,可以定义“自定义参数”。

标准参数是以品类为维度,综合各品类设备功能,统一抽象的一组参数定义。

每个品类有一套标准参数,如“灯”品类的标准参数,定义了所有品牌的灯可能有的所有功能。各品类之间同样的功能保持参数一致,例如在“灯”品类的开关,“插座”品类的开关,乃至所有品类的开关都用同样的参数定义(“power”)。

这样高度抽象的物模型定义,是为了统一不同功能在不同设备上的表示方式,方便做通用功能时理解不同设备功能。例如在做语音控制设备开关时,只需要将“打开”这样的意图与“power”参数对应,即可实现所有设备的开关控制。

物模型字段

属性

物模型-属性

字段名称 字段说明 约束条件
名称 参数中文名 “仅支持中文、英文大小写、数字、部分常用符号(下划线,减号,括弧,空格),必须以中文、英文或数字开头,长度不超过40个字符。”
标识符 参数唯一英文标识 支持大小写字母、数字和下划线、不超过50个字符。
数据类型 必选,可选整数型、浮点型、枚举型、字符串。
枚举项 枚举值和解释 仅枚举值参数。 分为参数值和参数描述,参数值支持整形,不超过2个字符,参数描述支持中文、英文、数字、下划线,不超过20个字符,枚举项数量可自定义。
取值范围 数据范围 仅整形、浮点数。 可自定义,输入的数值范围不超过各类型数据所能表示的范围。
步长 取值间隔 仅整形、浮点数。 步长是指设备上报或下发数值时,递增或递减的间隔。步长只能是一个正数;整数型最小步长为1;浮点数最小步长为10^(-7);最大步长不能超出取值范围的差值。
数据长度 字符串长度 仅字符串参数。 整数,表示字符串最大长度,取值1-2048
单位 数据单位
读写权限 读写权限 可选“读”“写”“读写” 表示参数的读写权限
描述 参数描述 100字以内

方法(功能)

物模型-方法

字段名称 字段说明 约束条件
名称 参数中文名 仅支持中文、英文大小写、数字、部分常用符号(下划线,减号,括弧,空格),必须以中文、英文或数字开头,长度不超过40个字符。
标识符 参数唯一英文标识 支持大小写字母、数字和下划线、不超过50个字符。
调用方式 异步调用是指云端执行调用后直接返回,不会关心设备的回复消息,如果服务为同步调用,云端会等待设备回复,否则会调用超时。 异步调用或同步调用任选其一。
输入参数 输入参数只可选择当前设备的属性,可多选,可为空。
输出参数 输出参数只可选择当前设备的属性,可多选,可为空。
描述 参数描述 100字以内

事件

物模型-事件

字段名称 字段说明 约束条件
名称 参数中文名 仅支持中文、英文大小写、数字、部分常用符号(下划线,减号,括弧,空格),必须以中文、英文或数字开头,长度不超过40个字符。
标识符 参数唯一英文标识 支持大小写字母、数字和下划线、不超过50个字符。
输出参数 输出参数只可选择当前设备的属性,可多选,可为空。
描述 参数描述 100字以内

TSL

物联网平台通过定义一种物的描述语言来描述物模型,称之为TSL(即Thing Specification Language),采用JSON格式,用户可以根据TSL组装上报设备的数据。

https://zhuanlan.zhihu.com/p/338940995