概述
物模型是ThingsKit物联网平台为产品定义的数据模型,用于描述产品的功能。本文介绍物模型相关概念和使用限制。
功能说明
物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。
功能类型 | 描述 |
属性 | 用于描述设备运行时具体信息和状态。例如,环境监测设备所读取的当前环境温度、智能灯开关状态、电风扇风力等级等。属性可分为读写和只读两种类型。读写类型支持读取和设置属性值,只读类型仅支持读取属性值。 |
服务 | 指设备可供外部调用的指令或方法。服务调用中可设置输入和输出参数。输入参数是服务执行时的参数,输出参数是服务执行后的结果。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,例如执行某项特定的任务。服务分为异步和同步两种调用方式。 |
事件 | 设备运行时,主动上报给云端的信息,一般包含需要被外部感知和处理的信息、告警和故障。事件中可包含多个输出参数。例如,某项任务完成后的通知信息;设备发生故障时的温度、时间信息;设备告警时的运行状态等。事件可以被订阅和推送。 |
物模型数据格式说明
产品里面新增物模型时,选择不同的功能(属性、服务、事件),属性对应不同的数据格式。
属性数据格式 | 数据格式说明 |
int32(整数型) | 物模型属性显示为整数类型(可定义范围) |
double(双精度浮点型) | 物模型属性显示为double 如:12.16(可定义范围) |
bool(布尔型) | 适用于开关,定义为0和1 |
text(字符串) | 字符串数据格式(可定义范围) |
struct(结构体) | 结构体里面还有json对象 数据格式如:{“jiegou”:{“json”:126}} |
物模型导出
点击物模型TSL,选择属性、服务、事件,进行单独导出,也可选择导出全部(属性、服务、事件)物模型。
💡 提示
导出为Json格式文件,可以文件编辑器打开自行修改数据。
物模型查看
进入物模型管理,对物模型数据进行查看具体数据和功能。
物模型搜索
根据物模型功能类型:属性、服务、事件,功能名称/标识符进行搜索。
编辑物模型
新增属性
进入产品物模型管理,点击编辑物模型,点击新增物模型,新增属性功能。
💡 提示
物模型新增后必须点击发布上线才能生效。
属性物模型功能是显示设备接收的数据。
新增属性选择读写时,可以在设备物模型数据点击属性下发。
属性数据格式 | 数据格式说明 |
int32(整数型) | 物模型属性显示为整数类型(可定义范围) |
double(双精度浮点型) | 物模型属性显示为double 如:12.16(可定义范围) |
bool(布尔型) | 适用于开关,定义为0和1 |
text(字符串) | 字符串数据格式(可定义范围) |
struct(结构体) | 结构体里面还有json对象 数据格式如:{“jiegou”:{“json”:126}} |
新增服务
进入产品物模型管理,点击编辑物模型,点击新增物模型,新增服务功能。
💡 提示
物模型新增后必须点击发布上线才能生效。
调用方式异步为单向下发命令,同步为双向下发命令。
服务功能适用于看板管理(仅TCP类型设备),场景联动执行动作中设备输出选择服务下发到设备。
新增事件
进入产品物模型管理,点击编辑物模型,点击新增物模型,新增事件功能。
💡 提示
物模型新增后必须点击发布上线才能生效。
事件需要Topic来publish推送json数据格式进行下发事件Topic说明。
删除模型
点击编辑物模型,数据右侧的删除按钮点击删除冗余数据。