Over on Stack Overflow ada pertanyaan tentang menerapkan interaksi permintaan / respons melalui MQTT. Sebagai satu jawaban mencatat, Anda dapat melakukannya dengan menerbitkan permintaan pada satu topik dan mendengarkan tanggapan pada token lain yang termasuk dalam permintaan. Agak canggung, tapi berhasil.
Karena MQTT digunakan secara luas di seluruh IoT, saya bertanya-tanya, apakah ada upaya untuk membakukan interaksi tipe RPC ini demi interoperabilitas?
Jawaban:
Saya tidak mengetahui adanya standar semacam itu.
Seperti yang ditunjukkan dalam jawaban untuk pertanyaan lain, pub / sub tidak cocok untuk RPC tetapi bisa dibengkokkan agar sesuai.
Salah satu kekuatan MQTT adalah bahwa muatan dapat berupa apa saja, memungkinkan pengembang untuk membuat pilihan terbaik untuk proyek mereka.
sumber
Saya tidak yakin apa persyaratan Anda untuk metode komunikasi RPC terstandarisasi di MQTT, tetapi saya masih melakukan sedikit pencarian dan menemukan beberapa poin untuk disampaikan kepada Anda.
Pertama-tama, tentang metode standar. Pada satu proyek Github rpc deskripsi jenis kuku itu:
Intinya adalah menggunakan model tumpukan (model OSI adalah standar) dan cukup gunakan MQTT sebagai salah satu lapisan tumpukan.
Proyek ini pada json-rpc over mqtt menggunakan protokol terstandarisasi atau paling tidak terkenal atas MQTT.
Tentang kecanggungan, Anda tidak harus membangun MQTT dan RPC di atasnya dari awal tetapi menggunakan salah satu pustaka tertaut atau yang lain yang ditemukan di Github.
OK, untuk setiap bahasa tidak ada dasar siap pada Github, tetapi dalam hal itu kepatuhan menjadi kriteria perencanaan dan dapat mempengaruhi seluruh proyek lainnya, sayangnya.
sumber
Azure IoT Hub memiliki konsep metode langsung:
Ini diimplementasikan lebih dari MQTT (AMQP tidak didukung), di mana
Mereka membungkus ini dalam SDK mereka, sehingga pengembang tidak perlu khawatir tentang pemantauan topik secara khusus. Anda bisa menerapkan pendekatan serupa.
Seperti jawaban lain, pub-sub tidak cocok untuk RPC, dan tidak ada standar, sejauh yang saya ketahui.
Dokumentasi lebih lanjut ada di sini .
sumber