Jak używać urządzenia usługi IoT Edge jako bramy

Dotyczy:IoT Edge 1.4 checkmark IoT Edge 1.4

Ważne

Azure IoT Edge1.4 jest obsługiwaną wersją. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Urządzenia usługi IoT Edge mogą działać jako bramy, zapewniając połączenie między innymi urządzeniami w sieci i usłudze IoT Hub.

Moduł centrum usługi IoT Edge działa jak usługa IoT Hub, dzięki czemu może obsługiwać połączenia z innych urządzeń, które mają tożsamość z tym samym centrum IoT. Ten typ wzorca bramy jest nazywany przezroczystym, ponieważ komunikaty mogą przekazywać komunikaty z urządzeń podrzędnych do usługi IoT Hub, tak jakby między nimi nie było bramy.

W przypadku urządzeń, które nie mogą łączyć się z usługą IoT Hub samodzielnie, bramy usługi IoT Edge mogą zapewnić to połączenie. Ten typ wzorca bramy jest nazywany tłumaczeniem , ponieważ urządzenie usługi IoT Edge musi przetwarzać przychodzące komunikaty urządzeń podrzędnych przed przekazaniem ich do usługi IoT Hub. Te scenariusze wymagają dodatkowych modułów w bramie usługi IoT Edge w celu obsługi kroków przetwarzania.

Wzorce przezroczystych i translacji bramy nie wykluczają się wzajemnie. Jedno urządzenie usługi IoT Edge może działać zarówno jako brama przezroczysta, jak i brama tłumaczenia.

Wszystkie wzorce bramy zapewniają następujące korzyści:

  • Analiza na brzegu sieci — lokalnie używaj usług sztucznej inteligencji do przetwarzania danych pochodzących z urządzeń podrzędnych bez wysyłania danych telemetrycznych o pełnej wierności do chmury. Znajdowanie szczegółowych informacji i reagowanie na nie lokalnie i wysyłanie tylko podzestawu danych do usługi IoT Hub.
  • Izolacja urządzeń podrzędnych — urządzenie bramy może chronić wszystkie urządzenia podrzędne przed narażeniem na Internet. Może znajdować się między siecią technologii operacyjnej (OT), która nie ma łączności i sieci informatycznej, która zapewnia dostęp do sieci Web. Podobnie urządzenia, które nie mają możliwości łączenia się z usługą IoT Hub samodzielnie, mogą zamiast tego łączyć się z urządzeniem bramy.
  • multipleksowanie Połączenie ion — wszystkie urządzenia łączące się z usługą IoT Hub za pośrednictwem bramy usługi IoT Edge mogą używać tego samego połączenia bazowego. Ta możliwość multipleksowania wymaga, aby brama usługi IoT Edge używała protokołu AMQP jako protokołu nadrzędnego.
  • Wygładzenie ruchu — urządzenie usługi IoT Edge automatycznie implementuje wycofywanie wykładnicze, jeśli usługa IoT Hub ogranicza ruch, jednocześnie utrwalając komunikaty lokalnie. Ta korzyść sprawia, że rozwiązanie jest odporne na wzrost ruchu.
  • Obsługa trybu offline — urządzenie bramy przechowuje komunikaty i aktualizacje bliźniaczej reprezentacji, których nie można dostarczyć do usługi IoT Hub.

Przezroczyste bramy

W przypadku wzorca przezroczystej bramy urządzenia, które teoretycznie mogą łączyć się z usługą IoT Hub, mogą zamiast tego łączyć się z urządzeniem bramy. Urządzenia podrzędne mają własne tożsamości usługi IoT Hub i łączą się przy użyciu protokołów MQTT lub AMQP. Brama po prostu przekazuje komunikaty pomiędzy urządzeniami a usługą IoT Hub. Zarówno urządzenia, jak i użytkownicy korzystający z nich za pośrednictwem usługi IoT Hub nie wiedzą, że brama pośrednicza w komunikacji. Ten brak świadomości oznacza, że brama jest uważana za przezroczystą.

