Udostępnij za pośrednictwem


Opracowywanie urządzeń IoT

W tym omówieniu przedstawiono kluczowe pojęcia związane z opracowywaniem urządzeń łączących się z typowymi rozwiązaniami Azure IoT. Każda sekcja zawiera linki do zawartości, która zawiera szczegółowe informacje i wskazówki.

W rozwiązaniu połączonym z chmurą urządzenia łączą się bezpośrednio z usługami w chmurze, takimi jak IoT Hub, natomiast w rozwiązaniu połączonym z brzegiem urządzenia łączą się z usługami brzegowymi w twoim środowisku, takimi jak Operacje Azure IoT.

Na poniższym diagramie przedstawiono ogólny widok składników w typowym rozwiązaniu IoT połączonym z urządzeniami brzegowymi. Ten artykuł koncentruje się na urządzeniach, zasobach i łącznikach przedstawionych na diagramie:

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

Zasoby zwykle mają wbudowane oprogramowanie układowe implementujące standardowe protokoły. Na przykład ramię robota może być klientem OPC UA, a kamera wideo zabezpieczeń może implementować ONVIF. Operacje Azure IoT zawiera różne łączniki, które mogą używać tych protokołów do komunikowania się z elementami zawartości i tłumaczenia komunikatów z zasobów na komunikaty MQTT. Niektóre zasoby mogą odbierać komunikaty umożliwiające wykonywanie na nich operacji, takich jak:

  • Przesuwanie lub przechylanie kamery zabezpieczającej.
  • Zmień poziom rejestrowania na ramieniu robota.
  • Zainicjuj aktualizację oprogramowania układowego.

Możesz utworzyć własne łączniki niestandardowe, aby łączyć się z elementami zawartości, które używają protokołów, które nie są natywnie obsługiwane przez Operacje Azure IoT.

Typy urządzeń

Rozwiązanie IoT może zawierać wiele typów zasobów i urządzeń.

Przykładowe zasoby w rozwiązaniu brzegowym obejmują:

  • Robotowe ramiona, przenośnik taśmowy i windy.
  • Przemysłowe maszyny CNC, zatrzaski, piły i wiertarki.
  • Medyczne maszyny do obrazowania diagnostycznego.
  • Kamery monitoringu zabezpieczeń.
  • Programowalne kontrolery logiki.

Te zasoby zwykle mają wbudowane oprogramowanie układowe, które implementuje standardowe protokoły. Na przykład ramię robota może być klientem OPC UA, a kamera wideo zabezpieczeń może zaimplementować protokół ONVIF. W rozwiązaniu połączonym z urządzeniami brzegowymi używasz wyspecjalizowanych łączników do łączenia się z tymi elementami zawartości i tłumaczenia komunikatów z nich na wspólny format.

W przypadku zasobów nie ma bezpośredniego odpowiednika roli dewelopera urządzenia. Zamiast tego operator może skonfigurować łączniki w celu nawiązania połączenia z elementami zawartości. Może jednak być konieczne opracowanie łączników niestandardowych w celu nawiązania połączenia z elementami zawartości korzystającymi z protokołów, które nie są natywnie obsługiwane przez rozwiązanie połączone z urządzeniem brzegowym.

Modelowanie i schematy

Modele urządzeń i zasobów definiują dane, które urządzenia i zasoby wymieniają z chmurą. Modele umożliwiają integrowanie urządzeń i zasobów z rozwiązaniem IoT w wielu scenariuszach z małą ilością kodu lub bez kodu.

W rozwiązaniu połączonym z urządzeniami brzegowymi operator konfiguruje łączniki do łączenia się z elementami zawartości. Ta konfiguracja obejmuje mapowanie między danymi zasobu a schematem chmury. Na przykład łącznik OPC UA umożliwia operatorowi mapowanie identyfikatorów węzłów OPC UA na punkty danych i zdarzenia w komunikacie JSON wymienianym z brokerem MQTT. Poniższy zrzut ekranu przedstawia przykład interfejsu użytkownika internetowego środowiska operacji cyfrowych, który definiuje dwa takie mapowania:

Zrzut ekranu przedstawiający przykładową definicję zasobu.

W innym miejscu rozwiązania operator może odwoływać się bezpośrednio do tagów Temperature i Tag 10 bez konieczności znajomości szczegółów identyfikatorów węzłów OPC UA.

Konteneryzacja

Konteneryzacja to sposób tworzenia pakietów i uruchamiania kodu w uproszczonym, izolowanym środowisku. Kontenery są przenośne i mogą być uruchamiane na dowolnej platformie obsługującej środowisko uruchomieniowe kontenera. Kontenery to dobry sposób na spakowanie i wdrożenie kodu, ponieważ zapewniają spójne środowisko uruchomieniowe dla kodu. Środowisko uruchomieniowe zwykle obejmuje usługi, biblioteki i pakiety, które należy uruchomić w kodzie.

Operacje Azure IoT konteneryzuje wszystkie jego łączniki, brokery i inne składniki, które działają na brzegu sieci. Operacje Azure IoT wdraża się w klastrze Kubernetes, który jest platformą orkiestracji kontenerów. Wdróż wszystkie łączniki niestandardowe lub inne składniki utworzone w klastrze Kubernetes.

Możesz wyświetlić rozwiązanie, które używa Azure IoT Edge jako bramy brzegowej połączonej z IoT Hub, jako rozwiązania hybrydowego, które zawiera elementy rozwiązań brzegowych i chmurowych.

Narzędzia programistyczne dla urządzeń

W poniższej tabeli wymieniono niektóre z dostępnych narzędzi deweloperskich urządzeń IoT:

Narzędzie opis
Azure IoT Hub (rozszerzenie programu VS Code) To rozszerzenie programu VS Code umożliwia zarządzanie zasobami i urządzeniami IoT Hub z poziomu programu VS Code.
Azure IoT explorer To międzyplatformowe narzędzie umożliwia zarządzanie zasobami i urządzeniami IoT Hub z poziomu aplikacji klasycznej.
rozszerzenie Azure IoT dla Azure CLI To rozszerzenie interfejsu wiersza polecenia zawiera polecenia, takie jak az iot device simulate, az iot device c2d-messagei az iot hub monitor-events , które ułatwiają testowanie interakcji z urządzeniami.