2. ThingsBoard 平台概述:架构、核心组件、设备管理与数据可视化
ThingsBoard 是一个开源的物联网平台,专为设备连接、数据采集、处理与可视化而设计。它原生支持 MQTT 协议,是构建 MQTT 主题订阅与发布模式的理想载体。理解 ThingsBoard 的整体架构与核心组件,是后续实战操作的基础。
2.1 平台架构总览
ThingsBoard 采用微服务与分层架构设计,从上到下依次为:应用层(仪表板、规则链)、核心服务层(设备管理、租户管理)、消息传输层(MQTT/HTTP/CoAP 网关)、数据存储层(Cassandra/PostgreSQL/SQL)。这种分层设计保证了高可用性与水平扩展能力。
架构要点: 消息传输层是 MQTT 主题交互的入口;核心服务层负责设备认证与权限校验;规则链引擎处理消息路由与数据持久化。
2.2 核心组件详解
ThingsBoard 由多个功能明确的组件构成,下表列出了与 MQTT 主题交互最密切的核心组件及其职责:
| 组件名称 | 职责说明 | 与 MQTT 的关系 |
|---|---|---|
| 设备 | 物理或虚拟 IoT 设备的数字孪生,拥有唯一凭证 | 通过 MQTT 客户端连接,发布/订阅主题 |
| 租户 | 多租户隔离单元,管理设备、用户与资产 | 定义设备归属与主题访问权限 |
| 规则链 | 可视化消息处理引擎,支持过滤、转换、持久化 | 处理 MQTT 消息,路由到不同主题或服务 |
| 仪表板 | 实时数据可视化面板,支持图表、地图、控件 | 订阅设备遥测主题,刷新数据 |
| 告警中心 | 基于规则链触发告警,支持通知与升级 | 通过 MQTT 发布告警消息到指定主题 |
实战提示: 在 ThingsBoard 中,每个设备都对应一组预定义的 MQTT 主题(如
v1/devices/me/telemetry)。理解组件职责有助于正确选择主题与配置规则链。
2.3 设备管理机制
设备管理是 ThingsBoard 的核心功能之一,涵盖设备的注册、认证、连接、数据上报与状态监控。设备通过 MQTT 连接时,必须携带访问令牌(Access Token)或 X.509 证书进行身份验证。
设备管理的关键流程如下:
- 设备注册: 在租户下创建设备,系统自动生成唯一的访问令牌。
- 设备认证: MQTT 客户端使用令牌连接 ThingsBoard Broker,平台校验凭证。
- 数据上报: 设备发布遥测数据到
v1/devices/me/telemetry主题。 - 属性同步: 设备通过
v1/devices/me/attributes主题获取或更新属性。 - RPC 控制: 平台通过
v1/devices/me/rpc/request/+主题向设备发送指令。
注意: 设备访问令牌是敏感信息,切勿在代码中硬编码或暴露在公共仓库中。生产环境建议使用 X.509 证书认证。
2.4 数据可视化能力
ThingsBoard 提供强大的数据可视化工具——仪表板(Dashboard)。用户可以通过拖拽式界面创建实时图表、数字显示、地图、控件等组件,并绑定到设备的遥测数据或属性上。
仪表板支持以下常见可视化组件:
- 时序图: 展示设备遥测数据随时间变化的趋势。
- 仪表盘: 模拟物理仪表,显示实时数值。
- 地图: 基于 GPS 坐标显示设备位置。
- 控件: 按钮、开关,用于向设备发送 RPC 指令。
- 表格: 展示设备属性或最新遥测数据。
通过上图可以看出,设备通过 MQTT 发布数据到 ThingsBoard,经过规则链处理后存入数据库,最终由仪表板实时展示给用户。这一完整链路正是本课程后续实战的核心场景。