RRPC支持调用RRPC通信相关Topic与云端通信。本文介绍RRPC通信相关Topic和接入方法。
RRPC通信相关Topic
RRPC通信相关Topic格式如下:
- RRPC请求消息Topic:/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId}
- RRPC响应消息Topic:/sys/${YourProductKey}/${YourDeviceName}/rrpc/response/${messageId}
- RRPC订阅Topic:/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/+
其中,${YourProductKey}是您的设备所属产品的ProductKey,${YourDeviceName}是您的设备的名称,${messageId}是云端生成的唯一的RRPC消息ID。
RRPC接入
- 云端发送RRPC消息。
服务端调用云端API RRpc接口向设备发送消息。接口调用方法,请参见RRpc。
以使用Java SDK为例,调用方式:
RRpcRequest request = new RRpcRequest(); request.setProductKey("testProductKey"); request.setDeviceName("testDeviceName"); request.setRequestBase64Byte(Base64.getEncoder().encodeToString("hello world")); request.setTimeout(3000); RRpcResponse response = client.getAcsResponse(request);
说明 请登录 OpenAPI Explorer,在线调用RRpc接口,便可查看多种语言云端SDK调用示例。 - 设备端返回RRPC响应的Topic。
设备端收到RRPC请求之后,需要根据RRPC请求Topic的格式,返回响应消息到对应的响应Topic。
设备端从收到消息的Topic(/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId})中提取出messageId,然后拼装出对应的RRPC响应Topic,发送响应给云端。
说明 目前,仅支持设备端返回QoS=0的RRPC响应消息。
示例: