Udostępnij za pośrednictwem


Infrastruktura urządzeń i łączność

W tym omówieniu przedstawiono kluczowe pojęcia dotyczące sposobu łączenia urządzeń z chmurą w typowym rozwiązaniu usługi Azure IoT. W tym artykule przedstawiono również opcjonalne elementy infrastruktury, takie jak bramy i mostki. Każda sekcja zawiera linki do zawartości, która zawiera szczegółowe informacje i wskazówki.

Aplikacje usługi IoT Central używają usług IoT Hub i Device Provisioning Service (DPS) wewnętrznie. W związku z tym koncepcje zawarte w tym artykule dotyczą korzystania z usługi IoT Central do eksplorowania scenariusza IoT lub tworzenia rozwiązania przy użyciu usługi IoT Hub i usługi DPS.

Na poniższym diagramie przedstawiono ogólny widok składników w typowym rozwiązaniu IoT. Ten artykuł koncentruje się na łączności między urządzeniami a usługami w chmurze IoT, w tym bramami i mostkami, pokazanymi na diagramie.

Diagram przedstawiający architekturę rozwiązania IoT wysokiego poziomu z wyróżnionymi obszarami łączności urządzeń.

Typy pierwotne

Urządzenia usługi Azure IoT używają następujących elementów pierwotnych do wymiany danych z usługami w chmurze. Urządzenia używają:

  • Komunikaty z urządzenia do chmury w celu wysyłania danych telemetrycznych szeregów czasowych do chmury. Na przykład dane temperatury zebrane z czujnika dołączonego do urządzenia.
  • Bliźniacze reprezentacje urządzeń do udostępniania i synchronizowania danych stanu z chmurą. Na przykład urządzenie może użyć bliźniaczej reprezentacji urządzenia, aby zgłosić bieżący stan zaworu, który kontroluje w chmurze, i odbierać żądaną temperaturę docelową z chmury.
  • Cyfrowe reprezentacje bliźniacze reprezentujące urządzenie w świecie cyfrowym. Na przykład cyfrowa reprezentacja bliźniaca może reprezentować fizyczną lokalizację urządzenia, jego możliwości i relacje z innymi urządzeniami.
  • Przekazywanie plików dla plików multimedialnych, takich jak przechwycone obrazy i wideo. Sporadycznie połączone urządzenia mogą wysyłać partie telemetrii. Urządzenia mogą kompresować przekazywanie, aby zaoszczędzić przepustowość.
  • Metody bezpośrednie do odbierania poleceń z chmury. Metoda bezpośrednia może mieć parametry i zwrócić odpowiedź. Na przykład chmura może wywołać metodę bezpośrednią, aby zażądać ponownego uruchomienia urządzenia.
  • Komunikaty chmura-urządzenie odbierają powiadomienia jednokierunkowe z chmury. Na przykład powiadomienie, że aktualizacja jest gotowa do pobrania.

Aby dowiedzieć się więcej, zobacz Wskazówki dotyczące komunikacji urządzenie-chmura i Wskazówki dotyczące komunikacji z chmurą na urządzenie.

Punkty końcowe chmury dostępne dla urządzeń

Usługa Azure IoT Hub uwidacznia kolekcję punktów końcowych dla poszczególnych urządzeń, które umożliwiają urządzeniom wymianę danych z chmurą. Te punkty końcowe obejmują:

  • Wysyłanie komunikatów z urządzenia do chmury. Urządzenie używa tego punktu końcowego do wysyłania komunikatów z urządzenia do chmury.
  • Pobieranie i aktualizowanie właściwości bliźniaczej reprezentacji urządzenia. Urządzenie używa tego punktu końcowego do uzyskiwania dostępu do właściwości bliźniaczej reprezentacji urządzenia.
  • Odbieranie żądań metody bezpośredniej. Urządzenie używa tego punktu końcowego do nasłuchiwania żądań metod bezpośrednich.

