Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备

Thingsboard IoT Gateway是一个开源解决方案,可让您使用Thingsboard集成连接到旧系统和第三方系统的设备。本文将介绍TB3.0如何使用Gateway网关接入MQTT设备。

ThingsBoard IoT网关提供以下功能:

  • OPC-UA连接器,用于从连接到OPC-UA服务器的设备收集数据。
  • MQTT连接器,用于收集发布到外部MQTT代理的数据。
  • Modbus连接器,用于从Modbus服务器和从站收集数据。
  • BLE连接器,用于从BLE设备收集数据。
  • 请求连接器以从HTTP API收集数据。
  • CAN连接器使用CAN协议收集数据。
  • BACnet连接器,用于使用BACnet协议从设备收集数据。
  • ODBC连接器,用于从ODBC数据库收集数据。
  • 自定义连接器,用于从自定义协议收集数据。
  • 在网络和硬件故障的情况下,所收集数据的持久性可确保数据传输。
  • 自动重新连接到Thingsboard集群。
  • 简单但功能强大的将传入数据和消息映射为统一格式。
    远程日志记录功能可通过ThingsBoard WEB界面监视网关状态。
  • RPC网关方法,用于通过ThingsBoard WEB界面控制和从网关获取信息。

环境准备

安装Python

本地运行 thingsboard-gateway 需要安装 Python3.5 以上的环境才能运行。
python下载地址
安装完成后cmd输入python,出现如下内容代表安装成功:
在这里插入图片描述

安装EMQ X

broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者,本次测试使用EMQ X。
EMQ X下载地址
EMQ X使用教程

安装ThingsBoard-Gateway

  • 拉取代码
git clone https://github.com/thingsboard/thingsboard-gateway.git
  • 使用setup.py脚本安装python模块
cd thingsboard-gateway
python setup.py install
  • 测试启动网关
python ./thingsboard_gateway/tb_gateway.py

开始动手

  1. 创建一个设备,类型选择网关,如图:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第1张图片

  2. 网关配置
    将上面创建的网关设备的访问令牌复制:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第2张图片

将复制的令牌配置到tb_gateway.yaml 文件中的 accessToken 字段后面
Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第3张图片
配置mqtt.json,如图:
Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第4张图片

  1. 配置和启动emqx
    进入etc目录,修改emqx.conf配置文件,调整默认端口,防止与ThingsBoard冲突:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第5张图片
    进入emqx解压包的bin目录,启动emqx:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第6张图片

  2. 启动网关
    进入网关目录,运行tb_gateway.py启动网关:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第7张图片
    启动成功后登录emqx控制台,会多出一个客户端,也就是刚才的启动的网关:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第8张图片

  3. 创建MQTT Client
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第9张图片

  4. 发送数据到Topic
    参考官网的例子,发送数据到sensor/+/data topic:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第10张图片
    对于MQTT Box配置如下:
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第11张图片

  5. 切回 TB 控制台,刷新设备列表会自动增加一台设备,并可以看到刚才发送的最新遥测数据。
    Thingsboard 3.0 TB-Gateway网关接入 MQTT 设备_第12张图片
    至此,网关接入MQTT已经完成。

你可能感兴趣的:(物联网,java)