What is ThingsBoard IoT Gateway?
什么是Iot网关
The ThingsBoard IoT Gateway is an open-source solution that allows you to integrate IoT devices connected to legacy and third-party systems with ThingsBoard.
IoT网关是指可以高度集成遗留系统和第三方系统上联接设备的开源解决方案。
Gateway features
网关特点
IoT网关有以下特点: MQTT extension to control, configure and collect data from IoT devices that are connected to external MQTT brokers using existing protocols. OPC-UA extension to collect data from IoT devices that are connected to OPC-UA servers. Sigfox extension to collect data from IoT devices that are connected to Sigfox Backend. 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.
- MQTT扩展 - 于控制、配置和收集使用现有协议连接到外部MQTT代理的IoT设备数据。
- OPC-UA扩展 - 收集连接到OPC-UA服务端的IoT设备数据。
- Sigfox扩展 - 收集连接到Sigfox后端的IoT设备数据。
- 数据持久 - 网络和硬件异常时保证数据正常传输。
- 自动重新连接到UlyncThings集群。
- 将传入的数据和消息映射到统一格式。
Architecture
ThingsBoard IoT Gateway architecture The IoT Gateway is built on top of Java, however, it is different from similar projects that leverage OSGi technology. The idea is distantly similar to the microservices architecture. There are other programming languages (C, C++, Python, Javascript, Go..) that may be more suitable for the development of the applications 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. IoT devices that support other protocols may be connected to the gateway by implementing custom extensions.
网关结构
IoT网关建立在Java之上,但是它又不同于使用OSGi技术的类似项目。它的结构理念与微服务体系结构非常相似。 此外,在语言api、现有的库与串行端口,GPIOs,I2C,以及每天发布的新模块和传感器协作时, 其他编程语言如C、c++、Python、Javascript、Go等,可能更适合于针对IoT设备的应用程序的开发。
网关提供了简单的集成api,并封装了常见的UlyncThings相关任务:设备供应、本地数据持久性和交付、消息转换器/适配器等。作为应用程序开发人员,您可以选择使用Python、Go、C / c++和其他语言,并通过外部MQTT代理或opc - ua服务器连接到UlyncThing网关。支持其他协议的物联网设备可以通过实现自定义扩展连接到网关。
Project Roadmap
The initial Gateway release goal is to bring ThingsBoard data collection feature to OPC-UA and MQTT enabled devices. ThingsBoard Gateway 1.2 provides the ability to configure and control MQTT enabled devices from ThingsBoard through the Gateway. The Gateway project is currently in active development stage and you should expect following major features in next releases: Sigfox and OPC-UA extension improvements: Ability to configure IoT devices connected through the Gateway using ThingsBoard Attributes feature. Ability to control IoT 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.
网关路线图: 最初的网关发布目标是将UlyncThings数据收集特性引入opc - ua和MQTT支持的设备。UlyncThings网关1.2提供了从UlyncThings到网关配置和控制MQTT的能力。
网关在持续开发中,预期会有以下几大功能: Sigfox和opc - ua扩展改进:
能够使用属性配置连接到网关的物联网设备。 能够使用RPC功能控制连接到网关的物联网设备。 能够从仪表盘配置网关。 基于集群信息的客户端负载均衡。 能够在网关Web UI上可视化收集设备数据。 可配置的优势分析。