Aby uzyskać więcej informacji na temat zarządzania komunikacją między urządzeniami podrzędnymi i chmurą centrum usługi IoT Edge, zobacz Omówienie środowiska uruchomieniowego usługi Azure IoT Edge i jego architektury.

Począwszy od wersji 1.2 usługi IoT Edge, przezroczyste bramy mogą obsługiwać połączenia z podrzędnych urządzeń usługi IoT Edge.

Relacje nadrzędne i podrzędne

Relacje przezroczystej bramy w usłudze IoT Hub można zadeklarować, ustawiając bramę usługi IoT Edge jako element nadrzędny podrzędnego urządzenia podrzędnego łączącego się z nim.

Uwaga

Urządzenie podrzędne emituje dane bezpośrednio do Internetu lub do urządzeń bramy (usługa IoT Edge jest włączona lub nie). Urządzenie podrzędne może być urządzeniem podrzędnym lub urządzeniem bramy w topologii zagnieżdżonej.

Relacja nadrzędna/podrzędna jest ustanawiana w trzech punktach w konfiguracji bramy:

Tożsamości w chmurze

Wszystkie urządzenia w scenariuszu przezroczystej bramy wymagają tożsamości w chmurze, aby mogły uwierzytelniać się w usłudze IoT Hub. Podczas tworzenia lub aktualizowania tożsamości urządzenia można ustawić urządzenia nadrzędne lub podrzędne urządzenia. Ta konfiguracja autoryzuje urządzenie bramy nadrzędnej do obsługi uwierzytelniania dla urządzeń podrzędnych.

Uwaga

Ustawienie urządzenia nadrzędnego w usłudze IoT Hub było opcjonalnym krokiem dla urządzeń podrzędnych korzystających z uwierzytelniania klucza symetrycznego. Jednak począwszy od wersji 1.1.0 każde urządzenie podrzędne musi być przypisane do urządzenia nadrzędnego.

Możesz skonfigurować centrum usługi IoT Edge, aby wrócić do poprzedniego zachowania, ustawiając zmienną środowiskową AuthenticationMode na wartość CloudAndScope.

Urządzenia podrzędne mogą mieć tylko jeden element nadrzędny. Domyślnie element nadrzędny może mieć maksymalnie 100 elementów podrzędnych. Ten limit można zmienić, ustawiając zmienną środowiskową Max Połączenie edClients w module edgeHub urządzenia nadrzędnego.

Urządzenia IoT Edge mogą być zarówno elementami nadrzędnymi, jak i podrzędnymi w relacjach przezroczystej bramy. Można utworzyć hierarchię wielu urządzeń IoT Edge raportujących do siebie nawzajem. Najwyższy węzeł hierarchii bramy może mieć do pięciu generacji węzłów podrzędnych. Na przykład urządzenie IoT Edge może mieć pięć warstw urządzeń IoT Edge połączonych pod nim jako urządzenia podrzędne. Jednak urządzenie usługi IoT Edge w piątej generacji nie może mieć żadnych elementów podrzędnych, usługi IoT Edge ani w inny sposób.

Odnajdywanie bramy

Urządzenie podrzędne musi mieć możliwość znalezienia urządzenia nadrzędnego w sieci lokalnej. Skonfiguruj urządzenia bramy z nazwą hosta , w pełni kwalifikowaną nazwą domeny (FQDN) lub adresem IP, którego będą używać jego urządzenia podrzędne do zlokalizowania.

Na podrzędnych urządzeniach IoT użyj parametru gatewayHostname w parametry połączenia, aby wskazać urządzenie nadrzędne.

Na podrzędnych urządzeniach usługi IoT Edge użyj parametru parent_hostname w pliku konfiguracji, aby wskazać urządzenie nadrzędne.

Bezpieczne połączenie

