🛠️ 图解开源IoT平台ThingsBoard架构|大白话讲清每个模块
一张图看懂ThingsBoard的“指挥中心”逻辑,用生活化比喻拆解每个核心模块👇
🔍 模块拆解(对应架构图位置)
1. 【最左边:设备层+网关】→ 指挥中心的“信号来源”
- 图中位置:最左侧的「Devices」和「Gateways」
- 大白话:新设备(传感器、智能机床)用MQTT/HTTP等“通用语言”直接连平台;老设备(传统机床)先连“网关”这个接驳站,把Modbus/OPC-UA等工业协议转成标准MQTT,再接入平台。
2. 【ThingsBoard Transports(通信层)】→ 指挥中心的“翻译官团队”
- 图中位置:左上方的深蓝色模块(MQTT/HTTP/CoAP等)
- 大白话:每个子模块对应一种“语言翻译”,比如MQTT翻译官处理传感器数据,HTTP翻译官处理API请求。翻译完数据后,打包丢进“快递站”(消息队列),还会给设备做身份验证、分组管理。
3. 【消息队列(Queue)】→ 指挥中心的“快递站”
- 图中位置:中间的白色圆柱
- 大白话:各个部门之间传数据靠“快递”,支持Kafka/RabbitMQ等“快递公司”,保证数据不丢、顺序不乱。传输层会把数据分两路丢给“总调度室”(Core)和“智能大脑”(规则引擎),让两边并行干活。
4. 【ThingsBoard Core(内核)】→ 指挥中心的“总调度室”
- 图中位置:右上方的深蓝色模块
- 大白话:负责响应你的操作(比如在网页查设备状态),把设备身份、在线状态等“基础档案”存到SQL数据库(PostgreSQL),还会和规则引擎互通消息,保证设备状态同步。
5. 【Rule Engine(规则引擎)】→ 指挥中心的“智能大脑”
- 图中位置:右下方的深蓝色模块
- 大白话:平台的业务核心,处理所有设备实时数据,比如“温度超80℃触发报警”的规则就是它执行的。处理完的数据(报警记录、时序遥测)存到NoSQL数据库(TimescaleDB/Cassandra),还能直接把报警推给企业微信等外部系统。
6. 【UI & 外部系统】→ 指挥中心的“监控大屏+对外接口”
- 图中位置:最上方和最下方的浅灰色模块
- 大白话:Web UI是你能看到的监控大屏/操作面板,本身不存数据,所有操作都去问“总调度室”要数据;外部系统接口用来对接ERP/MES等企业系统,实现跨平台数据互通。
📋 完整数据流演示(报警触发场景)
传感器→MQTT翻译官→消息队列→同时发给Core和规则引擎→规则引擎触发报警并存入NoSQL→Core更新设备状态到SQL→UI展示报警信息
✨ 核心总结
- 定位:IoT设备的“超级指挥中心”,核心是「接设备→收数据→发指令→处理规则」
- 关键模块:规则引擎是“大脑”(处理业务),消息队列是“快递站”(传数据),通信层是“翻译官”(解协议)
- 部署建议:设备少用单体模式(简单低成本),设备多用微服务模式(稳定抗造)
- 存储方案:推荐“SQL+NoSQL”混合模式,兼顾“基础档案查询快”和“时序数据存得多”