Reverse Remote Procedure Call (RRPC) memungkinkan Anda menggunakan topik kustom untuk berkomunikasi dengan IoT Platform. Topik RRPC mengintegrasikan topik kustom Anda guna mendukung komunikasi dalam berbagai skenario.
Prasyarat
Untuk mengembangkan perangkat yang berkomunikasi dengan IoT Platform menggunakan topik kustom, gunakan salah satu Link SDK berikut: C Link SDK.
Topik kustom
| Topik | Format | Deskripsi |
| Langganan RRPC | /ext/rrpc/+/${topic} |
Berlangganan ke topik kustom dalam pesan permintaan RRPC yang dikirim oleh IoT Platform. |
| Pesan permintaan RRPC | /ext/rrpc/${messageId}/${topic} |
Pesan permintaan RRPC yang dikirim oleh IoT Platform. |
| Pesan respons RRPC | /ext/rrpc/${messageId}/${topic} |
Pesan respons RRPC yang dikirim oleh perangkat. |
Format topik menggunakan variabel berikut:
- ${topic}: Topik kustom lengkap di IoT Platform. Formatnya adalah
/${productKey}/${deviceName}/user/${TopicShortName}.${TopicShortName}adalah akhiran dari topik kustom dan menentukan kategori topik. Untuk informasi selengkapnya, lihat Gunakan topik kustom untuk komunikasi. - ${messageId}: ID pesan RRPC unik yang dihasilkan oleh IoT Platform saat server memanggil operasi API RRpc untuk mengirim pesan ke perangkat. Gunakan ID ini untuk membedakan antara pesan RRPC yang berbeda.
Sebagai contoh, jika topik kustom untuk perangkat device1 adalah a18wP***/device1/user/get, maka topik untuk mengirim pesan RRPC adalah /ext/rrpc/121307410***/a18wP***/device1/user/get.
Koneksi dengan RRPC
- Kirim pesan RRPC dari IoT Platform.
Server memanggil API RRpc IoT Platform untuk mengirim pesan ke perangkat. Untuk informasi selengkapnya, lihat RRpc.
Contoh berikut menunjukkan cara memanggil API menggunakan Java SDK untuk IoT Platform.
Jika Anda menggunakan format topik kustom, pastikan Anda menggunakan IoT Platform Java SDK untuk cloud (aliyun-java-sdk-iot) versi 6.0.0 atau lebih baru.
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-iot</artifactId> <version>6.0.0</version> </dependency>Contoh pemanggilan API RRpc:
RRpcRequest request = new RRpcRequest(); request.setProductKey("testProductKey"); request.setDeviceName("testDeviceName"); request.setRequestBase64Byte(Base64.getEncoder().encodeToString("hello world")); request.setTopic("/testProductKey/testDeviceName/user/get");// Jika Anda menggunakan topik kustom, masukkan topik kustom di sini. request.setTimeout(3000); RRpcResponse response = client.getAcsResponse(request);Catatan Anda juga dapat masuk ke OpenAPI Developer Portal untuk memanggil API RRpc secara online dan melihat contoh pemanggilan untuk IoT Platform cloud SDK dalam berbagai bahasa. - Konfigurasikan perangkat.
Tidak diperlukan konfigurasi khusus untuk perangkat yang menggunakan C Link SDK.
- Perangkat mengirim respons RRPC.
Topik permintaan dan topik respons untuk panggilan RRPC sama. Perangkat mengirim respons ke topik yang sama tempat ia menerima permintaan.
Catatan Perangkat hanya dapat mengirim pesan respons RRPC dengan tingkat Quality of Service (QoS) 0.