ThingsBoard开源物联网平台介绍_thingsbord

  • TingsBoard包含一组允许管理管理以下实体的核心服务:
  • 设备及其凭据
  • 规则链及规则节点
  • 租户 Tenants,客户 Customers 和平台的关系是:平台 =>租户 =>客户
  • 小部件和仪表盘
  • 警报和事件
  • 规则能够调用此API的某个子集。例如,规则可以为某些设备创建报警

4. 服务端API网关

每个 ThingsBoard 服务器都为注册用户提供 REST API。system telemetry 服务允许使用REST API 和 websocket 管理属性并获取时间序列数据。系统 RPC 服务提供 REST API 以自定义命令推送到设备。

测量数据处理:

RPC 过程:

根据发起者,Thinsboard RPC 功能可以分为两种类型:设备发起的 RPC 调用和服务器发起的 RPC 调用。为了使用更熟悉的名称,我们将源自设备的 RPC 调用命名为客户端 RPC 调用,将源自服务器的 RPC 调用命名为服务器端 RPC 调用。

服务器端RPC调用可以分为单向和双向:

  • **单向RPC:**请求没有发送确认就发送到设备,并且显然不提供设备的任何响应。仅当在可配置的超时时间内没有与目标设备的活动连接时,RPC调用才会失败。

  • **双向RPC:**请求被发送到设备,并期望在特定的超时时间内接收到来自设备的响应。服务器端请求将被阻止,直到目标设备回复该请求为止。

规则引擎:

**规则:**过滤器,处理器,Action
**插件:**处理消息,服务侧API请求,WebSocket和应用,持久化和查询事件,插件间RPC通信

遥测插件-系统插件,负责处理与设备属性和遥测有关的各种请求。

RPC 插件-允许使用 REST API 对设备执行 RPC 调用。RPC 调用将使用支持的网络协议传递到设备。
设备消息传递插件-允许分配给相同客户交换事件的设备。
发送邮件插件-允许发送电子邮件。您可以指定邮件服务器属性。有关更多详细信息,请参见插件文档。
Kafka插件-允许将遥测消息推送到Apache Kafka。有关更多详细信息,请参见插件文档。
RabbitMQ插件-允许将遥测消息推送到RabbitMQ。有关更多详细信息,请参见插件文档。
REST API呼叫插件-允许使用REST API将遥测消息推送到外部服务器。有关更多详细信息,请参见插件文档。时间RPC插件-允许从设备发送RPC请求以获取当前服务器端时间戳。

IoT网关:

在所有的物联网中,IOT 网关是非常重要的一环,大部分(60%-80%)设备都属于哑终端设备(不支持 IP),这些设备都需要通过网关才能够接入到云平台。因此 Thingsboard 支持通过 IOT 网关进入到平台,下面是 IOT 网关的整体架构图。

(其中最新版本的采用Python语言进行编写,建议可以自定义接收端口后,发送到ThingsBoard)

目前网关支持:

  • MQTT扩展,用于控制,配置和收集使用现有协议连接到外部MQTT代理的IoT设备的数据。
  • OPC-UA扩展,用于从连接到OPC-UA服务器的IoT设备收集数据。
  • Sigfox扩展,用于从连接到Sigfox Backend的IoT设备收集数据。
  • Modbus扩展,用于从通过Modbus协议连接的物联网设备收集数据。
4. 系统环境

1、操作系统

Thingsboard兼容多种操作系统,包括Linux、Windows和macOS。

2、Java环境

Thingsboard需要Java运行环境。推荐使用Java 11(OpenJDK 11),确保Java环境正确安装并配置环境变量。

3、数据库系统

ThingsBard平台目前支持三种数据库选项:

  • SQL:将所有实体和遥测存储在SQL数据库中,建议使用PostgreSQL数据库HSQLDB可用于本地开发和测试不建议将HSQLDB用于任何其他用途。

  • **混合:**将所有实体存储在SQL数据库中,并将所有遥测存储在NoSQL数据库中。

  • **混合 (PostgreSQL + Cassandra):**将所有实体存储在PostgreSQL数据库中,并将时间序列数据存储在Cassandra数据库中。

  • **混合 (PostgreSQL + TimescaleDB):**将所有实体存储在PostgreSQL数据库中,并将时间序列数据存储在Timescale数据库中。

5. 主架构

1、ThingsBoard设计为:

  • **扩展性:**可水平扩展的平台使用领先的开源技术构建。

  • **容错性:**没有单点故障集群中的每个节点都是相同的。

  • **健壮性:**单个服务器节点可以根据使用情况处理以万级别的设备,集群可以处理数百万级别设备。

  • **持久化:**永远不会丢失你的数据。

  • **自定义:**使用可自定义的部件和规则引擎节点可以轻松添加新功能。

2、规则引擎

ThingsBoard规则引擎是系统的心脏,负责处理传入的消息

  • 规则引擎使用Actor来实现。主要实体的actor:规则链和规则节点。
  • 规则引擎节点可以加入集群,其中每个节点负责传入消息的某些分区。
  • 在隔离模式下规则引擎处理特定租户的消息。
  • 在共享模式下规则引擎处理多个租户的消息。
  • ThingsBoard规则引擎可能以两种模式运行:共享和隔离
  • 规则引擎从队列中订阅传入的数据并且仅在处理完消息后才对其进行确认。
6. 内置功能
  1. 设备管理: 提供了对物联网设备的注册、分组、监控和远程控制功能。
  2. 数据收集和存储: 负责从各类IoT设备高效地收集和存储大量数据。
  3. 数据可视化: 通过自定义仪表板小部件,实现数据的实时可视化和分析。
  4. 规则引擎: 使用户能够定义复杂的业务逻辑,自动化处理和响应数据。
  5. 安全: 提供了全面的安全机制,包括数据加密和设备鉴权,确保平台和数据的安全。
  6. 集成和API: 支持与外部系统和服务的广泛集成,增强平台的功能和灵活性。

提供了丰富的API和集成选项,可以轻松地与其他系统和应用程序集成。

7. 适用场景
  • **智能城市:**监控和管理城市基础设施。

  • **工业物联网:**实现工厂自动化和过程优化。、

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值