目录结构

/etc/thingsboard-gateway/config                   - Configuration folder.
    tb_gateway.yaml                               - Main configuration file for Gateway.
    logs.conf                                     - Configuration file for logging.
    modbus.json                                   - Modbus connector configuration.
    mqtt.json                                     - MQTT connector configuration.
    ble.json                                      - BLE connector configuration.
    opcua.json                                    - OPC-UA connector configuration.
    request.json                                  - Request connector configuration.
    can.json                                      - CAN connector configuration. 
    ... 

/var/lib/thingsboard_gateway/extensions           - Folder for custom connectors/converters.                      
    modbus                                        - Folder for Modbus custom connectors/converters.
    mqtt                                          - Folder for MQTT custom connectors/converters.
        __init__.py                               - Default python package file, needed for correct imports.
        custom_uplink_mqtt_converter.py           - Custom Mqtt converter example.
    ...
    opcua                                         - Folder for OPC-UA custom connectors/converters.
    ble                                           - Folder for BLE custom connectors/converters.
    request                                       - Folder for Request custom connectors/converters.
    can                                           - Folder for CAN custom connectors/converters.

/var/log/thingsboard-gateway                      - Logs folder
    connector.log                                 - Connector logs.
    service.log                                   - Main gateway service logs.
    storage.log                                   - Storage logs.
    tb_connection.log                             - Logs for connection to the ThingsBoard instance.

通用配置文件

主配置问及那用于连接到ThingsBoard平台实例和启用/禁用连接器。这配置文件只想ThingsBoard实例并使用配置为存储最多100000条记录的内存文件存储。有4个不同的连接器处于活动状态。如果您只想使用其中之一,只需移除所有其他连接器。

主配置文件样例:

thingsboard:
  host: thingsboard.cloud
  port: 1883
  security:
    accessToken: PUT_YOUR_ACCESS_TOKEN_HERE
storage:
  type: memory
  read_records_count: 100
  max_records_count: 100000
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: CAN Connector
    type: can
    configuration: can.json

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

配置文件中的模块

  • thingsboard - 用于连接到ThingsBoard 平台的配置
  • storage - 用于本地存储来自设备的数据的配置
  • connectors - 连接器数组及其要使用的配置

安全子模块“security”

三种不同的安全配置

访问令牌(Access Token)

登录您的ThingsBoard平台来获取访问令牌。首先进入到设备选项卡(设备为网关的)

参数默认值描述
accessTokenPUT_YOUR_GW_ACCESS_TOKEN_HEAR来自ThingsBoard服务器的网关的访问令牌

安全子模块的配置如下所示:

...
  security:
    accessToken: PUT_YOUR_GW_ACCESS_TOKEN_HERE
...

安全传输协议 + 访问令牌(TLS + Access Token)

参数默认值描述
accessTokenPUT_YOUR_GW_ACCESS_TOKEN_HEAR来自 ThingsBoard服务器的网关访问令牌
caCert/etc/thingsboard-gateway/mqttserver.pub.pemCA证书文件

安全子模块的配置如下所示:

  security:
    accessToken: PUT_YOUR_GW_ACCESS_TOKEN_HERE
    caCert: /etc/thingsboard-gateway/mqttserver.pub.pem

安全传输协议 + 私钥(TLS + Private Key)

参数默认值描述
caCert/etc/thingsboard-gateway/ca.pemCA证书文件
privateKey/etc/thingsboard-gateway/privateKey.pem私钥文件
cert/etc/thingsboard-gateway/certificate.pem证书文件

安全子模块的配置如下所示:

  security:
    privateKey: /etc/thingsboard-gateway/privateKey.pem
    caCert: /etc/thingsboard-gateway/ca.pem
    cert: /etc/thingsboard-gateway/certificate.pem

存储配置

存储模块配置提供了在将传入数据发送到ThingsBoard平台之前保存传入数据的相关配置。其中有两种存储方式:内存和文件

1. 内存存储 - 接收到的数据存储到内存中

2. 文件存储 - 接收到的数据存储到硬盘中

内存存储(磁盘空间充足时建议使用该方式)

参数默认值描述
typememory存储类型(存储到内存)
read_records_count10从存储中获取并发送到ThingsBoard的消息数量
max_records_count*100发送到ThingsBoard之前存储的最大数据量

备注:如果接收到的数据超过最大存储最大值,新的数据将会丢失

存储模块配置如下所示:

storage:
  type: memory
  read_records_count: 10
  max_records_count: 1000

文件存储(需要持久化保存的建议使用该方式)

参数默认值描述
typefile存储类型(存储到硬盘)
data_folder_path./data/文件路径
max_file_count5将会保存的最大文件数
max_read_records_count*6从存储中获取并发送到ThingsBoard的消息数量
max_records_per_file14每个文件存储的最大记录数

备注:如果接收到的数据超过最大存储最大值,新的数据将会丢失

存储模块的配置如下所示:

storage
  type: file
  data_folder_path: ./data/
  max_file_count: 5
  max_read_records_count: 6
  max_records_per_file: 14

连接器配置

通过实现不同协议连接到设备的配置,每种连接器的配置参数如下表所示:

参数默认值描述
nameMQTT Broker Connector连接到broker的连接器名称
typemqtt连接器类型
configurationmqtt.json配置文件的名字
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: CAN Connector
    type: can
    configuration: can.json

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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