总体架构
ThingsBoard 是一个开源的 IoT 平台,用于设备管理、数据收集、处理和可视化。它采用了微服务架构,可以水平扩展以支持大量设备。
核心组件
- 应用层:处理业务逻辑和用户界面交互。
- 数据层:定义与不同数据库交互的中间数据结构。
- 消息层:封装消息类型和传输层接口,供客户端使用。
- DAO 层:提供对不同数据库的统一访问接口,支持动态切换数据库实现。
集群与并发
- Actor 模型:使用 Akka 实现高效的并发处理。
- Zookeeper:用于集群节点之间的服务发现和协调。
- 支持协议:MQTT、CoAP、HTTP,以适应不同设备的需求。
数据存储
- PostgreSQL:用于存储配置和元数据。
- Cassandra:提供高可用性和可扩展性的时间序列数据存储。
模块概览
- application:应用相关业务逻辑。
- common:包含数据模型、消息类型和传输接口。
- dao:数据访问对象层,抽象不同数据库操作。
- tools:包含扩展模块,如 Kafka、MQTT、RabbitMQ 和 REST API 调用。
- extensions-api:定义动作、过滤器、插件、处理器等基础对象。
- extensions-core:实现通用的动作、过滤器、插件和处理器。
传输层
- HTTP:提供 RESTful API 服务。
- CoAP:基于 Californium 实现 CoAP 协议支持。
- MQTT:基于 Netty 开发,支持设备间消息传递。
强大的规则引擎
规则引擎基于 Actor 模型执行,包含过滤器、处理器和动作,允许灵活地处理设备数据。
前端 UI
使用 Node.js 开发,需要安装 Yarn 进行依赖管理。
核心概念
- 租户(Tenant):独立的业务实体,可以是个人或组织,拥有或生产设备。
- 部件库:管理和共享设备部件。
- 客户管理:管理租户与客户的关系,每个客户可以有对应的资产和设备。
- 实体视图(Entity View):类似于数据库视图,限制设备或资产遥测和属性对客户可见的程度。
- 仪表板库:允许用户定制和共享仪表板。
项目地址与演示环境
基于ThingsBoard二次开发的物联网平台推荐:ThingsKit物联网平台,开箱即用的物联网低代码平台,提供N+1+N的产品服务体系,帮助企业快速搭建稳定可靠的物联网系统平台,为企业节省大量时间及人力成本。www.thingskit.com
相关推荐: ThingsBoard物联网平台之MQTT设备协议简介
ThingsBoard简介: ThingsBoard是一个开源的物联网平台,用于数据收集、处理、可视化和设备管理。它支持使用MQTT、CoAP和HTTP等标准物联网协议进行设备连接,并适用于云和本地部署。ThingsBoard提供可扩展、容错且高性能的服务,…