Skip to content

Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using OPC-UA and MQTT protocols

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-header-template.txt
Notifications You must be signed in to change notification settings

ascentio-tech/thingsboard-gateway

 
 

Repository files navigation

Thingsboard IoT Gateway (Ascentio Tech's fork)

Build Status Quality Gate Status Maintainability Rating Bugs Code Smells

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.

IoT Gateway architecture

Documentation

Thingsboard IoT Gateway documentation is hosted on thingsboard.io.

Gateway features

Thingsboard IoT Gateway provides following features:

  • OPC-UA extension to collect data from devices that are connected to OPC-UA servers.
  • MQTT extension to collect data that is published to external MQTT brokers.
  • 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.

Architecture

The IoT Gateway is built on top of Java, however is different from similar projects that leverage OSGi technology. The idea is distantly similar to microservices architecture. There are other programming languages (C, C++, Python, Javascript, Go..) that may be more suitable for application development that target IoT 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/adaptors and other. As an application developer, you are able to choose Python, Go, C/C++ and other languages and connect to Thingsboard Gateway through external MQTT broker or OPC-UA server. Devices that support other protocols may be connected to gateway by implementing custom extensions.

IoT use cases

Smart energy Smart energy monitoring demo

Smart farming Smart farming

Fleet tracking Fleet tracking

Getting Started

Connect to your OPC-UA server or MQTT broker in minutes by following this guide.

Project Roadmap

The initial Gateway release goal is to bring Thingsboard data collection feature to OPC-UA and MQTT enabled devices.
The Gateway project is currently in active development stage and you should expect following major features in next releases:

  • Ability to configure devices connected through the Gateway using Thingsboard Attributes feature.
  • Ability to control devices connected through the Gateway using Thingsboard RPC feature.
  • Ability to configure Gateway distantly from Thingsboard Dashboards.
  • Client-side load balancing based on information about Thingsboard cluster.
  • Ability to visualize collected device data on the Gateway Web UI.
  • Configurable edge analytics.

Support

Licenses

This project is released under Apache 2.0 License.

About

Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using OPC-UA and MQTT protocols

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-header-template.txt

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.3%
  • Other 1.7%