ThingsBoard社区版
http://www.ithingsboard.com/docs/
ThingsBoard社区版入门
http://www.ithingsboard.com/docs/getting-started-guides/helloworld/
开源物联网平台ThingsBoard (1)介绍 - qianlinjun的文章 - 知乎
https://zhuanlan.zhihu.com/p/446292707
盘点 12 个物联网开源项目,yyds! - 搜罗Github的文章 - 知乎
https://zhuanlan.zhihu.com/p/656678253
ThingsBoard是什么?
ThingsBoard是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。
我们的目标是提供成熟的IoT云或本地解决方案以此做为你的IoT应用程序服务端基础架构。
特点
ThingsBoard可用于:
- 设备管理,资产和客户并定义他们之间的关系。
- 基于设备和资产收集数据并进行可视化。
- 采集遥测数据并进行相关的事件处理进行警报响应。
- 基于远程RPC调用进行设备控制。
- 基于生命周期事件、REST API事件、RPC请求构建工作流。
- 基于动态设计和响应仪表板向你的客户提供设备或资产的遥测数据。
- 基于规则链自定义特定功能。
- 发布设备数据至第三方系统。
- 更多…
了解更多功能请参见ThingsBoard功能列表。
ThingsBoard就是一个开源的物联网平台,特点是:
- 可扩展: 水平可扩展
- 容错: 没有单点故障,集群中的每个节点地位相同
- 稳健高效: 根据成功案例,单个服务器节点可以处理数万甚至数十万台设备。 ThingsBoard 集群可以处理数百万台设备
- 持久性: 永远不会丢失您的数据。 ThingsBoard 支持各种队列实现以提供极高的消息持久性。
- 可定制: 使用可定制的小部件和规则引擎节点可以轻松添加新功能
它的整体技术架构如下图:
左边不同的物联网设备可以通过MQTT、HTTP、CoAP和LwM2M等协议传输,且可以基于mqtt 实现Gateways物联网网关功能,Gateways像一个桥,外部不同系统的多个物联网设备/传感器 数据发送到 mqtt,mqtt统一发送给物联网平台。
中间的transports 传输层一旦接收到数据就将数据传送到消息队列,例如Kafka, RabbitMQ等。
右边上面ThingsBoard Core负责处理REST API 和 websocket ,同时也负责监控传感器设备状态,是否在线等状态。
右边下面 Rule Engine 是系统的核心,负责处理进入到系统的数据。通过可视化的方式构建规则节点和规则链,实现对数据的处理及储存等
右边最上面是UI部分,UI部分有丰富的组件类型可以选用,每种类型下面又有多种具体的功能组件,拖拽式布放
架构
ThingsBoard设计原则:
- 高扩展: 使用领先开源技术构建的可水平扩展平台。
- 高容错:无单点故障集群中的每个节点都是相同的。
- 高性能:单个服务器节点可以根据用例处理几十甚至数十万个设备,集群可以处理数百万台设备。
- 高灵活:开发新功能可以方便的使用自定义部件、规则引擎等。
- 持久化:数据永久保存
了解更多知识请参见ThingsBoard架构。
准备开始了吗?
概念
ThingsBoard业务上提出一些新的概念,例如实体、关系、租户、用户等。我第一次看的时候也比较懵,这些和物联网有什么关系?实际上感觉这个开源系统 可以跳出技术角度去对业务进行建模,是个很牛 的事情。
实体
ThingsBoard 中定义了多种实体,
- Devices(设备) 基础物联网设备,可以产生遥测数据或者处理RPC 命令,例如传感器、执行器或者开关等;
- Assets(资产) 可能与其他设备和资产相关的抽象物联网实体。例如工厂、田地、车辆;
- Tenants(租户)一个租户是一个独立的商业实体,可能是个人或者机构。它可能拥有很多的 devices 设备、assets资产或者customers 顾客
- Customers (顾客)- 一个顾客也是一个独立的商业实体,可能是个人或者机构。采购 或使用 租户的设备或者资产。一个顾客可能有多个Users 用户,以及很多设备和资产。
- Users(用户) - users are able to browse dashboards and manage entities;
- Entity Views(实体视图) - 可能租户希望顾客只能看到一部分的设备或者资产,那么用实体视图。
- Alarms(报警) 当检测到资产、设备或者其它实体发生问题时,进行报警
- Rule Node(规则节点) 是对输入数据、实体生命周期事件 进行处理的节点
- Rule Chain(规则链)是由许多规则节点组合形成的一个规则流。可以拖拽式生成
每个实体可以包含:
- Attributes(属性数据) 和实体相关的静态或者半静态的key-value数据对,例如串口号、固件版本等
- Time-series data(时序数据)时序点数据,可以储存、查询和显示,例如温度、湿度、设备电量等
- Relations(关系) 连接其它实体的有向连接,例如包含,管理, 拥有, 生产等关系.
例如现在要构建一个采集土壤湿度、温度传感器数据的应用,支持土壤数据显示、数据异常发现、报警以及远程控制灌溉等功能。那么可能一个区域有多块地,一块地里有多个传感器,可以构建下面这种关系结构
同时在github 页面可以看到一些典型应用的动态图和demo地址
发表评论