ThingsBoard服务端使用RPC通过网关给设备发送消息

一、概述

1、发送服务器端网关RPC

二、案例:

1、建立设备与网关之间的通讯

2、查看设备和网关是否在线状态啊

3、通过 仪表盘,创建设备A的模拟RPC调用的窗口链接

4、在客户端的网关设备上订阅RPC网关的主题信息

5、通过服务端的窗口,发送设备的命令

6、查看客户端的MQTT端口是否已接受到对应的消息 

7、当客户端已接受到消息后,通过网关进行回复消息接受

8、服务端查看已接受到对应的消息

一、概述

1、发送服务器端网关RPC

服务器端 RPC 通常使用 REST API 或仪表板小部件发送。事实上,仪表板小部件使用相同的 REST API。一旦平台收到 RPC,它就会验证有效负载并运行权限检查。然后,服务器端RPC命令被转换为规则引擎消息。规则引擎可以用附加参数来丰富命令,并最终将命令传送到设备。

我们来详细回顾一下如何发送命令:

为了从服务器订阅 RPC 命令,请将 SUBSCRIBE 消息发送到以下主题:

v1/gateway/rpc

并期望带有以下格式的单独命令的消息:

{"device": "Device A", "data": {"id": $request_id, "method": "toggle_gpio", "params": {"pin":1}}}

一旦设备处理了命令,网关就可以使用以下格式发回命令:

{"device": "Device A", "id": $request_id, "data": {"success": true}}

其中$request_id是您的整数请求标识符,Device A是您的设备名称,method是您的 RPC 方法名称。
 

v1/gateway/connect

二、案例:

 ThingsBoard服务端使用RPC通过网关给设备发送消息,首先本设备需要是和网关建立通讯的,才能进行RPC的调用

1、建立设备与网关之间的通讯

建立网关与设备的链接的Topic

v1/gateway/connect

 对应的设备信息

{"device":"Device A"}

2、查看设备和网关是否在线状态啊

3、通过 仪表盘,创建设备A的模拟RPC调用的窗口链接

4、在客户端的网关设备上订阅RPC网关的主题信息

v1/gateway/rpc

5、通过服务端的窗口,发送设备的命令

toggle_gpio {"pin":1}

6、查看客户端的MQTT端口是否已接受到对应的消息 

7、当客户端已接受到消息后,通过网关进行回复消息接受

注意:内部的ID,必须和repuest请求过来的相同

Topic

v1/gateway/rpc

回复的消息 

{"device": "Device A", "id": 13, "data": {"success": true}}

8、服务端查看已接受到对应的消息

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Thingsboard RPC是一个在Thingsboard IoT平台上实现的远程过程调用(RPC)协议。该协议可以通过设备端和服务器端之间的消息传递实现远程操作和数据交换。 通过使用RPC协议,设备端可以请求并获取从Thingsboard服务器中发送的数据、设备配置信息及指令等内容。同时,服务器端也可以通过RPC协议向设备发送命令控制和操作指令,实现对设备进行远程配置和调试。 Thingsboard RPC通过 WebSocket通信方式实现低延迟的双向通信,并提供多种安全认证机制,如基于令牌的认证和 OAuth 2.0授权认证,以确保通信的安全性和保密性。 由于其灵活性和可扩展性,Thingsboard RPC被广泛用于各种物联网设备连接和数据交互场景,尤其在智能家居、工业生产监控和智能交通等领域得到了广泛应用。 ### 回答2: Thingsboard RPC是一种客户端与Thingsboard服务器之间实现远程过程调用(RPC)的方法。将RPC作为通讯协议可以让设备在向云平台发送指令时变得更加方便易用。它提供了从Thingsboard服务器向设备发送指令的方法,这些指令可以让设备执行命令、控制参数、查询状态等一系列操作。 在Thingsboard系统中,RPC是基于MQTT协议实现的,这使得在设备和服务器之间进行指令通讯变得更加轻松。对于开发者来讲,使用Thingsboard RPC可以更加方便的编写客户端软件,通过依赖Thingsboard中现有的一些API,实现与设备之间的通信。 Thingsboard RPC的作用十分重要,因为它可以降低设备与云平台之间的耦合性,让设备可以更加自由的与不同的云平台相连接。使用RPC设备只需要实现特定的通讯协议,然后就可以与Thingsboard建立通讯链路,在云平台上实现远程过程调用。 总的来说,使用Thingsboard RPC可以使设备与云平台之间的通讯更加高效、且易于管理,同时也可以让开发者更加方便的实现针对设备的应用程序。这是一种十分有效的通讯方法,有助于促进IoT设备在各具特色的云平台上实现海量连接。 ### 回答3: Thingsboard RPC是一种在Thingsboard IoT平台上运行的远程过程调用(RPC)协议,它使用了基于HTTP的RESTful API,支持在设备和应用程序之间进行双向通信以及控制和监视设备。 首先,Thingsboard RPC协议主要用于远程控制设备。通过在Thingsboard服务器上定义RPC方法,您可以在物联网设备中远程调用这些方法。这些方法可以用于控制物联网设备上的功能,例如打开闸门、控制灯光等。这种远程控制可以通过HTTP和MQTT协议完成。 其次,Thingsboard RPC还提供了一种机制来监视物联网设备。通过在设备上定义RPC方法,您可以定期将设备状态更新并发送到Thingsboard服务器。这种状态更新可帮助监视设备运行状况,例如检测设备的电量和温度等,以及发现潜在的故障或其他问题。 此外,Thingsboard RPC还可以帮助您构建复杂的工作流程,以便实现更高级别的控制。通过结合Thingsboard的规则引擎和RPC方法,您可以自动化执行流程,例如将安全告警发送给工程师或将数据记录到数据库中。 总而言之,Thingsboard RPC是一个功能强大的远程过程调用协议,可以帮助您控制和监视物联网设备,并实现自动化工作流程。它是Thingsboard IoT平台成功的关键之一,也是许多物联网应用程序所必需的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西西o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值