ThingsBoard IoT Gateway
The Thingsboard IoT Gateway is an open-source solution that allows you to integrate devices connected to legacy and third-party systems with Thingsboard.
Thingsboard is an open-source IoT platform for data collection, processing, visualization, and device management. See What is Thingsboard? if you are new platform user.
What is ThingsBoard IoT Gateway?
Getting started with ThingsBoard IoT Gateway
Gateway features
Thingsboard IoT Gateway provides following features:
- OPC-UA connector to collect data from devices that are connected to OPC-UA servers.
- MQTT connector to collect data that is published to external MQTT brokers.
- Modbus connector to collect data from Modbus servers and slaves.
- BLE connector to collect data from BLE devices.
- Request connector to collect data from HTTP API.
- CAN connector to collect data using CAN protocol.
- BACnet connector to collect data from devices using BACnet protocol.
- ODBC connector to collect data from ODBC databases.
- Custom connector to collect data from custom protocols.
- Persistence of collected data to guarantee data delivery in case of network and hardware failures.
- Automatic reconnect to Thingsboard cluster.
- Simple yet powerful mapping of incoming data and messages to unified format.
- Remote logging feature to monitor the gateway status through the ThingsBoard WEB interface.
- RPC gateway methods to control and get information from the gateway through ThingsBoard WEB interface.
Architecture
The IoT Gateway is built on top of Python, however is different from similar projects that leverage OSGi technology.
The idea is distantly similar to microservices architecture.
The gateway supports custom connectors to connect to new devices or servers and custom converters for processing data from devices.
Especially, when we are talking about language APIs and existing libraries to work with serial ports, GPIOs, I2C, and new modules and sensors that are released every day.
The Gateway provides simple integration APIs, and encapsulates common Thingsboard related tasks: device provisioning, local data persistence and delivery, message converters and other.
For processing data from devices you also can write custom converter, it will receive information from device and send it to converter to convert to unified format before sending it to the ThingsBoard cluster.
Support
Don't forget to star the repository to show your ❤️ and support.
Licenses
This project is released under Apache 2.0 License.