文章目录
说明
通过下面案例了解MQTT连接器的使用,包括遥测,属性,单向双向RPC。
案例:有个开关传感器,且集成一些温湿度,温湿度上传为设备遥测,型号等上传为设备属性。单向RPC控制开关,双向RPC获取开关状态。
BUG:tb网关的MQTT连接器双向RPC存在问题,无法成功,视频和文章会演示如何解决BUG。
过程演示
ThingsBoard网关 mqtt连接器演示及双向RPC的BUG修复
文字展示视频操作过程
修改网关配置
thingsboard_gateway/config/tb_gateway.yaml
thingsboard:
host: 192.168.7.198 # TB mqtt ip
port: 1883 # TB mqtt端口
remoteShell: false
remoteConfiguration: false
security:
accessToken: LmX4G3nhJXRr0zOk6mzL # mqtt网关设备accesstoken
qos: 0
storage:
type: memory
read_records_count: 100
max_records_count: 100000
connectors: # 打开MQTT连接器
-
name: MQTT Broker Connector
type: mqtt
configuration: mqtt-test.json #指定mqtt连接器配置文件
MQTT连接器配置
{
"broker": {
"name":"EMQX Broker",
"host":"192.168.7.190",
"port":1883,
"clientId": "ThingsBoard_gateway",
"security": {
"type": "basic",
"username": "admin",
"password": "admin"
}
},
"mapping": [
{
"topicFilter": "sensor/data",
"converter": {
"type": "json",
"deviceNameJsonExpression": "${serialNumber}",
"deviceTypeJsonExpression": "${sensorType}",
"timeout": 60000,
"attributes": [
{
"type": "string",
"key": "model",
"value": "${sensorModel}"
},
{
"type": "string",
"key": "${sensorModel}",
"value": "on"
}
],
"timeseries": [
{
"type": "double",
"key": "temperature",
"value": "${temp}"
},
{
"type": "double",
"key": "humidity",
"value"