欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单易懂!详解物联网平台中的物模型是什么

最编程 2024-07-29 11:41:05
...

文章目录

  • 一、什么是物模型
  • 二、标准参数
    • (1)标准参数的意义
  • 三、物模型字段详细说明
    • (1)物模型的每个属性包含以下字段
    • (2)物模型的每个方法包含以下字段
    • (3)物模型的每个事件包含以下字段
  • 四、不同平台物模型规范区别
    • (1)阿里
    • (2)小米
    • (3)京东

一、什么是物模型

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

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

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

二、标准参数

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

(1)标准参数的意义

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

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

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

三、物模型字段详细说明

(1)物模型的每个属性包含以下字段

在这里插入图片描述

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

(2)物模型的每个方法包含以下字段

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

在这里插入图片描述

(3)物模型的每个事件包含以下字段

在这里插入图片描述

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

四、不同平台物模型规范区别

不同的平台有自己的物模型规范,各平台之间在抽象归纳的层级上有所差异,但实际使用时差别不大,都能实现统一物模型的目的。

(1)阿里

阿里的ICA联盟发布的物模型和上面介绍的很相似,分为属性、方法、事件。只是在支持的数据类型、单位上有所不同。

(2)小米

  1. 小米的物模型称作spec定义,由服务、属性、方法、事件组成,服务由若干属性、方法、事件组成,产品由若干服务组成,这样的架构更加灵活,它将具有某些功能组合的部件抽象成服务,
  2. 例如空调就是由风扇服务、空气调节服务、指示灯服务组成,增加“服务”层级的意义在于,只要定义了少量的服务,就可以通过不同组合描述不同产品的功能。

(3)京东

京东的模型定义比较简单,只有属性,属性变化时会上报,但由于没有“方法”参数,设备无法实现一些需要多个输入参数的复杂功能。