1. ThingsBoard 平台概述

1.1 发展历史

ThingsBoard 是一个开源物联网平台,最初于 2016 年由乌克兰团队发布。项目采用 Java 语言开发,基于微服务架构设计,旨在解决物联网设备连接、数据采集、可视化和设备管理等问题。经过多年迭代,ThingsBoard 已成为全球部署最广泛的 IoT 平台之一,在 GitHub 上获得超过 18,000 星标,社区活跃度持续增长。

版本 发布时间 核心变化
v1.0 2016 年 12 月 基础设备连接、遥测数据采集、仪表板
v2.0 2018 年 6 月 规则引擎、多租户支持、REST API
v3.0 2020 年 9 月 微服务重构、边缘计算、队列重构
v3.6 2024 年 3 月 专业版增强、白标、高级 RBAC、OAuth 2.0

1.2 核心功能

ThingsBoard 提供了一整套物联网平台能力,覆盖设备接入、数据处理、可视化和系统管理全链路:

  • 设备连接:支持 MQTT、CoAP、HTTP、LwM2M 等协议,提供设备 SDK(Python、Java、JS、C++)
  • 数据采集与存储:遥测数据(时序数据)、属性数据(静态/动态)、设备元数据
  • 规则引擎:基于节点链的流式处理,支持数据过滤、转换、告警、动作触发
  • 可视化仪表板:拖拽式编辑器,支持图表、地图、控件、卡片,可嵌入第三方系统
  • 多租户管理:租户隔离、用户权限、资源配额、数据分区
  • 设备管理:批量注册、固件 OTA、远程配置、设备分组
  • 告警与通知:基于规则的告警生成,支持邮件、短信、Webhook 推送
  • API 与集成:REST API、WebSocket、MQTT Gateway、第三方平台对接
提示:本课程重点聚焦多租户管理模块,包括租户创建、数据隔离策略、权限模型和租户级资源配额控制。理解 ThingsBoard 整体架构有助于后续章节深入掌握租户管理细节。

1.3 应用场景

ThingsBoard 广泛应用于以下典型物联网场景:

  • 智慧能源:电表、水表、气表数据采集与远程监控,支持百万级设备接入
  • 工业物联网:设备状态监测、预测性维护、产线 OEE 分析
  • 智能楼宇:温湿度、照明、门禁、能耗管理,多租户楼宇运营
  • 车联网:车辆定位、行驶轨迹、驾驶行为分析、远程诊断
  • 环境监测:空气质量、水质、气象站数据采集与告警
  • 智慧农业:土壤湿度、光照、灌溉控制、温室自动化

1.4 社区版与专业版对比

ThingsBoard 提供社区版(CE)和专业版(PE)两个版本。社区版完全开源免费,专业版在社区版基础上增加了企业级功能。以下是核心差异:

功能维度 社区版 (CE) 专业版 (PE)
许可证 Apache 2.0 开源 商业授权(付费)
多租户 基础租户隔离 高级租户管理、租户层级、白标
权限模型 基础角色(租户管理员/客户用户) RBAC 细粒度权限、自定义角色、资源级权限
仪表板 基础仪表板编辑器 高级小部件、状态切换、动态样式、嵌入安全
规则引擎 基础节点链 高级节点(REST API 调用、Kafka、S3、GCP Pub/Sub)
告警 基础告警规则 告警升级、告警分组、SLA 管理
OAuth 2.0 / SSO 不支持 支持(Azure AD、Okta、Keycloak 等)
白标 / 自定义域名 不支持 支持
SLA 支持 社区支持 商业支持、SLA 保障
选型建议:如果项目需要多租户数据隔离、细粒度权限控制、企业级集成(OAuth、S3、Kafka)或白标定制,建议选择专业版。社区版适合原型验证、中小规模部署或预算有限的场景。本课程内容同时覆盖社区版和专业版的租户管理机制,但重点讲解专业版的高级特性。

1.5 ThingsBoard 软件架构概览

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

  • Transport Layer:协议适配层,处理 MQTT/CoAP/HTTP 设备连接
  • Core Service:核心业务逻辑,包括设备管理、租户管理、用户管理
  • Rule Engine:规则引擎服务,处理数据流和事件
  • Web UI:前端仪表板和管理界面
  • Database:支持 PostgreSQL(实体数据)+ Cassandra / TimescaleDB(时序数据)
  • Queue:消息队列(Kafka / RabbitMQ / AWS SQS),解耦服务间通信
ThingsBoard 微服务架构图 传输层 (Transport Layer) MQTT / CoAP / HTTP LwM2M / Gateway 核心服务 (Core Service) 设备管理 / 租户管理 用户管理 / 权限控制 规则引擎 (Rule Engine) 数据过滤 / 转换 / 告警 动作触发 / 集成 Web UI 仪表板 / 管理界面 消息队列 (Queue) Kafka / RabbitMQ / AWS SQS 数据库 (Database) PostgreSQL / Cassandra 设备层 (Device Layer) 传感器 / 网关 / 边缘设备 / 控制器 图例: 传输层 核心服务 规则引擎 Web UI 消息队列 数据库 设备层