An open-source Python IoT gateway that connects legacy and third-party devices to the ThingsBoard platform using multiple protocols.
ThingsBoard IoT Gateway is an open-source Python application that acts as a protocol adapter, integrating legacy and third-party devices with the ThingsBoard IoT platform. It collects data from various industrial and IoT protocols—like Modbus, OPC-UA, BACnet, and MQTT—and transforms it into a unified format for the platform, solving the challenge of connecting disparate systems to a modern IoT infrastructure.
IoT developers, system integrators, and industrial automation engineers who need to connect legacy devices, PLCs, building automation systems, or proprietary equipment to the ThingsBoard platform for monitoring and management.
Developers choose it for its extensive out-of-the-box protocol support, reliability features like data persistence, and remote management capabilities—allowing flexible, scalable integration without vendor lock-in, while being fully open-source and customizable.
Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using Modbus, CAN bus, BACnet, BLE, OPC-UA, MQTT, ODBC and REST protocols.
Supports Modbus, OPC-UA, MQTT, BACnet, and over a dozen other protocols out of the box, enabling seamless integration with diverse industrial and IoT devices without custom code.
Features local data buffering to prevent telemetry loss during network outages and automatic reconnection, ensuring data integrity in unreliable edge environments.
Allows configuration updates, remote logging, shell access, and RPC commands via the ThingsBoard web UI, simplifying monitoring and control of distributed gateways.
Provides APIs for building custom connectors and converters in Python, making it adaptable to proprietary systems or emerging protocols not covered natively.
Requires Python installation and libraries, which can be a barrier in environments standardized on other languages or with strict security policies against interpreted runtimes.
Involves manual editing of YAML/JSON files for each connector, leading to a steep learning curve and potential errors, especially for rapid prototyping or non-technical users.
As a Python-based application, it may struggle with high-throughput data streams from thousands of devices, compared to compiled gateways optimized for raw speed.
Designed exclusively for ThingsBoard, so using it with other IoT platforms requires significant workarounds or isn't feasible, limiting flexibility in multi-vendor setups.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.