Skip to content

物模型设计最佳实践:属性、功能与事件怎么划分 ​

物模型三要素示意图

物模型(Thing Model)是对物理设备在云端的标准化描述。设计得当的物模型能显著降低接入与联动的复杂度,反之则会让后期维护苦不堪言。

三要素的职责边界 ​

  • 属性(Property):设备的状态量,可读写。例如温度、开关状态、工作模式。判断标准:这个值「现在是什么」。
  • 功能/服务(Service):云端让设备执行的动作,有输入输出参数。例如「重启设备」「设置定时任务」。判断标准:让设备「做一件事」。
  • 事件(Event):设备主动上报的瞬时消息。例如「门磁被触发」「电量过低告警」。判断标准:设备「发生了一件事」。

一个实例:智能插座 ​

要素标识符类型说明
属性powerbool通断电状态
属性voltagefloat当前电压
功能setTimer输入:秒数设置倒计时断电
事件overload输出:功率过载告警

常见误区 ​

  1. 把事件建成属性:告警触发是瞬时的,用属性保存会让「已恢复」语义含糊;
  2. 属性粒度过粗:把所有状态塞进一个 JSON 字符串属性,规则引擎将无法直接引用;
  3. 标识符随意命名:标识符会出现在 Topic 报文与规则脚本中,建议统一小写下划线风格;
  4. 忽略数据类型与单位:数值型属性务必配置单位与取值范围,大屏和告警都依赖它。

小结 ​

先写物模型,再写固件。把物模型当作设备与平台之间的「接口契约」对待,前后端、规则、大屏都围绕它展开,返工成本最低。

相关文档 ​

  • 物模型:开源版物模型的属性、功能、事件定义与发布操作。
  • 物模型:商业版物模型管理页面说明。
  • 产品管理:产品创建与物模型绑定,物模型发布的前置步骤。

上次更新时间:

最近更新

蜂信物联 | fastbee.cn