超详细,手把手带你源码启动 Thingsboard-Gateway + MQTT 接入设备
前置条件
thingsboard,我这里选择的是本地源码启动postgresql,这里采用的是个人服务器部署的公共服务EMQX,这里同样采用服务器部署的公共服务MQTTX客户端Mysql【可选】,主要作用为 mqtt broker 客户端认证使用thingsboard控制台配置网关设备- 设备—> 添加设备—>设为网关
- 复制对应访问令牌
accessToken,下文配置需要
下载源码
git clone https://github.com/thingsboard/thingsboard-gateway.git
这里采用的是 release 最新版:3.5.1

相关配置项修改
-
config包下tb_gateway.json配置项修改

-
修改内容

-
thingsboard服务地址,这里由于是本地源码启动,所以 host 为 localhost,port 为 默认端口 1883【需注意】 -
accessToken需要在thingsboard控制台进行配置 -
connectors添加 mqtt 连接,也可根据其他协议进行添加"connectors": [{ "type": "mqtt", "name": "MQTT Broker Connector", "configuration": "mqtt.json" } ]
-
-
config包下mqtt.json配置项修改
-
修改内容
hostport,这里如果是本地启动,则需注意与thingsboard端口配置冲突username【可选】password【可选】
启动
- 通过
tb_gateway.py启动
启动完成后,tb 控制台会显示对应设备
流程测试
-
通过 MQTTX 客户端模拟设备发送数据到 broker,主题与配置文件中某一个对应主题一致即可

-
这里可以看到有两个客户端,一个是 mqttx,另一个就是我们的网关

-
通过 tb 控制台可以看到我们的设备显示,然后可以通过属性及最新遥测数据进行处理,属性和配置文件中对应字段一致即可,可自定义

总结
- 实际场景中,可能应用更多的是硬网关通过各种协议收集设备数据,并进行数据格式和协议转换发送到其他平台
- 可以在硬网关上使用这个软网关


















