ThingsBoard物联网平台MQTT设备接入与数据采集 - 第1节
1.1 物联网基本概念
1.1.1 什么是物联网
物联网(Internet of Things, IoT)是指将物理世界中的各种设备、传感器、执行器通过网络连接起来,实现数据采集、远程监控、智能控制与自动化决策的技术体系。其核心思想是“万物互联”,让原本孤立的物理对象具备感知、通信与计算能力。
1.1.2 物联网四层架构
业界普遍采用四层架构来描述物联网系统,各层职责清晰、分工明确:
| 层级 | 名称 | 核心组件 | 主要功能 |
|---|---|---|---|
| L1 | 感知层 | 传感器、执行器、RFID、摄像头 | 数据采集与物理动作执行 |
| L2 | 网络层 | 网关、路由器、基站、通信协议 | 数据传输与连接管理 |
| L3 | 平台层 | IoT平台、云服务器、数据库 | 设备管理、数据存储、规则引擎 |
| L4 | 应用层 | 仪表盘、移动App、业务系统 | 数据可视化、告警、业务集成 |
关键认知: ThingsBoard 属于平台层(L3),同时向上为应用层提供 REST API 与仪表盘,向下通过 MQTT/CoAP/HTTP 连接感知层设备,是物联网系统的“中枢神经”。
1.1.3 物联网通信协议概览
设备接入 IoT 平台时,协议选择直接影响功耗、实时性与可靠性。以下是三种主流协议的对比:
| 协议 | 传输层 | 消息模型 | 适用场景 | ThingsBoard 支持 |
|---|---|---|---|---|
| MQTT | TCP | 发布/订阅 | 低功耗、低带宽、实时监控 | ✅ 原生支持 |
| CoAP | UDP | 请求/响应 | 资源受限设备、局域网 | ✅ 支持 |
| HTTP | TCP | 请求/响应 | 高带宽、非实时数据上报 | ✅ 支持 |
课程聚焦: 本课程以 MQTT 协议为主线,因为它是 ThingsBoard 最成熟、最推荐的设备接入方式,也是工业物联网与智能家居领域的事实标准。
1.2 ThingsBoard 平台简介
1.2.1 平台概述
ThingsBoard 是一个开源的企业级物联网平台,提供设备管理、数据采集、可视化仪表盘、规则引擎、告警通知等核心能力。它采用 Java 开发,基于微服务架构,支持单机部署与集群扩展,适用于从原型验证到大规模生产环境的全生命周期。
1.2.2 核心功能清单
- 设备管理: 注册、配置、属性管理、凭据管理(Access Token / 证书 / MQTT Basic Auth)
- 数据采集: 支持 MQTT、CoAP、HTTP 协议接收遥测数据(时间序列数据)
- 可视化仪表盘: 拖拽式编辑器,支持图表、地图、控件、卡片等 30+ 组件
- 规则引擎: 基于节点链的消息处理与事件响应,支持数据过滤、转换、持久化、告警触发
- 告警与通知: 基于规则生成告警,支持邮件、短信、Webhook 推送
- 多租户: 支持租户隔离,适用于 SaaS 运营场景
- REST API: 完整的 HTTP API,便于第三方系统集成
1.2.3 版本对比
| 版本 | 许可证 | 部署方式 | 推荐场景 |
|---|---|---|---|
| 社区版(CE) | Apache 2.0 | 单机 / Docker | 学习、原型、中小规模项目 |
| 专业版(PE) | 商业授权 | 单机 / 集群 / 云 | 企业级、高可用、多租户、白标 |
课程说明: 本课程基于 ThingsBoard 社区版(CE)最新稳定版本进行讲解,所有操作与代码在 CE 版本上均可完整运行。
1.3 ThingsBoard 核心架构
1.3.1 架构组件
ThingsBoard 采用微服务与模块化设计,核心组件包括:
- Transport Layer(传输层): MQTT、CoAP、HTTP 协议适配器,负责设备接入与消息解析
- Core Service(核心服务): 设备管理、租户管理、用户管理、权限控制
- Rule Engine(规则引擎): 消息处理链,支持过滤、转换、持久化、告警、动作
- Data Storage(数据存储): 时序数据(Cassandra / TimescaleDB / SQL)、实体数据(PostgreSQL)
- Web UI(前端): 基于 Angular 的仪表盘与管理系统
- REST API / WebSocket: 对外集成接口
1.3.3 数据流路径
一条典型的遥测数据从设备到仪表盘的完整路径如下:
- 设备通过 MQTT 协议发布遥测数据到 ThingsBoard 的 MQTT 端口(默认 1883)
- 传输层解析消息,提取设备凭据进行身份认证
- 认证通过后,消息进入规则引擎处理链
- 规则引擎根据配置执行数据持久化、告警判断、消息转发等操作
- 持久化后的数据存储在时序数据库中
- Web UI 通过 REST API 或 WebSocket 读取数据并渲染到仪表盘
架构要点: ThingsBoard 的规则引擎是整个平台的数据处理核心,它采用节点链(Node Chain)模式,每个节点执行单一职责(如过滤、转换、持久化),节点之间通过关系连接形成处理拓扑。这种设计使得数据处理逻辑高度可定制,且无需编写后端代码。
1.4 本章小结
- 物联网系统由感知层、网络层、平台层、应用层构成,ThingsBoard 位于平台层
- MQTT 是 ThingsBoard 最推荐的设备接入协议,具备低功耗、实时性强的特点
- ThingsBoard 提供设备管理、数据采集、仪表盘、规则引擎、告警等完整功能
- 核心架构包括传输层、核心服务、规则引擎、数据存储、Web UI 五大模块
- 社区版(CE)基于 Apache 2.0 开源协议,适合学习与中小规模部署