Każde centrum IoT ma unikatową nazwę hosta używaną do łączenia urządzeń z centrum. Nazwa hosta ma format iothubname.azure-devices.net. Jeśli używasz jednego z zestawów SDK urządzeń, nie musisz znać pełnych nazw poszczególnych punktów końcowych, ponieważ zestawy SDK zapewniają abstrakcję wyższego poziomu. Jednak urządzenie musi znać nazwę hosta centrum IoT Hub, z którym nawiązuje połączenie.

Urządzenie może nawiązać bezpieczne połączenie z centrum IoT:

  • W takim przypadku należy podać urządzeniu parametry połączenia, który zawiera nazwę hosta.
  • Pośrednio przy użyciu usługi DPS, w tym przypadku urządzenie łączy się z dobrze znanym punktem końcowym usługi DPS w celu pobrania parametry połączenia dla centrum IoT, do którego jest przypisany.

Zaletą korzystania z usługi DPS jest to, że nie trzeba konfigurować wszystkich urządzeń przy użyciu parametrów połączenia specyficznych dla centrum IoT. Zamiast tego należy skonfigurować urządzenia tak, aby łączyły się z dobrze znanym, typowym punktem końcowym usługi DPS, w którym odnajdują szczegóły połączenia. Aby dowiedzieć się więcej, zobacz Device Provisioning Service.

Aby dowiedzieć się więcej na temat implementowania automatycznych ponownych połączeń z punktami końcowymi, zobacz Zarządzanie ponownymi połączeniami urządzeń w celu tworzenia odpornych aplikacji.

Parametry połączenia urządzeń

Urządzenie parametry połączenia dostarcza urządzeniu informacje potrzebne do bezpiecznego łączenia się z centrum IoT Hub. Parametry połączenia zawiera następujące informacje:

  • Nazwa hosta centrum IoT.
  • Identyfikator urządzenia zarejestrowany w centrum IoT Hub.
  • Informacje o zabezpieczeniach, które urządzenie musi ustanowić bezpieczne połączenie z centrum IoT Hub.

Uwierzytelnianie

Urządzenia usługi Azure IoT używają protokołu TLS do weryfikowania autentyczności punktu końcowego usługi IoT Hub lub DPS, z którymi się łączą. Zestawy SDK urządzeń korzystają z zaufanego magazynu certyfikatów urządzenia w celu uwzględnienia certyfikatu TLS globalnego głównego certyfikatu G2 firmy DigiCert, który obecnie musi nawiązać bezpieczne połączenie z centrum IoT Hub. Aby dowiedzieć się więcej, zobacz Obsługa protokołu Transport Layer Security (TLS) w usłudze IoT Hub i obsłudze protokołu TLS w usłudze Azure IoT Hub Device Provisioning Service (DPS).

Urządzenia usługi Azure IoT mogą używać tokenów sygnatury dostępu współdzielonego (SAS) lub certyfikatów X.509 w celu uwierzytelnienia się w centrum IoT. Certyfikaty X.509 są zalecane w środowisku produkcyjnym. Aby dowiedzieć się więcej na temat uwierzytelniania urządzeń, zobacz:

Wszystkie dane wymieniane między urządzeniem a centrum IoT są szyfrowane.

Aby dowiedzieć się więcej na temat zabezpieczeń w rozwiązaniu IoT, zobacz Architektura zabezpieczeń dla rozwiązań IoT.

Protokoły

Urządzenie IoT może używać jednego z kilku protokołów sieciowych podczas nawiązywania połączenia z punktem końcowym usługi IoT Hub lub DPS:

Uwaga

Usługa IoT Hub ma ograniczoną obsługę funkcji MQTT. Jeśli twoje rozwiązanie wymaga obsługi protokołu MQTT w wersji 3.1.1 lub 5, zalecamy obsługę protokołu MQTT w usłudze Azure Event Grid. Aby uzyskać więcej informacji, zobacz Porównanie obsługi MQTT w usłudze IoT Hub i usłudze Event Grid.

Aby dowiedzieć się więcej o sposobie wybierania protokołu dla urządzeń do łączenia się z chmurą, zobacz:

Scenariusze przemysłowe IoT często używają otwartego interfejsu open platform communications unified architecture (OPC UA). Aby umożliwić łączność z chmurą platformy Azure, użyj usługi Azure IoT Operations. Aby dowiedzieć się więcej, zobacz Co to jest operacje usługi Azure IoT?.

