1. ThingsBoard 平台概述
1.1 ThingsBoard 是什么
ThingsBoard 是一个开源的企业级物联网平台,用于设备管理、数据采集、可视化和规则引擎。它提供了一整套从设备接入到应用展示的端到端解决方案,支持 MQTT、CoAP、HTTP 等多种主流物联网协议,能够快速构建稳定、可扩展的物联网应用。
核心定位:ThingsBoard 不是单纯的设备管理工具,而是一个集设备连接、数据处理、规则编排、可视化展示于一体的物联网中间件平台。它屏蔽了底层通信协议的复杂性,让开发者可以专注于业务逻辑。
1.2 核心功能
ThingsBoard 围绕物联网应用的典型需求,提供了四大核心功能模块:
| 功能模块 | 说明 | 典型应用场景 |
|---|---|---|
| 设备管理 | 设备注册、认证、分组、固件 OTA、属性配置 | 批量设备上线、设备生命周期管理 |
| 数据采集 | 遥测数据(时序数据)与属性数据(静态/动态配置)的接收与存储 | 传感器温度上报、设备状态心跳 |
| 可视化 | 仪表板、图表、地图、控件,支持拖拽式配置 | 实时数据监控大屏、历史趋势分析 |
| 规则引擎 | 基于节点链的流式数据处理,支持过滤、转换、告警、动作 | 阈值告警、数据转发到外部系统 |
1.3 平台架构与组件
ThingsBoard 采用微服务架构,核心组件包括:
- Transport Layer(传输层):MQTT、CoAP、HTTP 协议的接入网关,负责设备连接与消息解析。
- Core Service(核心服务):设备管理、用户管理、租户管理、权限控制等业务逻辑。
- Rule Engine(规则引擎):基于 Actor 模型的异步消息处理链,支持自定义节点。
- Data Storage(数据存储):时序数据(Cassandra/TimescaleDB)、实体数据(PostgreSQL)、消息队列(Kafka/RabbitMQ)。
- Web UI(前端界面):基于 Angular 的仪表板、设备管理、系统配置界面。
架构特点:ThingsBoard 支持水平扩展,传输层、核心服务、规则引擎均可独立部署,适用于从单机开发到大规模生产集群的多种场景。
1.4 数据模型:属性、遥测与命令
ThingsBoard 对设备数据做了三种抽象,这也是本课程后续实战的核心:
| 数据类别 | 特点 | 示例 | 存储方式 |
|---|---|---|---|
| 属性(Attributes) | 键值对,用于设备静态或动态配置 | 固件版本、安装位置、采样间隔 | PostgreSQL(最新值) |
| 遥测(Telemetry) | 时序数据,带时间戳 | 温度、湿度、电压、GPS 坐标 | Cassandra / TimescaleDB |
| 命令(RPC) | 从平台到设备的远程调用 | 开关阀门、重启设备、调整参数 | 实时消息通道 |
注意区分:属性用于描述设备“是什么”或“应该怎样配置”,遥测用于描述设备“当前状态如何”,命令用于让设备“执行什么动作”。三者数据流向不同,在规则引擎中的处理方式也不同。
1.5 本章小结
ThingsBoard 是一个功能完备的开源物联网平台,通过设备管理、数据采集、可视化、规则引擎四大模块,覆盖了物联网应用从接入到展示的全链路需求。其微服务架构设计保证了系统的可扩展性和高可用性。理解属性、遥测、命令三种数据模型,是后续进行设备配置和业务开发的基础。