$rrpc/rxd/${productID}/${deviceName}/+用于订阅云端下发(下行)的 RRPC 请求消息。$rrpc/rxd/${productID}/${deviceName}/${processID}用于云端发布(下行)RRPC 请求消息。$rrpc/txd/${productID}/${deviceName}/${processID}用于发布(上行)RRPC 应答消息。${productID}:产品 ID。${deviceName}:设备名称。${processID}: 服务器生成的唯一的消息 ID,用来标识不同 RRPC 消息。可以通过 RRPC 应答消息中携带的 processID 找到对应的 RRPC 请求消息。
CMakeLists.txt确保以下选项存在:set(BUILD_TYPE "release")set(COMPILE_TOOLS "gcc")set(PLATFORM "linux")set(FEATURE_MQTT_COMM_ENABLED ON)set(FEATURE_RRPC_ENABLED ON)set(FEATURE_AUTH_MODE "KEY")set(FEATURE_AUTH_WITH_NOTLS OFF)set(FEATURE_DEBUG_DEV_INFO_USED OFF)
./cmake_build.sh
rrpc_sample位于output/release/bin文件夹中。aircond_device_info1.json中:{"auth_mode":"KEY","productId":"KL4J2****8","deviceName":"airConditioner1","key_deviceinfo":{"deviceSecret":"zOZXUaycuwleP****78dBA=="}}
rrpc_sample示例程序./rrpc_sample -c ./aircond_device_info1.json -l 1000INF|2020-08-03 23:57:55|qcloud_iot_device.c|iot_device_info_set(50): SDK_Ver: 3.2.0, Product_ID: KL4J2****8, Device_Name: airConditioner1DBG|2020-08-03 23:57:55|HAL_TLS_mbedtls.c|HAL_TLS_Connect(200): Setting up the SSL/TLS structure...DBG|2020-08-03 23:57:55|HAL_TLS_mbedtls.c|HAL_TLS_Connect(242): Performing the SSL/TLS handshake...DBG|2020-08-03 23:57:55|HAL_TLS_mbedtls.c|HAL_TLS_Connect(243): Connecting to /KL4J2****8.iotcloud.tencentdevices.com/8883...INF|2020-08-03 23:57:55|HAL_TLS_mbedtls.c|HAL_TLS_Connect(265): connected with /KL4J2****8.iotcloud.tencentdevices.com/8883...INF|2020-08-03 23:57:56|mqtt_client.c|IOT_MQTT_Construct(113): mqtt connect with id: 2**** successINF|2020-08-03 23:57:56|rrpc_sample.c|main(206): Cloud Device Construct SuccessDBG|2020-08-03 23:57:56|mqtt_client_subscribe.c|qcloud_iot_mqtt_subscribe(142): topicName=$rrpc/rxd/KL4J2****8/airConditioner1/+|packet_id=****INF|2020-08-03 23:57:56|rrpc_sample.c|_mqtt_event_handler(49): subscribe success, packet-id=*****DBG|2020-08-03 23:57:56|rrpc_client.c|_rrpc_event_callback(104): rrpc topic subscribe success
PublishRRPCMessage 发送 RRPC 请求消息process id为***。DBG|2020-08-04 00:07:36|rrpc_client.c|_rrpc_message_cb(85): topic=$rrpc/rxd/KL4J2****8/airConditioner1/***INF|2020-08-04 00:07:36|rrpc_client.c|_rrpc_message_cb(86): len=6, topic_msg=closedINF|2020-08-04 00:07:36|rrpc_client.c|_rrpc_get_process_id(76): len=3, process id=***INF|2020-08-04 00:07:36|rrpc_sample.c|_rrpc_message_handler(137): rrpc message=closed
process id为***。DBG|2020-08-04 00:07:36|mqtt_client_publish.c|qcloud_iot_mqtt_publish(340): publish packetID=0|topicName=$rrpc/txd/KL4J2****8/airConditioner1/***|payload=ok
MessageId为***,Payload经过base64编码后为****,其与客户端实际应答消息经过base64编码后一致。可以确认收到了应答消息。文档反馈