Protokol Message Queuing Telemetry Transport (MQTT) menggunakan model publikasi/langganan asinkron. Model ini tidak cocok untuk skenario di mana server pengguna perlu secara sinkron mengontrol perangkat dan mendapatkan respons. IoT Platform menyediakan mekanisme komunikasi sinkron berbasis MQTT tanpa memerlukan modifikasi protokol MQTT. IoT Platform menawarkan operasi RRpc yang memungkinkan server pengguna mengirim permintaan ke perangkat. Perangkat hanya perlu merespons permintaan tersebut melalui topik tertentu, sehingga server dapat secara sinkron mendapatkan respons.
Istilah
| Istilah | Deskripsi |
| RRPC | RRPC adalah singkatan dari revert-RPC. Remote Procedure Call (RPC) menggunakan model client-server. Model ini memungkinkan Anda meminta layanan jarak jauh tanpa perlu memahami protokol yang mendasarinya. RRPC memungkinkan Anda mengirim permintaan dari server ke perangkat dan menerima respons dari perangkat. |
| Topik langganan spesifik RRPC | Topik tempat perangkat berlangganan untuk menerima pesan RRPC. Topik ini mencakup wildcard. |
| Pesan permintaan RRPC | Pesan yang dikirim oleh IoT Platform ke perangkat. |
| Pesan respons RRPC | Pesan yang dikirim oleh perangkat ke IoT Platform sebagai respons. |
| ID Pesan RRPC | ID yang dihasilkan oleh IoT Platform untuk setiap pesan RRPC. |
Cara kerja komunikasi melalui RRPC

Proses:
- Opsional. Perangkat dapat berlangganan topik langganan RRPC.
IoT Platform hanya dapat mengirim pesan permintaan RRPC dan menerima pesan respons RRPC melalui MQTT. Jika perangkat perlu mendapatkan dan memproses data RRPC dari IoT Platform, perangkat harus berlangganan topik terkait serta mengimplementasikan logika pemrosesan data yang telah dikembangkan.
- Perangkat dapat mengirim perintah SUB untuk berlangganan topik tertentu dan menerima pesan dari IoT Platform. Untuk contoh kode yang dapat digunakan untuk berlangganan topik perangkat, lihat Link SDKs.
- Untuk informasi tentang cara perangkat memproses data RRPC, lihat Ikhtisar RRPC.
- Server pengguna memanggil operasi RRpc dari IoT Platform.
- IoT Platform menerima permintaan RRPC dari sisi server dan mengirim pesan permintaan RRPC ke perangkat. Badan pesan mencakup payload yang dikirim oleh server pengguna. Topik yang digunakan perangkat untuk menerima pesan RRPC telah ditentukan sebelumnya di IoT Platform dan mencakup ID pesan.
- Setelah menerima pesan, perangkat mengirim pesan respons RRPC ke IoT Platform melalui topik tertentu. Topik ini mencakup ID pesan permintaan.
- IoT Platform mengekstrak ID pesan respons untuk mencocokkan dengan pesan permintaan RRPC sebelumnya.
- IoT Platform mengembalikan respons ke server pengguna.
- Opsional. Perangkat memproses pesan dari topik yang dilanggan.
- Perangkat sedang offline. Dalam hal ini, IoT Platform mengembalikan pesan kesalahan ke server pengguna.
- Perangkat tidak merespons permintaan RRPC dalam periode timeout (8 detik). Dalam hal ini, IoT Platform juga mengembalikan pesan kesalahan ke server pengguna.
Topik spesifik RRPC
Anda dapat mengimplementasikan RRPC berdasarkan jenis-jenis topik berikut:
- Gunakan topik kustom (disarankan): Gunakan RRPC bersama dengan topik kustom untuk memenuhi persyaratan berbagai skenario.
- Gunakan topik spesifik RRPC (tidak disarankan): Jika Anda tidak menggunakan topik kustom, IoT Platform akan menggunakan topik spesifik RRPC. Kami menyarankan untuk tidak menggunakan metode ini karena hanya berlaku untuk sejumlah kecil skenario.
Untuk informasi lebih lanjut tentang contoh implementasi RRPC, lihat Kontrol Jarak Jauh Server Raspberry Pi.