Urządzenia nadrzędne i podrzędne muszą również uwierzytelniać swoje połączenia ze sobą. Każde urządzenie wymaga kopii udostępnionego certyfikatu głównego urzędu certyfikacji używanego przez urządzenia podrzędne w celu sprawdzenia, czy łączą się z odpowiednią bramą.

Gdy wiele bram usługi IoT Edge łączy się ze sobą w hierarchii bramy, wszystkie urządzenia w hierarchii powinny używać jednego łańcucha certyfikatów.

Możliwości urządzeń za przezroczystymi bramami

Wszystkie elementy pierwotne usługi IoT Hub, które współpracują z potokiem obsługi komunikatów usługi IoT Edge, obsługują również scenariusze przezroczystej bramy. Każda brama usługi IoT Edge ma funkcje przechowywania i przesyłania dalej dla komunikatów przychodzących przez nią.

Poniższa tabela zawiera informacje o tym, jak różne możliwości usługi IoT Hub są obsługiwane dla urządzeń w porównaniu z urządzeniami za bramami.

Możliwość Urządzenie IoT IoT za bramą Urządzenie usługi IoT Edge Usługa IoT Edge za bramą
Komunikaty urządzenie-chmura (D2C) Yes - IoT D2C Yes - child IoT D2C Yes - IoT Edge D2C Yes - child IoT Edge D2C
Komunikaty z chmury do urządzenia (C2D) Yes - IoT C2D Yes - IoT child C2D No - IoT Edge C2D No - IoT Edge child C2D
Metody bezpośrednie Yes - IoT direct method Yes - child IoT direct method Yes - IoT Edge direct method Yes - child IoT Edge direct method
Bliźniacze reprezentacje urządzeń i bliźniacze reprezentacje modułu Yes - IoT twins Yes - child IoT twins Yes - IoT Edge twins Yes - child IoT Edge twins
Przekazywanie pliku Yes - IoT file upload No - IoT child file upload No - IoT Edge file upload No - IoT Edge child file upload
Ściąganie obrazu kontenera Yes - IoT Edge container pull Yes - child IoT Edge container pull
Przekazywanie obiektów blob Yes - IoT Edge blob upload Yes - child IoT Edge blob upload

Obrazy kontenerów można pobierać, przechowywać i dostarczać z urządzeń nadrzędnych do urządzeń podrzędnych.

Obiekty blob, w tym pakiety i dzienniki pomocy technicznej, można przekazywać z urządzeń podrzędnych do urządzeń nadrzędnych.

Bramy tłumaczenia

Jeśli urządzenia podrzędne nie mogą nawiązać połączenia z usługą IoT Hub, brama usługi IoT Edge musi działać jako translator. Często ten wzorzec jest wymagany w przypadku urządzeń, które nie obsługują protokołu MQTT, AMQP ani HTTP. Ponieważ te urządzenia nie mogą nawiązać połączenia z usługą IoT Hub, nie mogą również łączyć się z modułem centrum usługi IoT Edge bez przetwarzania wstępnego.

Niestandardowe lub moduły innych firm, które są często specyficzne dla sprzętu lub protokołu urządzenia podrzędnego, należy wdrożyć w bramie usługi IoT Edge. Te moduły tłumaczenia przyjmują komunikaty przychodzące i przekształcają je w format zrozumiały dla usługi IoT Hub.

Istnieją dwa wzorce dla bram tłumaczenia: tłumaczenie protokołu i tłumaczenie tożsamości.

Diagram showing translation gateway patterns.

Translacja protokołów

We wzorcu bramy translacji protokołu tylko brama usługi IoT Edge ma tożsamość z usługą IoT Hub. Moduł tłumaczenia odbiera komunikaty z urządzeń podrzędnych, tłumaczy je na obsługiwany protokół, a następnie urządzenie usługi IoT Edge wysyła komunikaty w imieniu urządzeń podrzędnych. Wszystkie informacje wyglądają tak, jakby pochodziły z jednego urządzenia — bramy. Urządzenia podrzędne muszą osadzić dodatkowe informacje identyfikacyjne w swoich komunikatach, aby aplikacje w chmurze mogły przeanalizować dane według urządzenia. Ponadto elementy pierwotne usługi IoT Hub, takie jak bliźniacze i metody bezpośrednie, są obsługiwane tylko dla urządzenia bramy, a nie dla urządzeń podrzędnych. Bramy w tym wzorcu są uważane za nieprzezroczyste w przeciwieństwie do przezroczystych bram, ponieważ ukrywają tożsamości urządzeń podrzędnych.

