项目介绍

ThingsBoard是一个国外的开源物联网项目,Github将近9K star.后端基于Springboot,前端基于AngularJS,网关基于Python3.5,支持多种中间件,开箱即用的物联网项目.单台服务每秒可处理2K台设备接入和3W条MQTT订阅消息,大约每分钟可处理2百万条数据.是一个设计和性能都非常优秀的IOT项目

简介

设计原则

可扩展性:可水平扩展的平台,使用领先的开源技术进行构建。 容错:没有单点故障,集群中的每个节点都是相同的。 强大而高效:单个服务器节点可以处理成千上万个设备,具体取决于用例。ThingsBoard集群可以处理数百万个设备。 可自定义的:通过可自定义的小部件和规则引擎节点,轻松添加新功能。 持久:永远不会丢失您的数据。

用途

管理设备、资产和客户并定义他们子间的关系。基于设备和资产收集数据并进行可视化。采集遥测数据并进行相关的事件处理进行警报响应。基于远程 RPC 调用进行设备控制。基于生命周期事件、REST API 事件、RPC 请求构建工作流。基于规则链自定义特定功能。发布设备数据至第三方系统。

连接设备方式

实现 MQTT 协议的设备、网关客户端接入。 实现 COAP 协议的设备、网关客户端接入。 实现 HTTP 协议的设备、网关客户端接入。

成果展示

TB软网关负责数据的采集,暂存,和上报TB平台.支持10种协议设备的数据接入,并且可根据需求自定义连接器来接入除这10种外的其他协议的设备数据. 连接器:该组件的目的是连接到外部系统(例如 MQTT 代理或 OPC-UA 服务器)或直接连接到设备(例如 Modbus、BLE 或 CAN).连接后,连接器将从这些系统轮询数据或订阅更新.

转换器:负责将数据从协议特定格式转换为TB格式.转换器由连接器调用.有上行链路和下行链路转换器.上行转换器用于将数据从特定协议转换为TB 格式;下行转换器用于将来自TB的消息转换为特定的协议格式.

事件存储:用于临时存储连接器采集的遥测和其他事件数据,直到它们被传送到TB后被清除.事件存储支持两种实现方式:内存和文件存储.这两种实现都确保您的设备数据最终在网络中断的情况下数据不会丢失.内存减少了 IO 操作,但在网关重启的情况下可能会丢失数据;文件存储在进程重新启动后仍然存在,但需对文件进行IO操作.