> 文章列表 > 边缘网关thingsboard-gateway DTU902

边缘网关thingsboard-gateway DTU902

边缘网关thingsboard-gateway DTU902

thingsboard-gateway是一个采用python语言编写的开放源代码网关程序,用于将传统或第三方系统的设备与thingsboard平台连接。

支持 采集Modbus slaves、CAN、MQTT 、OPC-UA servers, Sigfox Backend。

除了具备普通 网关外,还具备可配置的边缘能力,在一些依赖边缘控制和数据实时采集的物联网场景中应用广泛,例如:

  • 农业大棚

  • 燃气监测

  • 能耗监测

  • 市政交通

  • 智能风机

  • 污水处理

  • 远程抄表

  • 资产追踪

DTU902 可安装thingsboard-gateway程序,实现以下功能:

  • MQTT 连接器:用于控制、配置和使用现有协议连接到外部 MQTT 代理的物联网设备的数据。

  • OPC-UA 连接器,用于从连接到 OPC-UA 服务器的物联网设备收集数据。

  • Modbus 连接器,用于从通过 Modbus 协议连接的物联网设备收集数据。

  • BLE 连接器,用于从使用低功耗蓝牙连接的物联网设备收集数据.

  • 请求连接器从具有 HTTP(S) API 终结点的 IoT 设备收集数据。

  • CAN连接器,用于从通过CAN协议连接的物联网设备收集数据。

  • BACnet连接器,用于从通过BACnet协议连接的物联网设备收集数据。

  • 用于从 ODBC 数据库收集数据的 ODBC 连接器。

  • REST 连接器,用于创建终结点并从传入的 HTTP 请求收集数据。

  • 用于从 SNMP 管理器收集数据的 SNMP 连接器。

  • FTP 连接器,用于从 FTP 服务器收集数据。

  • 套接字连接器,用于从通过 TCP/UDP 协议连接器的 IoT 设备收集数据。

  • XMPP 连接器,用于从通过 XMPP 协议连接器的物联网设备收集数据。

  • OCPP 连接器,用于在充电点和中央系统之间进行通信。

  • 自定义连接器,用于从通过不同协议连接的 IoT 设备收集数据。(您可以为必需协议创建自己的连接器)。

  • 持久保存收集的数据,以保证在网络或硬件故障时提供数据。

  • 自动重新连接到 ThingsBoard 平台。

  • 将传入的数据和消息简单而强大的映射为统一格式。

硬件:DTU902边缘计算网关

以下修改配置,使数据通过DTU902 采用modbus 协议 上传到ThingsBoard 平台:

1. 登陆DTU902:

进入源码目录:

root@huiwei:~# cd thingsboard-gateway

修改配置文件:

root@huiwei:~/thingsboard-gateway# vi thingsboard_gateway/config/tb_gateway.yaml

修改host为thingsboard平台的IP 或域名,accessToken为thingsboard平台创建网关设备的访问令牌。打开Modbus 连接器:

    name: Modbus Connector

    type: modbus

    configuration: modbus.json

接下来 ,根据MODBUS 设备配置modbus.json文件,为了演示,采用ModbusSlave软件模拟设备,这也是开发Modbus协议过程中经常使用的软件。

配置一个属性和一个遥测:

        "attributes": [

          {

            "tag": "string_read",

            "type": "string",

            "functionCode": 4,

            "objectsCount": 4,

            "address": 1

          }

        ],

        "timeseries": [

          {

            "byteOrder": "LITTLE",

            "tag": "16uint_read",

            "type": "16uint",

            "functionCode": 4,

            "objectsCount": 2,

            "address": 5

          }

        ]

如果对vim 不熟悉,可以采用SSH登陆,对文件进行编辑:

 

运行网关程序 

root@huiwei:~/thingsboard-gateway# python3 ./thingsboard_gateway/tb_gateway.py

打开Modbus Slave 并且根据modbus.json配置文件,添加functionCode为4,地址1,数量4:

 

在thingsboard 上添加网关,通过网关自动创建Temp Sensor设备,即modbus.json配置文件"deviceName"字段,属性中 读取到了我们在寄存器中配置的0x48、0x49、0x50、0x51: 

 

修改寄存器中的数字,thingsboard 平台的属性也 相应的变化。当然平台也可远程Shell网关:

thingsboard-gateway的配置文件使能**remoteShell** 为true

在thingsboard 平台 ,添加仪表板库: