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:
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:
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-message i az iot hub monitor-events , które ułatwiają testowanie interakcji z urządzeniami. |