ThingsBoard-设备网关Rpc控制

ThingsBoard-Rpc控制设备

ThingsBoard-Rpc控制设备-CSDN博客文章浏览阅读432次,点赞10次,收藏7次。ThingsBoard-Rpc控制设备https://blog.csdn.net/liu971134228/article/details/145073027

1、网关介绍

2、创建网关

3、连接网关

设备连接 API

为了通知 ThingsBoard 设备已连接到网关,需要发布以下消息:
Topic: v1/gateway/connect
Message: {"device":"Device A"}

其中,Device A是您的设备名称。
一旦收到,ThingsBoard 将查找或创建具有指定名称的设备。此外,ThingsBoard 还会向此网关发布有关特定设备的新属性更新和 RPC 命令的消息。

设备断开连接 API

为了通知 ThingsBoard 设备与网关断开连接,需要发布以下消息:
Topic: v1/gateway/disconnect
Message: {"device":"Device A"}

其中,Device A是您的设备名称。
一旦收到,ThingsBoard 将不再向此网关发布该特定设备的更新。

备注

断开连接的话设备不会立即断开连接而是根据 tb配置断开连接
# 默认 10分钟不活动超时
DEFAULT_INACTIVITY_TIMEOUT: 600
# 一分钟扫描一次设备是否在线状态
DEFAULT_STATE_CHECK_INTERVAL: 60

4、属性 api

上报设备 b属性如果设备 b 不存在tb创建设备 b并且上报属性

将属性更新发布到服务器

从服务器订阅属性更新
为了订阅共享设备属性变化,请向以下主题发送 SUBSCRIBE 消息:
v1/gateway/attributes

从服务器请求属性值
为了向 ThingsBoard 服务器节点请求客户端或共享设备属性,请向以下主题发送 PUBLISH 消息:
Topic: v1/gateway/attributes/request
Message: {"id": $request_id, "device": "Device A", "client": true, "key": "attribute1"}
其中$request_id是您的整数请求标识符,Device A是您的设备名称,client标识客户端或共享属性范围,key是属性键。

并期望结果消息的格式如下:
Message: {"id": $request_id, "device": "Device A", "value": "value1"}

5、遥测上传 API
为了将设备遥测数据发布到 ThingsBoard 服务器节点,请将 PUBLISH 消息发送至以下主题:
Topic: v1/gateway/telemetry
Message:
{
  "Device A": [
    {
      "ts": 1483228800000,
      "values": {
        "temperature": 42,
        "humidity": 80
      }
    },
    {
      "ts": 1483228801000,
      "values": {
        "temperature": 43,
        "humidity": 82
      }
    }
  ],
  "Device B": [
    {
      "ts": 1483228800000,
      "values": {
        "temperature": 42,
        "humidity": 80
      }
    }
  ]
}
其中设备 A和设备 B是您的设备名称,温度和湿度是遥测密钥,ts是以毫秒为单位的 unix 时间戳。

6、服务器端 RPC

网关通过 mgtt 连接 tb、设备通过网关连接 tb

如果 tb 下发命令给设备的话,需要网关订阅主题v1/gateway/rpc,然后对DeviceA下发指令然后网关与设备进行交互,发送给子设备(硬件程序员处理的内部逻辑),子设备处理成功,网关回复响应消息给TB设备处理完命令后,网关可以使用以下格式发回命令:{"device": "Device A","id": $request id,"data": {"success": true}}

tb 发送控制给设备,网关监听 topic,然后设备会告知网关是否成功(这块由硬件那边处理网关跟设备的通信),然后网关发送 topic 通知 tb设备是否成功

可以看到 tb设备A 发送控制时候网关订阅到了消息然后网关控制设备执行设备执行成功告诉网关然后网关响应发送给 tb 即可

设备响应成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值