Thingsboard网关总结

发布时间 2023-10-10 15:05:36作者: heroinss

1概述

Thingsboard网关是一个开放源代码的解决方案可让您使用Thingsboard集成连接到旧系统和第三方系统的设备。运行需要python3.7+的环境。

2安装

一般使用源码进行安装,其步骤如下:

1、从代码仓库克隆代码, 

2、进入代码目录,使用setup.py脚本安装python模块,python3 setup.py install。

注意:1)若是有第三方依赖下载慢,可以提前下载,或者是在相同目录下新建setup.cfg更改镜像源。2)若是要以开发模式安装调试,使用命令python3 setup.py develop 。

下面位置有一个打包好的Windows下的python环境和tb网关,下载下来使用python3 setup.py develop命令安装后可以直接使用..\Python39\python.exe tb_gateway_service.py运行。

3配置

配置文件分为常规配置文件和连接器配置文件。

常规配置文件

常规配置文件主要用来配置与ThingsBoard平台的连接信息和网关要使用的连接器,示例如下:

thingsboard:
  host: 127.0.0.1
  port: 1883
  security:
    accessToken: iI0vP0cd46dhC4mRsVmH
storage:
  type: memory
  read_records_count: 100
  max_records_count: 100000
#  type: file
#  data_folder_path: ./data/
#  max_file_count: 10
#  max_read_records_count: 10
#  max_records_per_file: 10000
connectors:



  # -
  #   name: MQTT Broker Connector
  #   type: mqtt
  #   configuration: mqtt.json

 -
   name: Modbus Connector
   type: modbus
   configuration: modbus.json

#  -
#    name: Modbus Connector
#    type: modbus
#    configuration: modbus_serial.json
#
#  -
#    name: OPC-UA Connector
#    type: opcua
#    configuration: opcua.json
#
#  -
#    name: BLE Connector
#    type: ble
#    configuration: ble.json

#  -
#    name: Custom Serial Connector
#    type: serial
#    configuration: custom_serial.json
#    class: CustomSerialConnector

具体参数说明,见ThingsBoard网关数据采集配置说明 - 产品研发 - 亚派软件知识管理系统 (app.net)

连接器配置文件

连接器配置文件主要用来配置需要连接的设备信息,下面以modbus连接器配置为例。

{
    "master": {
        "slaves": [
            {
                "unitId": "1",
                "deviceName": "Temp Sensor1",
                "host": "127.0.0.1",
                "port": "5021"
            },
            {
                "unitId": "2",
                "deviceName": "Temp Sensor2",
                "host": "127.0.0.1",
                "port": "5021",
                "sendDataOnlyOnChange": true,
                "attributes": [
                    {
                        "byteOrder": "BIG",
                        "tag": "test",
                        "type": "long",
                        "functionCode": 4,
                        "registerCount": 1,
                        "address": 4
                    }
                ]
            },
            {
                "unitId": "3",
                "deviceName": "Temp Sensor12",
                "host": "127.0.0.1",
                "port": "5021"
            },
            {
                "unitId": "4",
                "deviceName": "Temp Sensor12",
                "host": "127.0.0.1",
                "port": "5021"
            },
            {
                "unitId": "5",
                "deviceName": "Temp Sensor12",
                "host": "127.0.0.1",
                "port": "5021"
            },
            {
                "unitId": "16",
                "deviceName": "Temp Sensor12",
                "host": "127.0.0.1",
                "port": "5021"
            }
        ]
    }
}

在slaves中可以配置多个设备,具体参数说明,见ThingsBoard网关数据采集配置说明 - 产品研发 - 亚派软件知识管理系统 (app.net)

4网关设备配置接口

在应用中需要对设备采集到的测点在tb网关中做配置以便发送到tb平台,tb网关通过连接器配置文件来确定哪些设备要发送到tb平台,当tb平台设备中没有配置文件里配置的设备时会自动创建。tb网关会按配置的检测时间对连接器配置文件进行扫描,当tb连接器配置文件发生改变时,tb网关会自动重新读取并更新配置。因此对测点的配置只需更改连接器的配置文件即可。此功能可以不用更改tb网关的代码而是通过新建其他工程来实现。

设备配置的ui设计见 ▶ 页面 1 - TB网关设置 (js.design)

代码见Files · dev-yuanbo · yapai / yujingshan · GitLab

初始设备配置流程如下:

1)配置人员已经完成tb网关的常规配置,并已经启动网关。

2)导入或新增模板,模板的内容为连接器配置中的部分字段,其作用是进行批量配置。

3)配置人员使用准备好的点表进行导入,点表以设备为基本单位,内容为无需在模板中配置的字段。

4)勾选需要配置的设备,点击配置,选择模板进行批量配置,勾选设备时可以通过设备类型等维度进行筛选。

5)确认保存,提交配置。

 

修改设备配置流程如下:

1)根据类型或直接勾选要修改配置的设备。

2)点击修改配置,选择要使用的模板

3)保存修改

 

新增设备流程:

1)手动输入字段进行新增,或者使用模板进行新增。

2)保存新增

 

提供的接口如下:

1)设备列表查询接口

2)设备单个新增接口

3)设备配置批量修改接口

4)设备删除接口

5)设备测点csv文件导入接口

6)模板列表查询接口

7)模板单个新增接口

8)模板修改接口

9)模板删除接口

 

待添加接口:

1)模板文件批量导出导入

2)设备类型的CRUD接口