Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
IoT Hub memungkinkan perangkat untuk menggunakan protokol berikut untuk komunikasi sisi perangkat:
- MQTT
- MQTT melalui Websocket
- Protokol Antrean Pesan Tingkat Lanjut (AMQP)
- AMQP melalui WebSocket
- HTTPS
Catatan
IoT Hub menyediakan dukungan fitur terbatas untuk MQTT. Jika solusi Anda memerlukan dukungan MQTT v3.1.1 atau v5, lihat Gambaran Umum fitur broker MQTT di Azure Event Grid. Untuk informasi selengkapnya, lihat bagian Bandingkan dukungan MQTT di IoT Hub dan Event Grid di Berkomunikasi dengan hub IoT menggunakan protokol MQTT.
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 memerlukan koneksi ke beberapa perangkat, masing-masing dengan info masuk per perangkatnya sendiri, melalui koneksi TLS yang sama. |
AMQP AMQP melalui WebSocket |
Gunakan pada gateway lapangan dan cloud untuk memanfaatkan multiplexing koneksi antar perangkat. |
HTTPS | Gunakan untuk perangkat yang tidak dapat mendukung protokol lain. |
Pertimbangkan poin-poin berikut saat Anda memilih protokol untuk komunikasi sisi perangkat:
Pola komunikasi cloud ke perangkat. HTTPS tidak memiliki cara yang efisien untuk menerapkan server push. 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 permintaan HTTPS menghasilkan pembatasan permintaan di IoT Hub. MQTT dan AMQP mendukung push server saat menerima pesan dari 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 lapangan. MQTT dan HTTPS hanya mendukung satu identitas perangkat (ID perangkat plus info masuk) per koneksi TLS. Untuk alasan ini, protokol-protokol ini tidak didukung untuk skenario gateway lapangan yang memerlukan multipleks pesan, dengan menggunakan beberapa identitas perangkat, baik melalui satu koneksi maupun kumpulan koneksi upstream 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 menyediakan sumber daya terbatas (misalnya, kurang dari 1 MB RAM), protokol ini mungkin menjadi satu-satunya implementasi protokol yang tersedia.
Penelusuran 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 perangkat menggunakan protokol HTTPS, setiap perangkat harus melakukan polling untuk pesan cloud-ke-perangkat tidak lebih dari satu kali dalam 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).
Fitur ini umumnya tersedia di perangkat yang menggunakan autentikasi thumbprint X.509.
Nomor port
Perangkat dapat berkomunikasi dengan IoT Hub di Azure menggunakan berbagai protokol. Biasanya, persyaratan spesifik solusi menentukan pilihan protokol. Tabel berikut mencantumkan port keluar yang harus dibuka agar perangkat dapat menggunakan protokol tertentu:
Protokol | Pelabuhan |
---|---|
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 mengurangi efek perubahan alamat IP hub IoT pada solusi dan perangkat IoT Anda, lihat bagian Praktik Terbaik dari Alamat IP IoT Hub.
Langkah berikutnya
Untuk informasi selengkapnya tentang cara IoT Hub menerapkan protokol MQTT, lihat Berkomunikasi dengan hub IoT menggunakan protokol MQTT.