若您未使用自定义Topic通信,RRPC支持调用默认通信Topic与物联网平台通信。本文介绍RRPC默认通信Topic和接入方法。

RRPC默认通信Topic

RRPC默认通信Topic格式如下:

Topic格式说明
RRPC订阅/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/+订阅物联网平台下发的RRPC请求消息。
RRPC请求消息/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId}物联网平台下发的RRPC请求消息。
RRPC响应消息/sys/${YourProductKey}/${YourDeviceName}/rrpc/response/${messageId}设备上行的RRPC响应消息。

Topic格式中:

  • ${YourProductKey}:您设备所属产品的ProductKey
  • ${YourDeviceName}:您设备的名称。
  • ${messageId}:服务端调用物联网平台的RRpc接口向设备下发消息时,物联网平台生成的唯一的RRPC消息ID,可用于区分不同的RRPC消息。

RRPC接入

  1. 物联网平台发送RRPC消息。

    服务端调用物联网平台的RRpc接口向设备发送消息。接口调用方法,请参见RRpc

    以使用Java Link SDK为例,调用方式如下:

    RRpcRequest request = new RRpcRequest();
    request.setProductKey("testProductKey");
    request.setDeviceName("testDeviceName");
    request.setRequestBase64Byte("dGhpcyBpcyBhbiBleGFtcGxl");
    request.setTimeout(3000);
    RRpcResponse response = client.getAcsResponse(request);
    说明 请登录OpenAPI开发者门户,在线调用RRpc接口,查看物联网平台中多种语言的云端SDK调用示例。
  2. 设备端返回RRPC响应的Topic。

    设备端收到RRPC请求之后,需要根据RRPC请求Topic的格式,返回响应消息到对应的响应Topic。

    设备端从收到消息的Topic(/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId})中提取出messageId,然后拼装出对应的RRPC响应Topic,发送响应给物联网平台。

    说明 目前,仅支持设备端返回QoS=0的RRPC响应消息。

示例:远程控制树莓派服务器