资产实体详解:资产类型、资产属性、资产元数据、资产在IoT场景中的典型用途

资产(Asset)是 ThingsBoard 中用于抽象物理或逻辑实体的核心模型。与设备(Device)侧重于数据采集和通信不同,资产更关注业务层面的组织、归属和层级关系。理解资产实体的构成,是构建复杂 IoT 数据链路的基础。

4.1 资产类型(Asset Type)

资产类型是资产实体的分类标签,用于区分不同业务含义的资产。在 ThingsBoard 中,资产类型是一个字符串字段,由用户自定义,一旦创建不可修改。常见的资产类型包括:

资产类型 典型场景 说明
Building 智能楼宇 代表一栋物理建筑,可关联楼层、房间、温控设备
Factory 工业制造 代表一个工厂或车间,关联生产线、PLC、传感器
Vehicle 车联网 代表一辆运输车辆,关联 GPS 追踪器、OBD 设备
CustomerSite 能源管理 代表客户站点,关联电表、逆变器、储能设备
Warehouse 仓储物流 代表仓库区域,关联温湿度传感器、门禁设备
最佳实践:资产类型命名建议采用大驼峰(PascalCase)风格,如 ProductionLine、HVACUnit。避免使用空格或特殊字符,以方便后续规则链和仪表板中的过滤操作。

4.2 资产属性(Asset Attributes)

资产属性是附着在资产实体上的键值对数据,用于描述资产的静态特征或运行时状态。ThingsBoard 将属性分为三类作用域:

  • 服务端属性(Server Attributes):由后端应用写入,通常用于存储资产配置、校准参数、维护记录。例如:installation_date、warranty_expiry。
  • 客户端属性(Client Attributes):由关联设备或外部系统通过 MQTT/HTTP 上报,反映资产的实时状态。例如:current_load、operating_mode。
  • 共享属性(Shared Attributes):可在服务端和客户端之间双向同步,常用于下发配置指令。例如:target_temperature、setpoint_power。
属性与遥测的区别:属性通常用于描述状态或配置(如“当前模式”),而遥测(Telemetry)用于记录时序数据(如“温度每5秒采样值”)。资产实体本身不产生遥测,但可以通过关联设备间接聚合遥测数据。

4.3 资产元数据(Asset Metadata)

资产元数据是资产实体创建时附加的结构化信息,以 JSON 对象形式存储。与属性不同,元数据在资产生命周期中通常不频繁变更,主要用于:

  • 地理信息:经纬度、地址、时区。
  • 组织归属:部门、负责人、成本中心。
  • 资产标识:资产编号、序列号、二维码内容。
  • 合规标签:安全等级、维护周期、认证状态。
// 资产元数据示例(JSON)
{
  "assetCode": "BLD-2024-089",
  "floorCount": 12,
  "address": "上海市浦东新区张江高科技园区",
  "timezone": "Asia/Shanghai",
  "responsiblePerson": "张三",
  "safetyLevel": "A"
}
注意:元数据一旦创建,只能通过 REST API 或规则链中的“更新资产”节点修改。在仪表板中无法直接编辑元数据字段,建议将需要频繁调整的参数放在服务端属性中。

4.4 资产在 IoT 场景中的典型用途

资产实体在 IoT 数据链路中扮演“业务容器”的角色,以下是四种最典型的应用模式:

  1. 设备分组与聚合:将多个设备关联到同一资产下,实现按资产维度的数据聚合。例如:一个“工厂”资产下关联 50 台“电机”设备,仪表板可展示工厂级的总能耗。
  2. 层级建模:资产之间可以建立父子关系,形成树形结构。例如:园区 → 楼宇 → 楼层 → 房间,每个层级都是一个资产,上层资产自动聚合下层数据。
  3. 告警关联:告警可以关联到资产而非具体设备,便于运维人员从业务视角处理问题。例如:当“制冷机组”资产下的多个温度传感器同时超限时,生成一条资产级告警。
  4. 规则链路由:在规则链中,可以根据资产类型或资产属性进行消息路由。例如:将所有类型为 HVACUnit 的资产数据转发到独立的温控处理规则链。
资产与设备关联关系图 资产(Asset) 类型: Building / Factory 服务端属性 配置 / 校准参数 客户端属性 实时状态 / 负载 共享属性 双向配置同步 设备 A(温度) 设备 B(湿度) 设备 C(能耗) 资产元数据 assetCode / address / safetyLevel

4.5 资产层级建模示例

在大型 IoT 部署中,资产层级建模是数据治理的关键。以下是一个典型的智能园区资产树:

资产层级树形结构图(智能园区) 园区(Campus) A 栋(Building) B 栋(Building) C 栋(Building) 1F(Floor) 2F(Floor) 1F(Floor) 2F(Floor) 温控器 光照传感器 门禁控制器 能耗监测
层级建模优势:通过资产树,上层资产(如园区)可以自动聚合下层所有设备的遥测数据。在 ThingsBoard 仪表板中,只需配置一个“园区”资产的数据源,即可展示整个园区的总能耗、平均温度等聚合指标,无需逐个设备配置。

4.6 资产与设备数据链路设计要点

设计维度 推荐做法 避免做法
资产类型定义 按业务域划分,保持类型数量在 10 个以内 为每个设备单独创建资产类型
属性作用域选择 静态配置用服务端属性,动态状态用客户端属性 将遥测数据存入属性字段
元数据使用 存储创建后几乎不变的结构化信息 在元数据中存储频繁更新的计数器
层级深度 建议不超过 5 层,避免性能开销 创建超过 10 层的资产树
设备关联 一个设备只关联一个主要资产 将设备同时关联到多个平级资产
进阶提示:在规则链中,可以使用“Originator Type”过滤器区分消息来自资产还是设备。当需要从设备消息中提取资产上下文时,使用“Related Entity Data”节点通过关联关系查询资产属性,实现设备数据到资产维度的自动映射。