
源码系统概览
文章正文
ThingsBoard是一个开源物联网平台,专注于设备管理、数据采集、处理与可视化展示。本项目源码包含ui-ngx前端、application后端、dao数据访问层、rule-engine规则引擎及msa微服务架构等核心模块,共计10008个文件,是Spring Boot生态中规模最大的IoT开源项目之一。平台支持MQTT、CoAP、HTTP等多种协议接入,广泛应用于智慧城市、工业物联网和农业监控场景。
源码简介
ThingsBoard源码是一个完整的物联网平台实现,涵盖设备管理、遥测数据采集、规则引擎处理和可视化仪表盘等核心功能。
技术栈基于Spring Boot微服务架构,前端采用Angular框架(ui-ngx目录),后端分为application、common、dao、rule-engine等模块。
项目共22308个Star,采用Apache-2.0开源许可证。
源码中msa目录提供Docker Compose部署配置,支持单体和微服务两种部署模式。
rule-engine模块实现了可视化规则链,允许用户通过拖拽配置设备消息处理流程,实现条件判断、数据转换和外部系统转发。
适用场景
ThingsBoard源码适用于智慧城市物联网管理平台搭建、工业设备监控与数据采集系统、农业物联网传感器数据可视化、能源计量与抄表系统、智能家居设备管控后台、车联网GPS轨迹追踪与车队管理等场景,也可作为二次开发底座构建行业专属IoT管理平台。
技术栈与运行环境
ThingsBoard采用Spring Boot微服务架构,后端基于Java 17,前端使用Angular框架。
数据库支持PostgreSQL、Cassandra或TimescaleDB,消息队列采用Kafka。
当前版本v3.9.0,许可证为Apache-2.0,GitHub Star数22308。
与同类IoT平台Kura、Mainflux相比,ThingsBoard在规则引擎可视化能力和仪表盘自定义程度上优势明显,同时提供完善的RBAC权限管理和多租户支持。
运行环境要求最低4GB内存,推荐8GB以上。
功能亮点
- 可视化规则引擎:支持拖拽式规则链配置,实现设备消息过滤、转换与转发
- 多协议接入:原生支持MQTT、CoAP、HTTP、LwM2M、SNMP等物联网协议
- 实时仪表盘:提供30+种可视化组件,支持自定义仪表盘布局与实时数据展示
- 多租户架构:内置租户隔离与RBAC权限管理,适合SaaS化部署
- 边缘计算:支持ThingsBoard Edge边缘节点,实现本地数据处理与云端同步
- 移动端支持:提供iOS和Android移动应用,支持扫码绑定设备
技术架构与部署指南
安装与部署提示
部署ThingsBoard源码推荐使用Docker方式,msa目录中提供了完整的docker-compose配置文件。
首先克隆仓库,进入msa目录执行docker-compose up命令即可启动单体模式。
微服务模式需要额外配置Kafka和PostgreSQL。
最后更新 2026 年 8 月,更新日志显示当前版本为v3.9.0,新增了OAuth2单点登录增强和资产层级关系管理功能。
开发环境需安装Java 17、Node.js 18和Maven,ui-ngx目录需执行npm install和npm start启动前端开发服务器。
截图与演示说明
上方封面图为ThingsBoard官方仪表盘演示截图,展示了物联网设备实时监控界面的可视化数据图表、设备状态卡片和告警信息面板。
图中可以看到温度传感器数据曲线图、设备在线率统计饼图以及实时遥测数据表格,直观体现了平台的数据可视化能力与多设备统一管理界面布局风格。
同类工具对比
以下是ThingsBoard与其他物联网平台工具的主要区别和对比:
| 项目 | 类型 | 许可证 | 主要特点 |
|---|---|---|---|
| ThingsBoard | 开源 | Apache-2.0 | 物联网平台,社区活跃 |
| Kuwa | 同类 | 各异 | 功能相似 |
| Mainflux | 同类 | 各异 | 侧重不同 |
| DeviceHive | 同类 | 各异 | 各有优势 |
ThingsBoard和Kuwa的区别在于部署方式不同,ThingsBoard和Mainflux对比各有侧重,ThingsBoard可作为DeviceHive的替代方案。
常见问题
问:ThingsBoard源码支持哪些协议接入?
支持MQTT、CoAP、HTTP、LwM2M、SNMP等多种物联网协议,覆盖主流设备接入场景。
问:ThingsBoard需要什么运行环境?
需要Java 17+、PostgreSQL或Cassandra数据库,推荐使用Docker部署,最低4GB内存。
问:ThingsBoard是免费开源的吗?
是的,ThingsBoard社区版基于Apache-2.0许可证开源,可免费用于商业项目。
问:ThingsBoard支持规则引擎吗?
内置可视化规则引擎,支持通过拖拽方式配置设备数据处理、告警和转发逻辑。
问:ThingsBoard如何实现设备管理?
通过ui-ngx前端模块和application后端模块实现设备注册、分组、遥测数据存储与实时展示。
安全风险提示
部署ThingsBoard时需注意修改默认管理员密码和数据库连接密码,建议在反向代理层配置HTTPS加密。
rule-engine规则链中涉及外部HTTP调用的节点需配置白名单,避免SSRF风险。
多租户场景下需验证租户数据隔离策略是否生效。
下载说明
本页面提供ThingsBoard物联网平台源码完整下载包,包含前端ui-ngx、后端application、规则引擎rule-engine及微服务部署配置等全部模块。
下载后请参照msa目录中的docker-compose文件快速启动。
源码完整开源,可自由二次开发。
GitHub项目开源地址:https://github.com/thingsboard/thingsboard。