Tłumaczenie protokołu obsługuje urządzenia, które są ograniczone przez zasoby. Wiele istniejących urządzeń generuje dane, które mogą zasilać szczegółowe informacje biznesowe; jednak nie zostały one zaprojektowane z myślą o łączności w chmurze. Nieprzezroczyste bramy umożliwiają odblokowanie tych danych i ich używanie w rozwiązaniu IoT.

Tłumaczenie tożsamości

Wzorzec bramy tłumaczenia tożsamości opiera się na tłumaczeniu protokołu, ale brama usługi IoT Edge udostępnia również tożsamość urządzenia usługi IoT Hub w imieniu urządzeń podrzędnych. Moduł tłumaczenia jest odpowiedzialny za zrozumienie protokołu używanego przez urządzenia podrzędne, zapewnienie im tożsamości i tłumaczenie komunikatów na elementy pierwotne usługi IoT Hub. Urządzenia podrzędne pojawią się w usłudze IoT Hub jako urządzenia pierwszej klasy z urządzeniami bliźniaczymi i metodami. Użytkownik może korzystać z urządzeń w usłudze IoT Hub i nie wie o pośredniczącym urządzeniu bramy.

Tłumaczenie tożsamości zapewnia zalety tłumaczenia protokołu i dodatkowo umożliwia pełne zarządzanie urządzeniami podrzędnym z chmury. Wszystkie urządzenia w rozwiązaniu IoT są wyświetlane w usłudze IoT Hub niezależnie od używanego protokołu.

Możliwości urządzeń za bramami tłumaczenia

W poniższej tabeli wyjaśniono, jak funkcje usługi IoT Hub są rozszerzane na urządzenia podrzędne w obu wzorcach bramy tłumaczenia.

Możliwość Translacja protokołów Tłumaczenie tożsamości
Tożsamości przechowywane w rejestrze tożsamości usługi IoT Hub Tylko tożsamość urządzenia bramy Tożsamości wszystkich połączonych urządzeń
Bliźniak urządzenia Tylko brama ma bliźniacze reprezentacje urządzenia i modułu Każde połączone urządzenie ma własną reprezentację urządzenia
Metody bezpośrednie i komunikaty z chmury do urządzenia Chmura może adresować tylko urządzenie bramy Chmura może indywidualnie adresować każde połączone urządzenie
Ograniczenia i przydziały usługi IoT Hub Stosowanie do urządzenia bramy Zastosuj do każdego urządzenia

W przypadku korzystania ze wzorca translacji protokołu wszystkie urządzenia łączące się za pośrednictwem tej bramy współużytkować tę samą kolejkę chmura-urządzenie, która może zawierać co najwyżej 50 komunikatów. Tego wzorca należy używać tylko wtedy, gdy kilka urządzeń łączy się za pośrednictwem każdej bramy pola, a ruch między chmurami i urządzeniami jest niski.

Środowisko uruchomieniowe usługi IoT Edge nie obejmuje możliwości tłumaczenia protokołu ani tożsamości. Te wzorce wymagają modułów niestandardowych lub innych firm, które są często specyficzne dla używanego sprzętu i protokołu. Witryna Azure Marketplace zawiera kilka modułów tłumaczenia protokołu do wyboru. Aby zapoznać się z przykładem korzystającym ze wzorca tłumaczenia tożsamości, zobacz Zestaw startowy LoRaWAN usługi Azure IoT Edge.

Następne kroki

Zapoznaj się z trzema krokami konfigurowania przezroczystej bramy: