超详细,手把手带你源码启动 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
配置项修改 -
修改内容
host
port
,这里如果是本地启动,则需注意与thingsboard
端口配置冲突username
【可选】password
【可选】
启动
- 通过
tb_gateway.py
启动
启动完成后,tb 控制台会显示对应设备
流程测试
-
通过 MQTTX 客户端模拟设备发送数据到 broker,主题与配置文件中某一个对应主题一致即可
-
这里可以看到有两个客户端,一个是 mqttx,另一个就是我们的网关
-
通过 tb 控制台可以看到我们的设备显示,然后可以通过属性及最新遥测数据进行处理,属性和配置文件中对应字段一致即可,可自定义
总结
- 实际场景中,可能应用更多的是硬网关通过各种协议收集设备数据,并进行数据格式和协议转换发送到其他平台
- 可以在硬网关上使用这个软网关