Protokol untuk mengkonfigurasi pengaturan perangkat IoT


9

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?


1
Apakah Anda yakin MQTT tidak mengizinkan klien untuk berlangganan saluran kontrol? Saya pikir ini adalah tempat untuk mulai mencari jawaban, tetapi saya tidak cukup baik untuk meringkas dalam jawaban en.wikipedia.org/wiki/Representational_state_transfer
Sean Houlihane

1
Jangan lupa, titik akhir harus menjadi yang memulai saluran, jadi itu mengendalikan konsumsi daya.
Sean Houlihane

1
@SHeHoulihane Tentunya dimungkinkan untuk menggunakan MQTT untuk mengirim dan menerima perintah / pengaturan seperti yang Anda jelaskan, tetapi cara saya melihatnya, idealnya Anda perlu memiliki protokol yang "berbasis sesi", yaitu Anda membuat sesi, mengirim perintah dan menerima respons di sesi yang sama, sehingga dengan mudah menghubungkan respons ke perintah asli. MQTT berbasis pesan, jadi tidak ada yang menghubungkan pesan satu sama lain - terserah Anda untuk menangani bagian itu. Saya bertanya-tanya apakah ada protokol yang tersedia yang dapat saya gunakan untuk tujuan itu.
Amr Bekhit

1
en.wikipedia.org/wiki/OMA_LWM2M Saya tidak yakin persisnya bagaimana, tetapi cloud tampaknya dapat melakukan panggilan PUT atau POST untuk memicu panggilan balik pada klien.
Sean Houlihane

MQTTv5 memiliki bidang tajuk untuk menandai pesan sebagai respons terhadap pesan sebelumnya.
hardillb

Jawaban:


6

Kedengarannya seperti pekerjaan untuk CoAP :

Seperti HTTP, CoAP didasarkan pada model REST yang sangat sukses: Server menyediakan sumber daya di bawah URL, dan klien mengakses sumber daya ini menggunakan metode seperti GET, PUT, POST, dan DELETE.

Dari sudut pandang pengembang, CoAP terasa sangat mirip dengan HTTP. Memperoleh nilai dari sensor tidak jauh berbeda dengan mendapatkan nilai dari Web API.

Tampaknya dapat diimplementasikan dengan overhead yang sangat rendah:

CoAP telah dirancang untuk bekerja pada mikrokontroler dengan serendah 10 KiB RAM dan 100 KiB ruang kode

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 GETmeminta informasi dari perangkat tanpa mengubah apa pun dan POST, PUTdan DELETEmemutasikan 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.


0

Saya bertanya-tanya apakah ada protokol yang ada yang diarahkan untuk mengirim dan menerima perintah dan mengkonfigurasi perangkat jarak jauh?

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.