Łączenie urządzeń usługi Azure IoT Edge z aplikacją usługi Azure IoT Central
Usługa Azure IoT Edge przenosi analizę chmury i niestandardową logikę biznesową z chmury do urządzeń. Takie podejście pozwala rozwiązaniu w chmurze skupić się na szczegółowych informacji biznesowych zamiast zarządzania danymi. Skalowanie rozwiązania IoT w poziomie przez pakowanie logiki biznesowej do standardowych kontenerów, wdrażanie tych kontenerów na urządzeniach i monitorowanie ich z chmury.
W tym artykule opisano:
- Wzorce bramy usługi IoT Edge z usługą IoT Central.
- Jak urządzenia usługi IoT Edge łączą się z aplikacją usługi IoT Central.
- Jak zarządzać urządzeniami usługi IoT Edge przy użyciu usługi IoT Central.
Aby dowiedzieć się więcej na temat usługi IoT Edge, zobacz Co to jest usługa Azure IoT Edge?
IoT Edge
Usługa IoT Edge składa się z trzech składników:
- Moduły usługi IoT Edge to kontenery , które uruchamiają usługi platformy Azure, usługi partnerskie lub własny kod. Moduły są wdrażane na urządzeniach usługi IoT Edge i uruchamiane lokalnie na tych urządzeniach. Manifest wdrożenia określa moduły do wdrożenia na urządzeniu usługi IoT Edge.
- Środowisko uruchomieniowe usługi IoT Edge działa na każdym urządzeniu usługi IoT Edge i zarządza modułami wdrożonym na każdym urządzeniu. Środowisko uruchomieniowe składa się z dwóch modułów usługi IoT Edge: agenta usługi IoT Edge i centrum usługi IoT Edge.
- Interfejs oparty na chmurze umożliwia zdalne monitorowanie urządzeń usługi IoT Edge i zarządzanie nimi. Usługa IoT Central jest przykładem interfejsu chmury.
Usługa IoT Central umożliwia korzystanie z następujących funkcji dla urządzeń usługi IoT Edge:
- Zarządzanie manifestem wdrożenia. Aplikacja usługi IoT Central może zarządzać kolekcją manifestów wdrażania i przypisywać je do urządzeń.
- Szablony urządzeń opisujące możliwości urządzenia usługi IoT Edge, takie jak:
- Dane telemetryczne wysyłane przez każdy moduł usługi IoT Edge.
- Właściwości każdego modułu usługi IoT Edge są raportami.
- Polecenia, na które odpowiada każdy moduł usługi IoT Edge.
- Relacje między urządzeniem bramy usługi IoT Edge i urządzeniem podrzędnym.
- Właściwości chmury, które nie są przechowywane na urządzeniu usługi IoT Edge.
- Widoki i formularze urządzeń.
- Możliwość aprowizowania urządzeń usługi IoT Edge na dużą skalę przy użyciu usługi Azure IoT Device Provisioning.
- Reguły i akcje.
- Niestandardowe pulpity nawigacyjne i analiza.
- Ciągły eksport danych telemetrycznych z urządzeń usługi IoT Edge.
Urządzenie usługi IoT Edge może być następujące:
- Autonomiczne urządzenie składające się z modułów niestandardowych.
- Urządzenie bramy z urządzeniami podrzędnymi łączącymi się z nim. Urządzenie bramy może zawierać moduły niestandardowe.
Urządzenia usługi IoT Edge i usługa IoT Central
Urządzenia usługi IoT Edge mogą używać tokenów sygnatury dostępu współdzielonego lub certyfikatów X.509 do uwierzytelniania w usłudze IoT Central. Możesz ręcznie zarejestrować urządzenia usługi IoT Edge w usłudze IoT Central przed nawiązaniem połączenia po raz pierwszy lub użyć usługi Device Provisioning Service do obsługi rejestracji. Aby dowiedzieć się więcej, zobacz Jak urządzenia nawiązują połączenie.
Opcjonalnie usługa IoT Central używa szablonów urządzeń do definiowania sposobu interakcji usługi IoT Central z urządzeniem usługi IoT Edge. Na przykład szablon urządzenia określa:
- Typy danych telemetrycznych i właściwości wysyłane przez urządzenie usługi IoT Edge, dzięki czemu usługa IoT Central może je interpretować i tworzyć wizualizacje.
- Polecenia urządzenia usługi IoT Edge odpowiadają, aby usługa IoT Central mogła wyświetlić interfejs użytkownika operatora do wywołania poleceń.
Jeśli nie ma szablonu urządzenia skojarzonego z urządzeniem, dane telemetryczne i wartości właściwości są wyświetlane jako niemodelowane dane. Można jednak nadal używać funkcji eksportowania danych usługi IoT Central do przekazywania danych telemetrycznych i wartości właściwości do innych usług zaplecza.
Manifesty wdrażania usługi IoT Edge
W usłudze IoT Edge wdrażasz logikę biznesową i zarządzasz nią w postaci modułów. Moduły usługi IoT Edge to najmniejsza jednostka obliczeniowa zarządzana przez usługę IoT Edge i mogą zawierać usługi platformy Azure, takie jak Azure Stream Analytics, lub własny kod specyficzny dla rozwiązania.
Manifest wdrożenia usługi IoT Edge zawiera listę modułów usługi IoT Edge do wdrożenia na urządzeniu i sposobu ich konfigurowania.
W usłudze Azure IoT Central przejdź do manifestów usługi Edge, aby zaimportować manifesty wdrażania dla urządzeń usługi IoT Edge w rozwiązaniu i zarządzać nimi.
Poniższy fragment kodu przedstawia przykładowy manifest wdrożenia usługi IoT Edge:
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
"createOptions": "{}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
}
}
W poprzednim fragmencie kodu widać:
- Istnieją trzy moduły. Agent usługi IoT Edge i moduły systemowe centrum usługi IoT Edge, które znajdują się w każdym manifeście wdrożenia. Niestandardowy moduł SimulatedTemperatureSensor .
- Publiczne obrazy modułów są pobierane z repozytorium usługi Azure Container Registry, które nie wymaga żadnych poświadczeń do nawiązania połączenia. W przypadku obrazów modułów prywatnych ustaw poświadczenia rejestru kontenerów do użycia w
registryCredentials
ustawieniu dla modułu agenta usługi IoT Edge. - Niestandardowy moduł SimulatedTemperatureSensor ma dwie właściwości
"SendData": true
z możliwością zapisu i"SendInterval": 10
.
Poniższy zrzut ekranu przedstawia ten manifest wdrożenia zaimportowany do usługi IoT Central:
Jeśli aplikacja korzysta z organizacji, możesz przypisać manifesty wdrożenia do określonych organizacji. Na poprzednim zrzucie ekranu przedstawiono manifest wdrożenia przypisany do organizacji Store Manager/Americas .
Aby dowiedzieć się, jak używać strony manifestów usługi Edge i przypisywać manifesty wdrażania do urządzeń usługi IoT Edge, zobacz Zarządzanie manifestami wdrażania usługi IoT Edge w aplikacji usługi IoT Central.
Zarządzanie nieprzypisanym urządzeniem
Urządzenie usługi IoT Edge, które nie ma skojarzonego szablonu urządzenia, jest nazywane nieprzypisanym urządzeniem. Nie można używać funkcji usługi IoT Central, takich jak pulpity nawigacyjne, grupy urządzeń, analiza, reguły i zadania z nieprzypisanymi urządzeniami. Można jednak użyć następujących funkcji z nieprzypisanymi urządzeniami:
- Wyświetlanie danych pierwotnych, takich jak dane telemetryczne i właściwości.
- Wywołaj polecenia urządzenia.
- Odczytywanie i zapisywanie właściwości.
Można również zarządzać poszczególnymi modułami na nieprzypisanych urządzeniach:
Szablony urządzeń usługi IoT Edge
Szablony urządzeń usługi IoT Central używają modeli do opisywania możliwości urządzeń usługi IoT Edge. Szablony urządzeń są opcjonalne dla urządzeń usługi IoT Edge. Szablon urządzenia umożliwia interakcję z danymi telemetrycznymi, właściwościami i poleceniami przy użyciu funkcji usługi IoT Central, takich jak pulpity nawigacyjne i analizy. Na poniższym diagramie przedstawiono strukturę modelu dla urządzenia usługi IoT Edge:
Usługa IoT Central modeluje urządzenie usługi IoT Edge w następujący sposób:
- Każdy szablon urządzenia usługi IoT Edge ma model możliwości.
- Dla każdego modułu niestandardowego wymienionego w manifeście wdrożenia dodaj definicję modułu, jeśli chcesz użyć usługi IoT Central do interakcji z tym modułem.
- Model możliwości modułu implementuje co najmniej jeden interfejs modułu.
- Każdy interfejs modułu zawiera dane telemetryczne, właściwości i polecenia.
Podstawowy model możliwości można wygenerować na podstawie modułów i właściwości zdefiniowanych w manifeście urządzenia. Aby dowiedzieć się więcej, zobacz Dodawanie modułów i właściwości do szablonów urządzeń.
Wzorce bramy usługi IoT Edge
Usługa IoT Central obsługuje następujące wzorce urządzeń usługi IoT Edge:
Usługa IoT Edge jako przezroczysta brama
Urządzenia podrzędne łączą się z usługą IoT Central za pośrednictwem bramy z własną tożsamością.
Urządzenie usługi IoT Edge jest aprowidowane w usłudze IoT Central wraz z urządzeniami podrzędnymi połączonymi z urządzeniem usługi IoT Edge. Obsługa środowiska uruchomieniowego aprowizacji urządzeń podrzędnych za pośrednictwem bramy nie jest obecnie obsługiwana.
Moduł centrum usługi IoT Edge zachowuje się jak usługa IoT Central i obsługuje połączenia z urządzeń zarejestrowanych w usłudze IoT Central. Komunikaty przekazywane z urządzeń podrzędnych do usługi IoT Central tak, jakby między nimi nie było żadnej bramy. W przezroczystej bramie nie można używać modułów niestandardowych do manipulowania komunikatami z urządzeń podrzędnych.
Uwaga
Usługa IoT Central obecnie nie obsługuje łączenia urządzenia usługi IoT Edge jako urządzenia podrzędnego z przezroczystą bramą usługi IoT Edge. Dzieje się tak, ponieważ wszystkie urządzenia łączące się z usługą IoT Central są aprowizowane przy użyciu usługi Device Provisioning Service (DPS), a usługa DPS nie obsługuje obecnie zagnieżdżonych scenariuszy usługi IoT Edge.
Usługa IoT Edge jako brama tłumaczenia protokołu
Ten wzorzec umożliwia łączenie urządzeń, które nie mogą używać żadnych protokołów, które obsługuje usługa IoT Central.
Urządzenie usługi IoT Edge jest aprowidowane w usłudze IoT Central, a wszystkie dane telemetryczne z urządzeń podrzędnych są reprezentowane jako pochodzące z urządzenia usługi IoT Edge. Urządzenia podrzędne połączone z urządzeniem usługi IoT Edge nie są aprowidowane w usłudze IoT Central.
Usługa IoT Edge jako brama tłumaczenia tożsamości
Urządzenia podrzędne łączą się z modułem w bramie, który udostępnia tożsamości urządzeń usługi IoT Central.
Urządzenie usługi IoT Edge jest aprowidowane w usłudze IoT Central wraz z urządzeniami podrzędnymi połączonymi z urządzeniem usługi IoT Edge. Obecnie usługa IoT Central nie obsługuje środowiska uruchomieniowego bramy w celu zapewnienia tożsamości i aprowizacji urządzeń podrzędnych. Jeśli korzystasz z własnego modułu tłumaczenia tożsamości, usługa IoT Central może obsługiwać ten wzorzec.
Relacje urządzeń podrzędnych z bramą i modułami
Jeśli urządzenia podrzędne łączą się z urządzeniem bramy usługi IoT Edge za pośrednictwem modułu centrum usługi IoT Edge, urządzenie usługi IoT Edge jest przezroczystą bramą:
Jeśli urządzenia podrzędne łączą się z urządzeniem bramy usługi IoT Edge za pośrednictwem modułu niestandardowego, urządzenie usługi IoT Edge jest bramą tłumaczenia. W poniższym przykładzie urządzenia podrzędne łączą się za pośrednictwem niestandardowego modułu Modbus , który wykonuje tłumaczenie protokołu:
Na poniższym diagramie przedstawiono połączenia z urządzeniem bramy usługi IoT Edge za pośrednictwem obu typów modułów. W tym scenariuszu urządzenie usługi IoT Edge jest zarówno przezroczystą, jak i bramą tłumaczenia:
Urządzenia podrzędne mogą łączyć się z urządzeniem bramy usługi IoT Edge za pośrednictwem wielu modułów niestandardowych. Na poniższym diagramie przedstawiono urządzenia podrzędne łączące się za pośrednictwem niestandardowego modułu Modbus, niestandardowego modułu BLE i modułu centrum usługi IoT Edge:
Aby dowiedzieć się więcej na temat wzorców bramy usługi IoT Edge, zobacz How an IoT Edge device can be used as a gateway (Jak urządzenie usługi IoT Edge może być używane jako brama).
Wdrażanie środowiska uruchomieniowego usługi IoT Edge
Aby dowiedzieć się, gdzie można uruchomić środowisko uruchomieniowe usługi IoT Edge, zobacz Obsługiwane systemy usługi Azure IoT Edge.
Środowisko uruchomieniowe usługi IoT Edge można również zainstalować w następujących środowiskach:
- Instalowanie lub odinstalowywanie usługi Azure IoT Edge dla systemu Linux
- Instalowanie i aprowizacja usługi IoT Edge dla systemu Linux w systemie Windows (wersja zapoznawcza)
- Uruchamianie usługi Azure IoT Edge na maszynach wirtualnych z systemem Ubuntu na platformie Azure
Monitorowanie urządzeń usługi IoT Edge
Aby dowiedzieć się, jak zdalnie monitorować flotę usługi IoT Edge, zobacz Zbieranie i transport metryk.
Następne kroki
Sugerowanym następnym krokiem jest poznanie sposobu tworzenia własnych modułów usługi IoT Edge.