MQTT banyak digunakan dalam IoT ketika bertukar data aplikasi antara perangkat akhir dan layanan host. Model publikasi-berlangganan membuatnya mudah digunakan: tidak ada jabat tangan, negosiasi dll (setidaknya di atas lapisan protokol MQTT). Ini terutama diarahkan untuk produsen data yang dapat mendistribusikan data mereka dengan mudah kepada konsumen.
Namun, ketika datang ke server pusat yang ingin mengkonfigurasi pengaturan pada perangkat akhir, saya tidak yakin bahwa model ini sangat cocok. Server akan ingin mengirim perintah ke perangkat dan menunggu jawaban kembali (misalnya membaca pengaturan tertentu, menunggu tanggapan), yang tidak sesuai dengan model penerbitan-berlangganan MQTT.
Saya bertanya-tanya apakah ada protokol yang ada yang diarahkan untuk mengirim dan menerima perintah dan mengkonfigurasi perangkat jarak jauh?
sumber
Jawaban:
Kedengarannya seperti pekerjaan untuk CoAP :
Tampaknya dapat diimplementasikan dengan overhead yang sangat rendah:
CoAP ditentukan dalam RFC 7252 , dan ada berbagai implementasi (misalnya dalam C ).
Ini sangat terinspirasi oleh REST seperti yang digunakan dengan HTTP untuk API web, jadi jika Anda terbiasa dengan itu, Anda akan dengan cepat mengambil CoAP. Jika tidak, Anda mungkin menemukan presentasi ini bermanfaat untuk konteks. Idenya adalah bahwa setiap metode HTTP memiliki makna semantik, misalnya
GET
meminta informasi dari perangkat tanpa mengubah apa pun danPOST
,PUT
danDELETE
memutasikan data.Seperti yang Anda katakan, terbitkan / berlangganan model tidak akan berfungsi untuk situasi di mana perangkat Anda bertindak sebagai 'server' untuk koordinasi sistem pusat (yang bertindak sebagai klien untuk setiap perangkat). Sebaliknya, model yang mirip dengan HTTP adalah ideal, kecuali HTTP memiliki terlalu banyak overhead, di situlah CoAP masuk.
sumber
Ya, ada protokol yang lebih baik untuk manajemen perangkat di IoT. Ini adalah LwM2M - Ini jauh lebih efisien daripada MQTT dan di atas COAP, MQTT dan HTTP.
LwM2M hadir dengan model manajemen data dan perangkat yang terdefinisi dengan baik, menawarkan berbagai objek standar siap pakai (IPSO Smart Objects), pemantauan konektivitas, aksi perangkat jarak jauh dan pembaruan FOTA dan SOTA terstruktur, sedangkan di MQTT fitur-fitur ini sepenuhnya khusus untuk vendor dan platform. Yang mengikuti adalah bahwa dengan MQTT, pembaruan firmware atau fitur manajemen lainnya harus dibuat dari awal. Sebaliknya, LwM2M menawarkan peningkatan firmware sebagai salah satu fungsi dasarnya, sehingga tidak perlu menemukan blok bangunan baru untuk komunikasi.
Di sini Anda memiliki perbandingan MQTT vs LwM2M dan seluruh kursus kilat.
sumber