Thingsboard 的网关(Gateway),是Python 3.7+ 的基于 Linux 的微型计算机上运行的一个设备端组件。它主要功能是收集各种设备数据,然后转换成MQTT上报给Thingsboard。

架构上其实,就是把本地/远程的协议通过连接器(connector)传入IoT网关(IoT gateway),IoT gateway进行转换后传给Thingsboard服务器,如果网关通信发生问题,就本地存储一下。
这些连接器种类繁多,还能开发自定义连接器,基本上覆盖了大部分的传感器。
IoT Gateway ,默认是用Docker 方式运行于小型的Linux机器上的,这其实意味着是运行在设备端的工业环境下。可能也意味着网关只能处理有限的传感器接入,并不适合在网关下挂载成千上万的设备。
官方支持的连接器:
- MQTT 连接器,用于控制、配置和收集使用现有协议连接到外部 MQTT 代理的 IoT 设备的数据。
- OPC-UA 连接器,用于从连接到 OPC-UA 服务器的 IoT 设备收集数据。
- Modbus 连接器,用于从通过 Modbus 协议连接的 IoT 设备收集数据。
- BLE 连接器,用于从使用低功耗蓝牙连接的 IoT 设备收集数据。
- 请求连接器从具有 HTTP(S) API 终端节点的 IoT 设备收集数据。
- CAN 连接器,用于从通过 CAN 协议连接的 IoT 设备收集数据。
- BACnet 连接器,用于从通过 BACnet 协议连接的 IoT 设备收集数据。
- ODBC 连接器,用于从 ODBC 数据库收集数据。
- REST 连接器,用于创建终端节点并从传入的 HTTP 请求中收集数据。
- SNMP 连接器,用于从 SNMP 管理器收集数据。
- FTP 连接器从 FTP 服务器收集数据。
- 套接字连接器,用于从通过 TCP/UDP 协议连接的 IoT 设备收集数据。
- XMPP 连接器,用于从通过 XMPP 协议连接的 IoT 设备收集数据。
- OCPP 连接器,用于在充电点和中央系统之间进行通信。
- KNX 连接器,用于从通过 KNX 协议连接的 IoT 设备收集数据。
- 自定义连接器,用于从通过不同协议连接的 IoT 设备收集数据。(您可以为所需协议创建自己的连接器)。
因为感觉这个组件,有点鸡肋,更像是完成整个拼图的一部分,所以网关的整个配置流程就不详述了,官网文档已经很详细了。下面说一下理由,
网关要求一个能跑Python的Linux小PC。在工业环境下,这个PC的工作环境很恶劣,是需要考虑成本/性能/稳定性的。跑Python的PC,即使是ARM的,也很难平衡这几点。直接用c写,嵌入Linux下,稳定性/性能/成本就能满足了。但扩展和适配可能差很多。另外,从服务器下发指令,用的是Server RPC,要通过网关去处理,逻辑结构也复杂。
所以,实际应用中,最好仿照网关的逻辑,自己为项目情况,重写代码。当然,如果项目需求是快速实现,不考虑后续的,可以套用gateway。
系列文章:
物联网开源平台开发系列001 – 开源平台Thingsboard 介绍
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列003 – Thingsboard OAuth2 – Google身份验证登陆
物联网开源平台开发系列004 – Thingsboard的实体、资产、设备一般说明及数据存储 – 陈皮王五de杂记
物联网开源平台开发系列005 – Thingsboard的API简述 – 陈皮王五de杂记
物联网开源平台开发系列006 – 在Thingsboard内创建一个设备 – 陈皮王五de杂记
物联网开源平台开发系列007 – Thingsboard的批量导入设备 – 陈皮王五de杂记
物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记
物联网开源平台开发系列009 – Thingsboard服务器对IoT设备下发指令 – 陈皮王五de杂记
物联网开源平台开发系列010 – Thingsboard规则引擎简介 – 陈皮王五de杂记
物联网开源平台开发系列011 – Thingsboard规则节点Originator Telemetry – 陈皮王五de杂记
物联网开源平台开发系列012 – Thingsboard 设备离线Alarm设置 – 陈皮王五de杂记
物联网开源平台开发系列013 – Thingsboard 遥测产生告警Alarm – 陈皮王五de杂记
物联网开源平台开发系列014 – Thingsboard遥测时序数据存储结构及分区策略 – 陈皮王五de杂记
物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置 – 陈皮王五de杂记
物联网开源平台开发系列016 – 再谈Thingsboard的设备注册 – 陈皮王五de杂记
物联网开源平台开发系列017 – Thingsboard的设备联动场景 – 陈皮王五de杂记
物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五de杂记
物联网开源平台开发系列019 – Thingsboard设备数据传播给资产 – 陈皮王五de杂记
物联网开源平台开发系列020 – Thingsboard的实体视图Entity View – 陈皮王五de杂记
物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记
物联网开源平台开发系列022 – 通过Thingsboard网关gateway动态创建设备 – 陈皮王五de杂记
物联网开源平台开发系列023 – Thingsboard设备列表仪表盘 – 陈皮王五de杂记
物联网开源平台开发系列024 – Thingsboard接入摄像头方案 – 陈皮王五de杂记
物联网开源平台开发系列025 – Thingsboard规则链节点的JS代码调试 – 陈皮王五de杂记
原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1196.html
淘宝小店:陈皮王五工作室
评论列表(14条)
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记 […]