Azure IoT Hub, Gömülü / IoT cihazlarıyla nasıl etkileşimde bulunur?


13

Azure IoT platformunda çalışıyorum ve cihazların IoT hub'ına nasıl veri gönderdiğini anlıyorum (yanlış değilsem, sadece web hizmeti çağrısı veya buna benzer bir şey).

Ancak IoT hub'ın cihazlara nasıl Veri / Komut / Giriş gönderdiğini merak ediyorum, çünkü Cihaz iletişimi için IoT hub'ı üzerinde çalışmıyoruz (verileri cihazlara aktarmaya gerek duymuyoruz). IoT hub doğrudan cihazlarla etkileşime girebilir mi? (Cihazın benzersiz kimliğini kullanarak veya IP, Mac adresi vb. Gibi benzersiz bir kimlik kullanarak).

Bir yerde, IoT hub'ının kendileri için herhangi bir girişi varsa cihazların IoT hub'ını istemeye devam ettiğini okudum ve IoT hub'ı yanıt olarak cihazlara Veri / Komut / Giriş gönderir. Bu doğru mu? Değilse, lütfen açıklayınız.

Yanıtlar:


14

IoT Hub bağlı cihazların kullandığı model, gelen bağlantıları asla kabul etmeyecekleri modelidir. IoT Hub cihazları hiçbir zaman bir 'sunucu' gibi davranmazlar ve bu Azure IoT'deki güvenlik modelinin önemli bir parçasıdır. Bununla ilgili kesin model Clemens Vasters'ın 'Servis Destekli İletişim' bölümünde bulunmaktadır .

Bu nedenle cihazlar veri göndermek veya komut almak için her zaman harici bir hizmeti 'çağırır'. API'lar veriyi bir cihaza gönderiliyormuş gibi gösterir, ancak her zaman giden bağlantıyı yapan cihazdır.

IoT hub bunu iki şekilde yapıyor:

  1. Cihazın uç noktasına veri göndererek /devices/{deviceId}/messages/devicebound. Bu, sıraya veya konu aboneliğine benzer bir AMQP mesajlaşma uç noktasıdır. Cihaz, komutları okurken, gerekirse temel AMQP protokolünün bir parçası olan, alındı ​​makbuzunu onaylamalıdır. Bu, MQTT ile aynı şekilde çalışır ve https geçerli bir geri dönüştür. API tüm bunları sizin için tamamlar. Esasen aynı temel mesaj protokolü etrafında bir API sarıcı olan 'doğrudan yöntemler' gibi ek kavramlar vardır
  2. Sunucu tarafı aygıt ikizini kullanarak, özellikleri aygıt ve sunucu arasında senkronize olarak mantıklı tutmanın bir yoludur. Aygıt ikizinde bir özellik ayarlarsınız ve cihaz senkronize edildiğinde bu özellik cihazla senkronize edilir. Bu daha az ileti tabanlıdır ve LWM2M cihaz yönetimi protokolünün üzerine kurulmuştur.

AMQP (veya MQTT) protokolünün bir parçası olarak bir çok 'yoklama', bağlantı, bağlantı paylaşımı, makbuz, vb. İlgilenilmelidir. Bu nedenle, yukarıdakiler oldukça basitleştirilmiştir, ancak yinelemek için IoT Hub, cihazınızdaki bir ip adresine / bağlantı noktasına veri (hiç) denemez ve göndermez.


@Simon, Şimdi bundan eminim, sadece veri göndermek veya almak için IoT merkezini aramaktan sorumlu cihazlar. Cevabınızda "Azure IoT" den bahsettiniz, bu yüzden tüm IoT platformlarındaki yanıt başvurunuzu onaylamak mı istiyorsunuz ? veya yalnızca Azure IoT için.
Shri

@ShrikantBhusalwad Yanıt tüm platformlar için geçerli değildir, çünkü çoğu henüz geliştirilmemiştir. Bu yaygın bir modeldir, güvenlik için iyidir, ancak diğer modeller özellikle yeni bir ortamda haklı olabilir.
Sean Houlihane

2
Tüm platformlara aşina değilim, ancak çoğu bulut platformu benzer olacak. AWS, çoğunlukla aynı olan MQTT'yi kullanır. @Sean'ın gözlemlediği gibi, tüm platformlar için geçerli değildir, ancak çok az sayıda bulut platformu, riskli güvenlik uygulamalarını ön plana çıkaracaktır. Sunucu olarak aygıt modelleri kullanan yöntemler ya eski olacak ya da çok daha fazla güvenlik titizliğine sahip olacaktır (kenar veya kafes desenleri geliştikçe). Azure IoT, eski veya kenar tabanlı cihazlarla ilgili sorunları çözmek için mimari olarak alan ve bulut ağ geçitlerini destekler
Simon Munro

Azure IoT Hub MQTT kuralları docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support adresinde belirtilmiştir
Gambit Support
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.