Memilih protokol komunikasi perangkat
IoT Hub memungkinkan perangkat untuk menggunakan protokol berikut untuk komunikasi sisi perangkat:
Untuk informasi tentang bagaimana protokol tersebut mendukung fitur IoT Hub tertentu, lihat Panduan komunikasi perangkat ke cloud dan Panduan komunikasi cloud ke perangkat.
Tabel berikut ini menyediakan rekomendasi tingkat tinggi untuk pilihan protokol Anda:
| Protokol | Kapan Anda harus memilih protokol ini |
|---|---|
| MQTT MQTT melalui WebSocket |
Gunakan di semua perangkat yang tidak perlu menyambungkan beberapa perangkat (masing-masing dengan info masuk per perangkatnya sendiri) melalui koneksi TLS yang sama. |
| AMQP AMQP melalui WebSocket |
Gunakan di gateway cloud dan bidang untuk memanfaatkan multiplexing koneksi di seluruh perangkat. |
| HTTPS | Gunakan untuk perangkat yang tak dapat mendukung protokol lainnya. |
Pertimbangkan poin-poin berikut saat Anda memilih protokol untuk komunikasi sisi perangkat:
Pola cloud ke perangkat. HTTPS tidak memiliki cara yang efisien untuk menerapkan dorongan server. Dengan demikian, saat Anda menggunakan HTTPS, perangkat melakukan polling IoT Hub untuk pesan cloud ke perangkat. Pendekatan ini tidak efisien untuk perangkat dan IoT Hub. Di bawah panduan HTTPS saat ini, setiap perangkat harus melakukan polling untuk pesan setiap 25 menit atau lebih. Mengeluarkan lebih banyak HTTPS menerima hasil di IoT Hub yang membatasi permintaan. MQTT dan AMQP mendukung dorongan server saat menerima pesan cloud ke perangkat. MQTT dan AMQP memungkinkan dorongan pesan langsung dari IoT Hub ke perangkat. Jika latensi pengiriman menjadi perhatian, MQTT atau AMQP adalah protokol terbaik untuk digunakan. Untuk perangkat yang jarang tersambung, HTTPS juga berfungsi.
Gateway bidang. MQTT dan HTTPS hanya mendukung satu identitas perangkat (ID perangkat plus info masuk) per koneksi TLS. Karena alasan ini, protokol tersebut tidak didukung untuk skenario gateway bidang yang memerlukan pesan multiplexing menggunakan beberapa identitas perangkat di satu atau kumpulan koneksi upstram ke IoT Hub. Gateway semacam itu dapat menggunakan protokol yang mendukung beberapa identitas perangkat per koneksi, seperti AMQP, untuk lalu lintas upstream-nya.
Perangkat sumber daya rendah. Pustaka MQTT dan HTTPS memiliki jejak yang lebih kecil daripada pustaka AMQP. Dengan demikian, jika perangkat memiliki sumber daya terbatas (misalnya, RAM kurang dari 1 MB), protokol tersebut mungkin satu-satunya penerapan protokol yang tersedia.
Traversal jaringan. Protokol AMQP standar menggunakan port 5671, dan MQTT mendengarkan di port 8883. Penggunaan port tersebut dapat menyebabkan masalah dalam jaringan yang tertutup untuk protokol non-HTTPS. Gunakan MQTT melalui WebSocket, AMQP melalui WebSocket, atau HTTPS dalam skenario ini.
Ukuran payload. MQTT dan AMQP adalah protokol biner, yang menghasilkan payload yang lebih ringkas daripada HTTPS.
Peringatan
Saat menggunakan HTTPS, setiap perangkat harus melakukan polling untuk pesan cloud ke perangkat tidak lebih dari sekali setiap 25 menit. Dalam pengembangan, setiap perangkat dapat melakukan polling lebih sering, jika diinginkan.
Penting
Fungsionalitas berikut untuk perangkat yang menggunakan autentikasi otoritas sertifikat (CA) X.509 belum tersedia secara umum, dan mode pratinjau harus diaktifkan:
- HTTPS, MQTT melalui WebSocket, dan AMQP melalui protokol WebSockets.
- Unggahan file (semua protokol).
Hal ini umumnya tersedia pada perangkat yang menggunakan autentikasi sidik jari X.509. Untuk mempelajari selengkapnya tentang autentikasi X.509 dengan IoT Hub, lihat Sertifikat X.509 yang didukung.
Nomor port
Perangkat dapat berkomunikasi dengan IoT Hub di Azure menggunakan berbagai protokol. Biasanya, pilihan protokol didorong oleh persyaratan khusus solusi. Tabel berikut mencantumkan port keluar yang harus dibuka agar perangkat dapat menggunakan protokol tertentu:
| Protokol | Port |
|---|---|
| MQTT | 8883 |
| MQTT melalui WebSocket | 443 |
| AMQP | 5671 |
| AMQP melalui WebSocket | 443 |
| HTTPS | 443 |
Alamat IP dari hub IoT dapat berubah tanpa pemberitahuan. Untuk mempelajari cara mengatasi dampak perubahan alamat IP Hub IoT pada solusi dan perangkat IoT Anda, lihat Praktik terbaik alamat IP Azure IoT Hub.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang cara IoT Hub menerapkan protokol MQTT, lihat Berkomunikasi dengan hub IoT Anda menggunakan protokol MQTT.