全部产品
Search
文档中心

阿里云物联网平台:什么是RRPC

更新时间:Dec 07, 2023

MQTT协议基于PUB/SUB的异步通信模式,不适用于服务端控制设备端并同步获取返回结果的场景。物联网平台基于MQTT协议给用户服务端提供了RRPC接口,实现用户服务端下发RRPC消息数据并同步等待设备响应数据。

名词解释

名词

说明

RRPC

是Revert-RPC的简称。RPC(Remote Procedure Call)是指采用客户机/服务器模式,您不需要了解底层技术协议,即可远程请求服务。RRPC则可以实现由服务端请求设备端,并能够使设备端响应的功能。

RRPC订阅Topic

设备端订阅RRPC消息时传递的Topic,含有通配符。

RRPC请求消息

物联网平台下发给设备端的消息。

RRPC响应消息

设备端回复给物联网平台的消息。

RRPC消息ID

物联网平台为每次RRPC调用,生成的唯一消息ID,可标识不同RRPC消息。

RRPC原理

RRPC

具体流程如下:

  1. (可选)设备端订阅RRPC相关Topic。

    物联网平台根据MQTT协议,仅定制了RRPC消息的请求和响应机制。设备端若要获取物联网平台下发的RRPC消息数据,并做应对处理,需要在设备端先订阅Topic,然后开发数据处理逻辑。

    • 设备可通过发送SUB指令订阅指定Topic,实现从物联网平台获取消息。开发方法,请参见Link SDK中订阅Topic的代码示例。

    • 在设备端开发处理RRPC消息数据的方法,请参见RRPC功能开发示例

  2. 用户服务器调用物联网平台的RRpc接口。

  3. 物联网平台收到服务器端RRPC调用请求,向设备下发一条RRPC请求消息。消息体为用户传入的数据,Topic为物联网平台定义的Topic,且携带RRPC消息ID。

  4. 设备收到下行消息后,按照指定Topic格式(包含之前物联网平台下发的唯一RRPC消息ID),回复一条RRPC响应消息给物联网平台。

  5. 物联网平台提取RRPC消息ID,和之前的RRPC请求消息匹配。

  6. 物联网平台将响应结果返回给用户服务器。

  7. (可选)设备对已订阅Topic的消息进行处理。

说明

调用RRpc接口时,可能出现以下情况:

  • 设备不在线,物联网平台会向用户服务器,返回设备离线的错误信息。

  • 设备未在超时时间(8秒)内回复RRPC响应消息,物联网平台会向用户服务器,返回超时的错误信息。

使用Topic

不同Topic格式使用方法不同:

RRPC调用实践示例,请参见远程控制树莓派服务器