若您未使用自定义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接入
- 物联网平台发送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调用示例。 - 设备端返回RRPC响应的Topic。
设备端收到RRPC请求之后,需要根据RRPC请求Topic的格式,返回响应消息到对应的响应Topic。
设备端从收到消息的Topic(
/sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId}
)中提取出messageId,然后拼装出对应的RRPC响应Topic,发送响应给物联网平台。说明 目前,仅支持设备端返回QoS=0的RRPC响应消息。
示例:远程控制树莓派服务器