图解开源 IoT 平台 ThingsBoard 架构

28 阅读3分钟

image.png

🛠️ 图解开源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展示报警信息


✨ 核心总结

  1. 定位:IoT设备的“超级指挥中心”,核心是「接设备→收数据→发指令→处理规则」
  2. 关键模块:规则引擎是“大脑”(处理业务),消息队列是“快递站”(传数据),通信层是“翻译官”(解协议)
  3. 部署建议:设备少用单体模式(简单低成本),设备多用微服务模式(稳定抗造)
  4. 存储方案:推荐“SQL+NoSQL”混合模式,兼顾“基础档案查询快”和“时序数据存得多”