【Thingsboard】开发 transport 协议转换层

 

首先 ThingsBoard 微服务架构目前已经支持的 MQTT、HTTP、CoAP、SNMP、LwM2M等协议。但是一些厂商的数据是 TCP 私有协议并且高度定制化需要扩展 Transport 微服务的情况下需要定制化自己的 transport 。

1.通过队列通信

ThingsBoard一共有几种消息队列用于微服务模块之间通信:

(1)transport 通过 tb.transport.api.requests 将设备鉴权任务交给 tb-core 处理,并通过 tb.transport.api.responses 获取响应。

(2)transport 和 rule_engine 通过 tb.core 队列将消息(会话生命周期事件、属性和rpc订阅)传给 tb-core。

(3)rule_engine 通过 js.eval.requests 将数据交给 js_executer 处理,并通过 js.eval.response 获取响应。

(4)transport 和 integration 通过 tb.rule-engine 将所有设备消息传给 rule_engine。

所以扩展自定义 Transport 也直接对接 queue 消息队列即可。

2.开发 Tcp-Transport

(1)transport-api

需要用到ThingsBoard的 transpo

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ThingsBoard Core是一个基于Java开发物联网平台,其代码主要分为以下几个部分: 1. 设备管理模块:主要包括设备注册、设备认证、设备控制等功能,对外提供REST API接口。代码位于thingsboard-server/dao/src/main/java/org/thingsboard/server/dao/device目录。 2. 数据收集模块:主要负责与物联网设备进行数据通信,采集设备数据,并将数据存储到Elasticsearch。代码位于thingsboard-server/transport目录。 3. 规则引擎模块:主要负责对设备数据进行处理和转发,可以基于规则实现自动化的数据处理和转发。代码位于thingsboard-rule-engine目录。 4. 数据可视化模块:主要负责将设备数据进行可视化展示,支持多种图表和数据展示方式。代码位于thingsboard-web-ui/src/app目录。 5. 安全认证模块:主要负责对系统的安全进行管理,包括用户认证、权限控制等功能。代码位于thingsboard-server/dao/src/main/java/org/thingsboard/server/dao/auth目录。 6. 系统管理模块:主要负责对系统进行管理和监控,包括系统配置、节点管理、日志管理等功能。代码位于thingsboard-server/dao/src/main/java/org/thingsboard/server/dao/system目录。 总的来说,ThingsBoard Core的代码结构清晰,逻辑清晰,代码质量高,可以方便地进行二次开发和定制化。同时,其代码也具有很强的可扩展性和可定制性,可以满足各种不同的物联网应用场景的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0x13

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值