1. ThingsBoard 概述:从设备接入到仪表板展示

ThingsBoard 是一个开源的企业级物联网平台,用于设备管理、数据收集、处理、可视化和设备控制。它采用基于租户的微服务架构,支持水平扩展,适用于从边缘计算到云端部署的多种场景。本章将系统介绍 ThingsBoard 的核心概念、功能模块、技术架构以及典型适用场景,为后续实战项目打下基础。

1.1 ThingsBoard 是什么

ThingsBoard 是一个基于 Java 开发的物联网平台,使用 PostgreSQL/TimescaleDB 或 Cassandra 作为数据库,支持 MQTT、CoAP、HTTP 等主流物联网协议。它提供开箱即用的设备连接、数据存储、规则引擎、仪表板展示和 REST API,帮助开发者快速构建物联网应用。

核心定位: ThingsBoard 不是硬件开发板,而是一个物联网中间件平台,负责设备与上层应用之间的数据流转与业务逻辑处理。

1.2 核心功能

功能模块 说明 典型用途
设备管理 设备注册、认证、属性管理、固件 OTA 管理数千台传感器或执行器
数据采集 支持 MQTT/CoAP/HTTP 协议,自动解析遥测数据 实时采集温度、湿度、电压等数据
规则引擎 基于节点链的流式处理,支持过滤、转换、告警、动作 数据清洗、阈值告警、邮件通知
仪表板 拖拽式可视化编辑器,支持图表、地图、控件 实时监控大屏、历史趋势分析
租户隔离 多租户架构,租户间数据完全隔离 SaaS 平台、多客户管理
REST API 完整的 RESTful 接口,支持 Swagger 文档 第三方系统集成、自动化运维

1.3 技术架构

ThingsBoard 采用微服务架构,核心组件包括:

  • Transport Layer(传输层):MQTT、CoAP、HTTP 协议适配器,负责设备连接与数据接收。
  • Core Service(核心服务):设备管理、租户管理、用户认证、权限控制。
  • Rule Engine(规则引擎):基于 Actor 模型的流处理引擎,支持自定义节点链。
  • Web UI(前端):基于 Angular 的单页应用,提供仪表板编辑与管理界面。
  • Database(数据库):PostgreSQL/TimescaleDB 存储元数据与遥测数据,Cassandra 用于高吞吐场景。
  • Queue(消息队列):Kafka / RabbitMQ / AWS SQS 等,用于服务间异步通信。
架构特点: ThingsBoard 的规则引擎与传输层解耦,使得数据处理逻辑可以独立扩展,适合高并发设备接入场景。
ThingsBoard 技术架构图 ThingsBoard 技术架构图 设备层 传感器 / 执行器 / 网关 / 边缘节点 传输层 MQTT 适配器 | CoAP 适配器 | HTTP 适配器 消息队列(Kafka / RabbitMQ / AWS SQS) 核心服务 设备管理 / 租户管理 用户认证 / 权限控制 规则引擎 节点链处理 / 数据过滤 告警生成 / 动作执行 数据库 PostgreSQL / TimescaleDB / Cassandra Web UI Angular 仪表板 / 管理控制台 说明:传输层接收设备数据后经消息队列分发至核心服务与规则引擎,处理结果存入数据库,Web UI 通过 REST API 读取展示

1.4 适用场景

ThingsBoard 适用于以下典型物联网场景:

  • 工业物联网(IIoT):设备状态监控、预测性维护、产线数据采集。
  • 智慧能源:电表、水表、气表数据远程抄表与能耗分析。
  • 智能楼宇:温湿度、光照、门禁、空调联动控制。
  • 环境监测:空气质量、水质、气象站数据实时上报与告警。
  • 车联网:车辆定位、行驶数据采集、远程诊断。
  • 农业物联网:土壤湿度、光照强度、灌溉自动化。
注意事项: ThingsBoard 社区版单节点建议管理不超过 1 万台设备;超过此规模需使用专业版或企业版,并配置 Cassandra 与 Kafka 集群。

1.5 版本对比

版本 协议支持 规则引擎 仪表板 集群支持 许可
社区版 MQTT / CoAP / HTTP 基础节点链 基础图表 单节点 Apache 2.0
专业版 + OPC-UA / Modbus / SNMP 高级节点 + 脚本 高级控件 + 地图 水平扩展 商业许可
企业版 全部协议 + 自定义 全功能 + 白名单 全功能 + 白标 多数据中心 商业许可