Skip to content

ThingsBoard IoT Gateway

Compare
Choose a tag to compare
@imbeacon imbeacon released this 27 Dec 14:16
· 2380 commits to master since this release

Open-source Python IoT Gateway.
This is the first release of the brand new ThingsBoard Gateway. It is written in Python, unlike the previous one — based on Java. We are keen to improve our gateway, so within next releases you should expect new features and improvements.
The very basic data flow is as follows:
Incoming data goes to Connector — Connector forwards data to converter(s) and receives ThingsBoard suitable data — Connector sends the data to Persistent storage — ThingsBoard Gateway service delivers the data to ThingsBoard IoT Platform.
The Persistent storage (Event storage) is used to temporary store the telemetry, attributes and other events produced by Connectors until they are delivered to ThingsBoard. There are 2 types of storage — memory (RAM) and file (HDD).

  • Implemented several connectors:
    • MQTT - You can connect to external MQTT brokers.
      Supported features:
      - Subscription to topics on the broker for collection incoming data.
      - Publishing to topics on the broker after processing RPC requests from the ThingsBoard.
      - Subscription to RPC response topic on the broker.
      - Handling shared attribute update requests from the ThingsBoard.

    • Modbus - You can connect to external Modbus servers/clients.
      Supported features:
      - Reading data from registers.
      - Processing data from devices as telemetry and attributes on ThingsBoard.
      - RTU over TCP/UDP.
      - Serial RTU/ASCII client.
      - Processing shared attribute update request from ThingsBoard.
      - Opportunity for call functions on device/server on receiving RPC request from ThingsBoard.

    • OPC-UA - You can connect to external OPC-UA servers.
      Supported features:
      - Recursive scan over nodes in server.
      - Processing data from devices as telemetry and attributes on ThingsBoard.
      - Processing RPC requests from ThingsBoard.
      - Processing shared attribute update request from ThingsBoard.
      - Recursive search over path in the server.

    • Bluetooth Low Energy - You can connect to different BLE devices.
      Supported features:
      - Processing data from devices as telemetry and attributes on ThingsBoard.
      - Read/Write/Notify characteristics methods are supported.
      - Processing shared attribute update request from ThingsBoard.
      - Processing RPC requests from ThingsBoard.