• Stars
    star
    1,725
  • Rank 27,045 (Top 0.6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 8 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

What is 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.
  • REST connector to collect data using REST API.
  • CAN connector to collect data using CAN protocol.
  • BACnet connector to collect data from devices using BACnet protocol.
  • SNMP connector to collect data from SNMP managers objects.
  • ODBC connector to collect data from ODBC databases.
  • FTP connector to collect data from files via FTP.
  • Socket connector to collect data from devices using sockets.
  • XMPP connector to collect data from XMPP devices.
  • 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.
  • Remote shell to control operating system with ThingsBoard IoT Gateway from your ThingsBoard platform instance.
  • Device renaming/removing handling to keep the device list in actual state.
  • Gateway Configurator easy-to-use CLI configurator.
  • HOT Reload for developers.

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.

More Repositories

1

thingsboard

Open-source IoT Platform - Device management, data collection, processing and visualization.
Java
15,026
star
2

tbmq

Open-source MQTT broker - facilitates MQTT client connectivity, message publishing, and distribution among subscribers.
Java
262
star
3

flutter_thingsboard_app

ThingsBoard Mobile Application
Dart
213
star
4

thingsboard.github.io

Documentation repository
JavaScript
122
star
5

thingsboard-python-client-sdk

ThingsBoard client Python SDK
Python
111
star
6

thingsboard-edge

Java
101
star
7

flutter_thingsboard_pe_app

ThingsBoard PE Mobile Application
Dart
75
star
8

thingsboard-python-rest-client

ThingsBoard REST API client
Python
66
star
9

dart_thingsboard_client

ThingsBoard API client library for Dart developers.
Dart
59
star
10

thingsboard-ce-k8s

ThingsBoard Community Edition Kubernetes scripts and docs
Shell
57
star
11

esp32-ota

ESP32 OTA based on ThingsBoard Open-source IoT Platform
C
49
star
12

ngx-flowchart

ngx-flowchart is Angular 8 library to enable drag&drop modelling of graphs in web applications
TypeScript
47
star
13

dart_thingsboard_pe_client

ThingsBoard PE API client library for Dart developers.
Dart
46
star
14

performance-tests

Thingsboard performance tests
Java
39
star
15

samples

Thingboard sample applications
Java
32
star
16

thingsboard-rule-config-ui-ngx

TypeScript
27
star
17

thingsboard-rule-config-ui

Configuration UI for ThingsBoard Rule Nodes
HTML
21
star
18

thingsboard-pe-k8s

ThingsBoard Professional Edition Kubernetes scripts and docs
Shell
19
star
19

rule-node-examples

Examples of custom Rule Nodes for ThingsBoard contribution guide
Java
13
star
20

rule-node-examples-ui-ngx

TypeScript
11
star
21

thingsboard-extensions

TypeScript
11
star
22

thingsboard-pe-docker-compose

Docker configuration example for ThingsBoard PE Microservices
Shell
10
star
23

thingsboard-micropython-client-sdk

Python
9
star
24

tb-k8s-perf-tests

ThingsBoard PE performance test scripts
Shell
7
star
25

remote-integration-example

Sample application for custom remote integration
Java
6
star
26

thingsboard-udp-loadbalancer

ThingsBoard UDP Load Balancer designed for CoAP and LwM2M
Java
6
star
27

custom-oauth2-mapper

This project provides a sample of custom mapper of OAuth 2.0 external user into ThingsBoard internal user object
Java
5
star
28

tb-ble-adapter

BLE adapter script for connecting devices to ThingsBoard
Python
4
star
29

tb-ce-rest-client-example

Java
4
star
30

docker

Base docker images that are used by ThingsBoard micro-services architecture deployment scenarios
Dockerfile
4
star
31

gatts_demo

BLE GATT demo using ESP32
C
4
star
32

thingsboard-pe-ui-types

TypeScript
3
star
33

kafka-streams-example

Example of ThingsBoard and Kafka integration
Java
3
star
34

database-migrator

Java
2
star
35

tb-monitoring-tool

This is tool to monitor TB instances
Java
2
star
36

python_tb_rest_client_generator

Python ThingsBoard Rest Client Generator
Python
2
star
37

thingsboard-ui-help

ThingsBoard UI Help Assets
1
star
38

sparkplug-emulator

Java
1
star
39

rule-node-examples-ui

Examples of UI for custom Rule Nodes for ThingsBoard contribution guide
JavaScript
1
star
40

tb-pe-rest-client-example

Java
1
star