Wzorce połączeń

Istnieją dwie szerokie kategorie wzorców połączeń używanych przez urządzenia IoT do łączenia się z chmurą:

Połączenia trwałe

Połączenia trwałe są wymagane, gdy rozwiązanie wymaga możliwości poleceń i kontroli . W scenariuszach poleceń i kontroli rozwiązanie IoT wysyła polecenia do urządzeń w celu kontrolowania ich zachowania niemal w czasie rzeczywistym. Połączenia trwałe utrzymują połączenie sieciowe z chmurą i łączą się ponownie, gdy wystąpią zakłócenia. Użyj protokołu MQTT lub AMQP na potrzeby trwałych połączeń urządzeń z centrum IoT. Zestawy SDK urządzeń IoT umożliwiają tworzenie trwałych połączeń z centrum IoT zarówno protokołami MQTT, jak i AMQP.

Połączenia efemeryczne

Połączenia efemeryczne to krótkie połączenia dla urządzeń wysyłających dane telemetryczne do centrum IoT. Gdy urządzenie wyśle dane telemetryczne, spadnie połączenie. Urządzenie ponownie łączy się, gdy ma więcej danych telemetrycznych do wysłania. Połączenia efemeryczne nie są odpowiednie dla scenariuszy poleceń i kontroli. Klient urządzenia może używać interfejsu API HTTP, jeśli wszystko, co musi zrobić, to wysyłać dane telemetryczne.

Bramy pól

Bramy pól (czasami nazywane bramami brzegowymi) są zwykle wdrażane lokalnie i blisko urządzeń IoT. Bramy pól obsługują komunikację z chmurą w imieniu urządzeń IoT. Bramy pól mogą:

  • Wykonaj translacja protokołu. Na przykład włączenie funkcji Bluetooth w celu nawiązania połączenia z chmurą.
  • Zarządzanie scenariuszami offline i rozłączenia. Na przykład buforowanie danych telemetrycznych, gdy punkt końcowy chmury jest niedostępny.
  • Filtruj, kompresuj lub agreguj dane telemetryczne przed wysłaniem ich do chmury.
  • Uruchom logikę na brzegu, aby usunąć opóźnienie skojarzone z uruchomioną logiką w imieniu urządzeń w chmurze. Na przykład wykrywanie skoku temperatury i otwarcie zaworu w odpowiedzi.

Usługa Azure IoT Edge umożliwia wdrożenie bramy pola w środowisku lokalnym. Usługa IoT Edge udostępnia zestaw funkcji, które umożliwiają wdrażanie bram pól i zarządzanie nimi na dużą skalę. Usługa IoT Edge udostępnia również zestaw modułów, których można użyć do implementowania typowych scenariuszy bramy. Aby dowiedzieć się więcej, zobacz Co to jest usługa Azure IoT Edge?

Urządzenie usługi IoT Edge może utrzymywać trwałe połączenie z centrum IoT Hub. Brama przekazuje dane telemetryczne urządzenia do usługi IoT Hub. Ta opcja umożliwia sterowanie urządzeniami podrzędnymi połączonymi z urządzeniem usługi IoT Edge i sterowanie nimi.

Mostki

Mostek urządzeń umożliwia urządzeniom połączonym z chmurą inną niż Microsoft łączenie się z rozwiązaniem IoT. Przykłady chmur innych niż microsoft obejmują Sigfox, Particle Device Cloud i The Things Network.

Mostek urządzeń usługi IoT Central typu open source działa jako tłumacz, który przekazuje dane telemetryczne do aplikacji usługi IoT Central. Aby dowiedzieć się więcej, zobacz Mostek urządzeń usługi Azure IoT Central. Istnieją rozwiązania spoza firmy Microsoft, takie jak Tartabit IoT Bridge, służące do łączenia urządzeń z centrum IoT Hub.

Następne kroki

Po wyświetleniu przeglądu łączności urządzeń w rozwiązaniach usługi Azure IoT niektóre sugerowane następne kroki obejmują: