Cihaz iletişim protokolü seçme

IoT Hub cihazların, cihaz tarafındaki iletişimler için şu protokolleri kullanmasına izin verir:

Not

IoT Hub, MQTT için sınırlı özellik desteğine sahiptir. Çözümünüz MQTT v3.1.1 veya v5 desteğine ihtiyaç duyuyorsa Azure Event Grid'de MQTT desteği öneririz. Daha fazla bilgi için bkz . IoT Hub ve Event Grid'de MQTT desteğini karşılaştırma.

Bu protokollerin belirli IoT Hub özelliklerini nasıl desteklediği hakkında bilgi için bkz . Cihazdan buluta iletişim kılavuzu ve Buluttan cihaza iletişim kılavuzu.

Aşağıdaki tabloda, seçtiğiniz protokol için üst düzey öneriler sağlanır:

Protokol Bu protokolü ne zaman seçmeniz gerekir?
MQTT
WebSockets üzerinden MQTT
Her biri kendi cihaz başına kimlik bilgilerine sahip birden çok cihaza bağlantı gerektirmeyen tüm cihazlarda aynı TLS bağlantısı üzerinden kullanın.
AMQP
WebSockets üzerinden AMQP
Cihazlar arasında bağlantı çoğullama özelliğinin avantajlarından yararlanmak için sahada ve bulut ağ geçitlerinde kullanın.
HTTPS Diğer protokolleri desteklemeyen cihazlar için kullanın.

Cihaz tarafı iletişimler için protokolünüzü seçtiğinizde aşağıdaki noktaları göz önünde bulundurun:

  • Buluttan cihaza desen. HTTPS'nin sunucu göndermeyi uygulamak için verimli bir yolu yoktur. Bu nedenle, HTTPS kullanırken cihazlar buluttan cihaza iletiler için IoT Hub'ı yoklar. Bu yaklaşım hem cihaz hem de IoT Hub için verimsizdir. Geçerli HTTPS yönergeleri altında, her cihaz her 25 dakikada bir veya daha fazla ileti için yoklama yapmalıdır. Daha fazla HTTPS verilmesi, IoT Hub'ın istekleri azaltmasını sağlar. Buluttan cihaza iletiler alınırken MQTT ve AMQP sunucu gönderimini destekler. IoT Hub'dan cihaza anında ileti gönderilmesini sağlar. Teslim gecikmesi önemliyse, MQTT veya AMQP kullanılacak en iyi protokollerdir. Nadiren bağlı olan cihazlar için HTTPS de çalışır.

  • Alan ağ geçitleri. MQTT ve HTTPS, TLS bağlantısı başına yalnızca tek bir cihaz kimliğini (cihaz kimliği artı kimlik bilgileri) destekler. Bu nedenle, bu protokoller tek bir bağlantıda veya IoT Hub'a yukarı akış bağlantıları havuzunda birden çok cihaz kimliği kullanarak birden çok ileti gerektiren alan ağ geçidi senaryolarında desteklenmez. Bu tür ağ geçitleri, yukarı akış trafiği için AMQP gibi bağlantı başına birden çok cihaz kimliğini destekleyen bir protokol kullanabilir.

  • Düşük kaynak cihazları. MQTT ve HTTPS kitaplıklarının ayak izi AMQP kitaplıklarından daha küçüktür. Bu nedenle, cihazın kaynakları sınırlıysa (örneğin, 1 MB'tan az RAM), bu protokoller kullanılabilir tek protokol uygulaması olabilir.

  • Ağ geçişi. Standart AMQP protokolü 5671 numaralı bağlantı noktasını kullanır ve MQTT 8883 numaralı bağlantı noktasını dinler. Bu bağlantı noktalarının kullanılması, HTTPS olmayan protokollere kapatılan ağlarda sorunlara neden olabilir. Bu senaryoda WebSockets üzerinden MQTT, WebSockets üzerinden AMQP veya HTTPS kullanın.

  • Yük boyutu. MQTT ve AMQP, HTTPS'den daha kompakt yüklere neden olan ikili protokollerdir.

Uyarı

HTTPS kullanırken, her cihaz 25 dakikada bir buluttan cihaza iletileri en fazla bir kez yoklamalıdır. Geliştirme aşamasında, isterseniz her cihaz daha sık yoklayabilir.

Önemli

X.509 sertifika yetkilisi (CA) kimlik doğrulamasını kullanan cihazlar için aşağıdaki işlevler henüz genel kullanıma sunulmamaktadır ve önizleme modunun etkinleştirilmesi gerekir:

  • HTTPS, WebSockets üzerinden MQTT ve WebSockets protokolleri üzerinden AMQP.
  • Dosya yüklemeleri (tüm protokoller).

Bu özellikler genellikle X.509 parmak izi kimlik doğrulaması kullanan cihazlarda kullanılabilir. IoT Hub ile X.509 kimlik doğrulaması hakkında daha fazla bilgi edinmek için bkz . Desteklenen X.509 sertifikaları.

Bağlantı noktası numaraları

Cihazlar çeşitli protokolleri kullanarak Azure'da IoT Hub ile iletişim kurabilir. Genellikle, protokol seçimi çözümün belirli gereksinimleri tarafından yönlendirilir. Aşağıdaki tabloda, bir cihazın belirli bir protokolü kullanabilmesi için açık olması gereken giden bağlantı noktaları listelenir:

Protokol Bağlantı noktası
MQTT 8883
WebSockets üzerinden MQTT 443
AMQP 5671
WebSockets üzerinden AMQP 443
HTTPS 443

IoT hub'ının IP adresi bildirimde bulunmadan değiştirilebilir. IoT hub'ı IP adresi değişikliklerinin IoT çözümünüz ve cihazlarınızdaki etkilerini nasıl azaltacağınızı öğrenmek için IoT Hub IP adreslerinin En iyi yöntemler bölümüne bakın.

Sonraki adımlar

IoT Hub'ın MQTT protokollerini nasıl uyguladığı hakkında daha fazla bilgi için bkz . MQTT protokolunu kullanarak IoT hub'ınız ile iletişim kurma.