物模型是对设备的数字化抽象描述,描述该型号设备是什么,能做什么,能对外提供哪些服务。 物模型将物理空间中的实体设备数字化,在云端构建该实体的数据模型,即将物理空间的实体在云端进行格式化表示。
如上图所示,物模型属于应用协议之上的语法语义层。在物联网平台中,物模型完成对终端产品形态,产品功能的结构化定义,包括终端设备业务数据的格式和传输规则
物模型功能模块在物联网平台中的位置如图所示:
物模型在业务逻辑属于物联网平台的设备管理模块。用于实现不同设备能够以统一的物模型标准对接应用平台,不同应用之间能够以统一物模型标准进行数据互通。
物模型基础功能分为三类:属性、服务、事件,功能点数量不超过100个。
功能类型 | 说明 |
---|---|
属性 | 用于描述设备的动态特征,包括运行时的状态,应用可发起对属性的读取和设置请求。 |
服务 | 用于描述终端设备可被外部调用的能力,可设置输入参数和输出参数。服务可实现复杂的业务逻辑,例如执行某项特定的任务;支持同步或异步返回结果。 |
事件 | 设备运行时可以被触发的上行消息,如设备运行的记录信息,设备异常时发出的告警、故障信息等;可包含多个输出参数。 |
功能类别分为三类:系统、标准、自定义,可为属性、服务、事件三者任意组合。
功能类别 | 说明 |
---|---|
系统功能点 | 此类功能点多数与平台提供的服务有关,如LBS定位服务、OneNET设备认证服务等 |
标准功能点 | 此类功能点多数与产品行业类别相关,为标准行业产品抽象出的一套标准的功能点 |
自定义功能点 | 此类功能点为用户自定义,产品非标准设备,用户按设备实际情况添加设备功能点,自由度较大。 |
类型 | 标识符 | 说明 |
---|---|---|
整数型 | int32、int64 | 整数、长整数 |
浮点型 | float、double | 单精度浮点、双精度浮点 |
时间类型 | date | 长整数的扩展类型,整数类型int64的UTC时间戳(毫秒) |
布尔型 | bool | true或false |
字符型 | string | 字符串,文本类型 |
枚举型 | enum | 枚举类型,枚举值为整数 |
位图型 | bitMap | 位图,多用于多个故障信号同时上送,非传统意义的图片数据 |
数组类型 | array | 数组类型,元素类型支持:int32、int64、float、double、string、date、struct |
结构图 | struct | 结构图类型,仅支持一层嵌套,成员类型不支持数组 |
名称 | 描述 |
---|---|
properties | 属性点集合 |
events | 事件点集合 |
services | 服务点集合 |
identifier | 功能点标识符/参数标识符,以"$"开始为系统功能点,功能点标识符产品下唯一 |
name | 功能点名字,用户自定义 |
functionType | 功能类型,用户自定义(u)/系统功能点(s)/标准功能点(st) |
accessMode | 读写类型,只读(r)/读写(rw) |
dataType | 数据描述集合 |
type | 数据类型 |
eventType | 事件类型:信息(info)、告警(alert)、故障(error) |
specs | 数据类型描述的时候存在 |
desc | 用户自定义描述 |
inputData | 输入参数集合 |
outputData | 输出参数集合 |