Udostępnij za pośrednictwem


Tworzenie zasobów i urządzeń IoT

W tym omówieniu przedstawiono kluczowe pojęcia związane z opracowywaniem zasobów i urządzeń łączących się z typowymi rozwiązaniami usługi Azure IoT. Każda sekcja zawiera linki do zawartości, która zawiera szczegółowe informacje i wskazówki. Zazwyczaj urządzenia łączą się bezpośrednio z usługami opartymi na chmurze, takimi jak IoT Hub, podczas gdy zasoby łączą się z usługami opartymi na brzegu w twoim środowisku, takimi jak operacje usługi Azure IoT. Ten artykuł zawiera informacje o zasobach i urządzeniach.

Na poniższym diagramie przedstawiono ogólny widok składników w typowym rozwiązaniu IoT opartym na brzegu. Ten artykuł koncentruje się na zasobach i łącznikach przedstawionych na diagramie:

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

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 usługi Azure IoT obejmują 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 usługi Azure IoT.

Typy zasobów i urządzeń

Rozwiązanie IoT może zawierać wiele typów zasobów i urządzeń. Zazwyczaj urządzenia znajdują się w rozwiązaniach i zasobach opartych na chmurze w rozwiązaniach opartych na brzegu sieci. Istnieje również możliwość użycia rozwiązań hybrydowych, które zawierają zarówno urządzenia, jak i zasoby.

Przykładowe zasoby w rozwiązaniu opartym na brzegu sieci obejmują:

  • Robotowe ramiona, przenośnik taśmowy i windy.
  • Przemysłowe maszyny CNC, zatrzaski, piły i wiertarki.
  • Medyczne maszyny do obrazowania diagnostycznego.
  • Kamery wideo zabezpieczeń.
  • Składniki oprogramowania lub oprogramowania
  • 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 opartym na brzegu 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 oparte na brzegu sieci.

Modelowanie i schematy

Modele urządzeń i zasobów definiują dane, które urządzenia i zasoby są wymieniane 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 opartym na brzegu 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 tagi i zdarzenia w komunikacie JSON wymienianym z brokerem MQTT. Poniższy zrzut ekranu przedstawia przykład internetowego interfejsu użytkownika operacji cyfrowych, który definiuje dwa takie mapowania zasobu:

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ła 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 usługi Azure IoT konteneryzuje wszystkie jego łączniki, brokery i inne składniki, które działają na urządzeniach brzegowych. Operacje usługi Azure IoT są wdrażane w klastrze Kubernetes, który jest platformą orkiestracji kontenerów. Wdróż wszystkie łączniki niestandardowe lub inne składniki utworzone w klastrze Kubernetes.

Rozwiązanie korzystające z usługi Azure IoT Edge można wyświetlić jako bramę opartą na brzegu usługi IoT Hub jako rozwiązanie hybrydowe, które zawiera elementy rozwiązań opartych zarówno na brzegu, jak i w chmurze.

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 usługi IoT Hub z poziomu programu VS Code.
Eksplorator usługi Azure IoT To międzyplatformowe narzędzie umożliwia zarządzanie zasobami i urządzeniami usługi IoT Hub z poziomu aplikacji klasycznej.
Rozszerzenie usługi Azure IoT dla interfejsu wiersza polecenia platformy Azure 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.