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
开始动手
-
创建一个设备,类型选择网关,如图:
-
网关配置
将上面创建的网关设备的访问令牌复制:
将复制的令牌配置到tb_gateway.yaml 文件中的 accessToken 字段后面
配置mqtt.json,如图:
-
配置和启动emqx
进入etc目录,修改emqx.conf配置文件,调整默认端口,防止与ThingsBoard冲突:
进入emqx解压包的bin目录,启动emqx:
-
启动网关
进入网关目录,运行tb_gateway.py启动网关:
启动成功后登录emqx控制台,会多出一个客户端,也就是刚才的启动的网关:
-
创建MQTT Client
-
发送数据到Topic
参考官网的例子,发送数据到sensor/+/data topic:
对于MQTT Box配置如下:
-
切回 TB 控制台,刷新设备列表会自动增加一台设备,并可以看到刚才发送的最新遥测数据。
至此,网关接入MQTT已经完成。
更多推荐
已为社区贡献3条内容
所有评论(0)