Cihaz iletişim protokolü seçme

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

  • MQTT
  • WebSockets üzerinden MQTT
  • AMQP
  • WebSockets üzerinden AMQP
  • HTTPS

Bu protokollerin belirli bulut iletişim IoT Hub hakkında bilgi için bkz. Cihazdan buluta iletişim kılavuzu ve Buluttan cihaza iletişim kılavuzu.

Aşağıdaki tabloda, protokol seçiminiz için üst düzey öneriler vemektedir:

Protokol Bu protokolü ne zaman seçmeniz gerekir?
MQTT
WebSocket üzerinden MQTT
Aynı TLS bağlantısı üzerinden birden çok cihaza (her biri kendi cihaz başına kimlik bilgilerine sahip) bağlanmasını gerektirmeyen tüm cihazlarda kullanın.
AMQP
WebSocket üzerinden AMQP
Cihazlar arasında bağlantı çoklamadan yararlanmak için alan ve bulut ağ geçitlerinde kullanın.
HTTPS Diğer protokolleri destekleyen cihazlar için kullanın.

Cihaz tarafı iletişimler için protokolünü seçerseniz aşağıdaki noktaları dikkate edin:

  • Buluttan cihaza düzeni. HTTPS'nin sunucu anında yüklemesi uygulamak için verimli bir yolu yok. Bu nedenle, HTTPS kullanırken cihazlar buluttan cihaza IoT Hub için bu iletileri yoklar. Bu yaklaşım hem cihaz hem de cihaz için verimsiz IoT Hub. Geçerli HTTPS yönergeleri altında, her cihaz 25 dakikada bir veya daha fazla ileti yoklaması gerekir. Daha fazla HTTPS verme, isteklerin IoT Hub azaltmayla sonuç alır. Buluttan cihaza iletiler alırken MQTT ve AMQP destek sunucusu gönderme. Bu ilkeler, cihazdan IoT Hub anında ileti göndermelerini sağlar. Teslim gecikmesi sorun yaratıyorsa, MQTT veya AMQP, en iyi protokollerdir. Nadiren bağlı 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 ve kimlik bilgileri) destekler. Bu nedenle, bu protokoller tek bir veya bir havuz üzerinden birden çok cihaz kimliği kullanan birden çok cihaz kimliği kullanan iletilerin birden çok kez ya da tek bir ağ geçidine yönelik yukarı akış bağlantıları havuzu kullanan alan ağ geçidi senaryolarında IoT Hub. 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ı, AMQP kitaplıklarına göre daha küçük bir ayak izine sahip olur. Bu nedenle, cihaz sınırlı kaynaklara (örneğin, 1 MB'den az RAM) sahipse, bu protokoller kullanılabilir tek protokol uygulaması olabilir.

  • Ağ geçişi. Standart AMQP protokolü 5671 bağlantı noktasını kullanır ve MQTT 8883 bağlantı noktasını dinler. Bu bağlantı noktalarının kullanımı, HTTPS olmayan protokollere kapalı 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 küçük yüklere neden olan ikili protokollerdir.

Uyarı

HTTPS kullanılırken, her cihaz buluttan cihaza iletileri en fazla 25 dakikada bir yoklamalidir. Geliştirme aşamasında, istenirse her cihaz daha sık yoklamalar olabilir.

Önemli

X.509 sertifika yetkilisi (CA) kimlik doğrulaması kullanan cihazlar için aşağıdaki işlevler henüz genel kullanıma açık değildir ve önizleme modu etkinleştirilmelidir:

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

Genel olarak 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 azure'daki IoT Hub iletişim kurmak için çeşitli protokoller kullanabilir. Genellikle protokol seçimi, çözümün belirli gereksinimlerine göre gereksinimlerini karşılar. Aşağıdaki tabloda, bir cihazın belirli bir protokolü kullanamaları için açık olması gereken giden bağlantı noktaları listele devam ediyor:

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

Azure bölgesinde bir IoT hub'ı oluşturduktan sonra, IoT hub'ı bu IoT hub'larının ömrü boyunca aynı IP adresini tutar. Ancak Microsoft, hizmet kalitesini korumak için IoT hub'larını farklı bir ölçek birimine taşırsa yeni bir IP adresi atanır.

Sonraki adımlar

MQTT protokolünü IoT Hub daha fazla bilgi edinmek için bkz. MQTT protokolünü kullanarak IoT hub'ınız ile iletişim kurma.