Szybki start: wdrażanie pierwszego IoT Edge na urządzeniu Windows aplikacji

Dotyczy:  ikona tak IoT Edge 1,1

Wypróbuj te Azure IoT Edge tym przewodniku Szybki start, wdrażając konteneryzowany kod w systemie Linux na Windows IoT Edge urządzeniu. IoT Edge umożliwia zdalne zarządzanie kodem na urządzeniach w celu wysyłania większej liczby obciążeń na urządzenia brzegowe. W tym przewodniku Szybki start zalecamy użycie własnego urządzenia, aby zobaczyć, jak łatwo można używać usługi Azure IoT Edge dla systemu Linux na platformie Windows.

W tym przewodniku Szybki start zawarto informacje na temat wykonywania następujących czynności:

  • Utwórz centrum IoT.
  • Rejestrowanie urządzenia usługi IoT Edge w centrum IoT Hub.
  • Zainstaluj i uruchom pakiet IoT Edge dla systemu Linux w Windows uruchomieniowym na urządzeniu.
  • Zdalne wdrażanie modułu na urządzeniu IoT Edge wysyłanie danych telemetrycznych.

Diagram przedstawiający architekturę tego przewodnika Szybki start dla twojego urządzenia i chmury.

W tym przewodniku Szybki start opisano sposób Azure IoT Edge dla systemu Linux na Windows urządzeniu. Następnie wdrożysz moduł z aplikacji Azure Portal na urządzeniu. Moduł, z których będziesz korzystać, to symulowany czujnik generujący dane dotyczące temperatury, wilgotności i ciśnienia. Inne Azure IoT Edge samouczki są wykorzystywane w pracy, która jest tutaj robisz, wdrażając moduły, które analizują symulowane dane na potrzeby szczegółowych informacji biznesowych.

Jeśli nie masz aktywnej subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przygotuj środowisko dla interfejsu wiersza polecenia platformy Azure.

Utwórz grupę zasobów w chmurze, aby zarządzać wszystkimi zasobami, których będziesz używać w tym przewodniku Szybki start.

az group create --name IoTEdgeResources --location westus2

Upewnij się, IoT Edge urządzenie spełnia następujące wymagania:

  • Wersje

    • Windows 10 wersji 1809 lub nowszej; kompilacja 17763 lub nowszy
      • Professional, Enterprise, IoT Enterprise
    • Windows Serwer 2019 w kompilacji 17763 lub nowszej
  • Wymagania sprzętowe

    • Minimalna ilość wolnej pamięci: 1 GB
    • Minimalna ilość wolnego miejsca na dysku: 10 GB

Uwaga

Ten przewodnik Szybki start używa programu PowerShell do tworzenia wdrożenia programu IoT Edge dla systemu Linux w Windows. Możesz również użyć Windows Administracyjnego. Jeśli chcesz użyć centrum administracyjnego usługi Windows do utworzenia wdrożenia, wykonaj kroki opisane w przewodniku z instrukcjami instalowania i aprowizowania usługi Azure IoT Edge dla systemu Linux na Windows urządzeniu.

Tworzenie centrum IoT Hub

Rozpocznij od utworzenia centrum IoT Hub za pomocą interfejsu wiersza polecenia platformy Azure.

Diagram przedstawiający krok tworzenia centrum T.

Poziom bezpłatnych Azure IoT Hub działa w tym przewodniku Szybki start. Jeśli korzystasz z IoT Hub w przeszłości i masz już utworzone centrum, możesz użyć tego centrum IoT.

Poniższy kod tworzy bezpłatne centrum F1 w grupie zasobów IoTEdgeResources . Zastąp {hub_name} unikatową nazwą centrum IoT Hub. Utworzenie centrum IoT może potrwać kilka minut.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Jeśli wystąpi błąd, ponieważ masz już jedno bezpłatne centrum w subskrypcji, zmień wartość w sku S1 na . Jeśli wystąpi błąd z komunikatem o tym, że nazwa centrum IoT jest niedostępny, ktoś inny ma już centrum o tej nazwie. Wypróbuj nową nazwę.

Rejestrowanie urządzenia usługi IoT Edge

Zarejestruj urządzenie usługi IoT Edge, korzystając z nowo utworzonego centrum IoT.

Diagram przedstawiający krok rejestrowania urządzenia przy użyciu tożsamości centrum IoT.

Utwórz tożsamość urządzenia symulowanego, aby umożliwić mu komunikowanie się z centrum IoT Hub. Tożsamość urządzenia jest przechowywana w chmurze, a w celu skojarzenia urządzenia fizycznego z tożsamością urządzenia używane są unikatowe parametry połączenia urządzenia.

IoT Edge urządzenia zachowują się i mogą być zarządzane inaczej niż typowe urządzenia IoT. Użyj --edge-enabled flagi , aby zadeklarować, że ta tożsamość dotyczy IoT Edge urządzenia.

  1. W Azure Cloud Shell wprowadź następujące polecenie, aby utworzyć urządzenie o nazwie myEdgeDevice w centrum.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Jeśli wystąpi błąd kluczy zasad, upewnij się, że Cloud Shell jest uruchomiona najnowsza wersja iothubowner rozszerzenia usługi Azure IoT.

  2. Wyświetl ciąg połączenia urządzenia, który łączy urządzenie fizyczne z jego tożsamością w IoT Hub. Zawiera nazwę centrum IoT Hub, nazwę urządzenia i klucz współużytkowy, który uwierzytelnia połączenia między nimi.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Skopiuj wartość klucza connectionString z danych wyjściowych JSON i zapisz ją. Ta wartość to parametry połączenia urządzenia. Użyjesz go do skonfigurowania środowiska uruchomieniowego IoT Edge w następnej sekcji.

    Zrzut ekranu przedstawiający dane wyjściowe connectionString w Cloud Shell.

Instalowanie i uruchamianie środowiska uruchomieniowego usługi IoT Edge

Zainstaluj IoT Edge dla systemu Linux Windows urządzeniu i skonfiguruj go przy użyciu parametrów połączenia urządzenia.

Diagram przedstawiający krok uruchomienia środowiska IoT Edge uruchomieniowego.

Uruchom następujące polecenia programu PowerShell na urządzeniu docelowym, na którym chcesz wdrożyć program Azure IoT Edge linux na Windows. Aby wdrożyć na zdalnym urządzeniu docelowym przy użyciu programu PowerShell, użyj programu Remote PowerShell, aby nawiązać połączenie z urządzeniem zdalnym i zdalnie uruchomić te polecenia na tym urządzeniu.

  1. W sesji programu PowerShell z podwyższonym poziomem uprawnień uruchom każde z następujących poleceń, aby pobrać IoT Edge dla systemu Linux w Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. Zainstaluj IoT Edge dla systemu Linux Windows na urządzeniu.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  3. Ustaw zasady wykonywania na urządzeniu docelowym na wartość AllSigned , jeśli jeszcze go nie ma. Bieżące zasady wykonywania można sprawdzić w wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień, używając:

    Get-ExecutionPolicy -List
    

    Jeśli zasady wykonywania programu local machine nie mają ustawienia , możesz ustawić zasady wykonywania przy AllSigned użyciu:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  4. Utwórz IoT Edge dla systemu Linux w Windows wdrożenia.

    Deploy-Eflow
    
  5. Wprowadź wartość "Y", aby zaakceptować postanowienia licencyjne.

  6. Wprowadź wartość "O" lub "R", aby włączyć lub wyłączyć opcjonalne dane diagnostyczne w zależności od preferencji. Poniżej przedstawiono pomyślne wdrożenie.

    Pomyślne wdrożenie będzie kończyć się komunikatem "Wdrożenie zakończyło się pomyślnie" na końcu komunikatów

  7. Aprowizuj urządzenie przy użyciu parametrów połączenia urządzenia pobranych w poprzedniej sekcji. Zastąp tekst zastępczy własną wartością.

    Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
    

Urządzenie usługi IoT Edge jest teraz skonfigurowane. Jest ono gotowe do uruchamiania modułów wdrożonych w chmurze.

Wdrażanie modułu

Zarządzając urządzeniem usługi Azure IoT Edge z chmury, wdróż moduł przesyłający dane telemetryczne do centrum IoT Hub.

Diagram przedstawiający krok wdrażania modułu.

Jedną z kluczowych możliwości usługi Azure IoT Edge jest wdrażanie kodu na urządzeniach IoT Edge z chmury. IoT Edge to pakiety wykonywalne implementowane jako kontenery. W tej sekcji wdrożysz wstępnie sbudowaną moduł z sekcji IoT Edge Modules Azure Marketplace bezpośrednio z Azure IoT Hub.

Moduł, który wdrożysz w tej sekcji, symuluje czujnik i wysyła wygenerowane dane. Ten moduł jest przydatny, gdy rozpoczyna się pracę z usługą IoT Edge, ponieważ symulowane dane można wykorzystać przy programowaniu i testowaniu. Jeśli chcesz zobaczyć, co dokładnie robi ten moduł, możesz wyświetlić kod źródłowy symulowanego czujnika temperatury.

Wykonaj następujące kroki, aby wdrożyć pierwszy moduł z Azure Marketplace.

  1. Zaloguj się do Azure Portal i przejdź do centrum IoT Hub.

  2. W menu po lewej stronie w obszarze Automatyczne Zarządzanie urządzeniami wybierz pozycję IoT Edge.

  3. Wybierz identyfikator urządzenia docelowego z listy urządzeń.

    Po utworzeniu nowego IoT Edge urządzenie wyświetli kod stanu w 417 -- The device's deployment configuration is not set Azure Portal. Ten stan jest normalny i oznacza, że urządzenie jest gotowe do odbierania wdrożenia modułu.

  4. Na górnym pasku wybierz pozycję Ustaw moduły.

    Zrzut ekranu przedstawiający wybieranie opcji Ustaw moduły.

  5. W IoT Edge Module (Moduły witryny Marketplace) otwórz menu rozwijane Add (Dodaj), a następnie wybierz pozycję Marketplace Module (Moduł witryny Marketplace).

    Zrzut ekranu przedstawiający menu rozwijane Dodaj.

  6. W IoT Edge Module Marketplace wyszukaj i wybierz Simulated Temperature Sensor moduł.

    Moduł zostanie dodany do sekcji IoT Edge Modules z żądanym stanem uruchomienia.

  7. Wybierz pozycję Dalej: Trasy, aby kontynuować pracę w następnym kroku kreatora.

    Zrzut ekranu przedstawiający kontynuowanie do następnego kroku po dodaniu modułu.

  8. Na karcie Trasy usuń trasę domyślną, trasę , a następnie wybierz pozycję Dalej: Przeglądanie + tworzenie, aby kontynuować pracę kreatora.

    Uwaga

    Trasy są konstruowane przy użyciu par nazw i wartości. Na tej stronie powinny zostać wyświetlonych dwie trasy. Trasa domyślna, route, wysyła wszystkie komunikaty do IoT Hub (o nazwie $upstream ). Druga trasa, SimulatedTemperatureSensorToIoTHub, została utworzona automatycznie po dodaniu modułu z Azure Marketplace. Ta trasa wysyła wszystkie komunikaty z modułu symulowanej temperatury do IoT Hub. Możesz usunąć trasę domyślną, ponieważ w tym przypadku jest ona nadmiarowa.

    Zrzut ekranu przedstawiający usuwanie trasy domyślnej, a następnie przejście do następnego kroku.

  9. Przejrzyj plik JSON, a następnie wybierz pozycję Utwórz. Plik JSON definiuje wszystkie moduły wdrażane na urządzeniu IoT Edge danych. Zobaczysz moduł SimulatedTemperatureSensor oraz dwa moduły środowiska uruchomieniowego: edgeAgent i edgeHub.

    Uwaga

    Podczas przesłania nowego wdrożenia na urządzenie usługi IoT Edge do urządzenia nie jest wypychane żadne powiadomienie. Nie jest to konieczne, ponieważ urządzenie regularnie wysyła do usługi IoT Hub zapytania w celu odebrania wszelkich nowych instrukcji. Jeśli urządzenie znajdzie zaktualizowany manifest wdrażania, użyje informacji o nowym wdrożeniu, aby ściągnąć obrazy modułów z chmury, a następnie zacznie uruchamiać moduły lokalnie. Ten proces może potrwać kilka minut.

  10. Po utworzeniu szczegółów wdrożenia modułu kreator wróci do strony szczegółów urządzenia. Wyświetl stan wdrożenia na karcie Moduły.

    Powinny zostać wyświetlony trzy moduły: $edgeAgent, $edgeHub i SimulatedTemperatureSensor. Jeśli co najmniej jeden z modułów ma wartość YES (Tak) w obszarze SPECIFIED IN DEPLOYMENT (OKREŚLONE WE WDROŻENIU), ale nie w obszarze REPORTED BY DEVICE(ZGŁOSZONE PRZEZ URZĄDZENIE), urządzenie IoT Edge nadal je uruchamia. Poczekaj kilka minut, a następnie odśwież stronę.

    Zrzut ekranu przedstawiający symulowany czujnik temperatury na liście wdrożonych modułów.

Wyświetlanie wygenerowanych danych

W tym przewodniku Szybki start utworzono nowe urządzenie usługi IoT Edge i zainstalowano na nim środowisko uruchomieniowe usługi IoT Edge. Następnie za pomocą Azure Portal wdrożyliśmy moduł IoT Edge do uruchamiania na urządzeniu bez konieczności zmieniania samego urządzenia.

Wypchowany moduł generuje przykładowe dane środowiska, których można użyć do późniejszego testowania. Symulowany czujnik monitoruje maszynę i środowisko wokół maszyny. Na przykład ten czujnik może być umieszczony w serwerowni, w hali fabrycznej lub na turbinie wiatrowej. Wysyłane komunikaty obejmują temperaturę i wilgotność otoczenia, temperaturę i ciśnienie maszyny oraz znacznik czasu. IoT Edge samouczków używają danych utworzonych w tym module jako danych testowych do analizy.

  1. Zaloguj się do maszyny IoT Edge dla systemu Linux na Windows wirtualnej przy użyciu następującego polecenia w sesji programu PowerShell:

    Connect-EflowVm
    

    Uwaga

    Jedynym kontem, które może natworzyć z maszyną wirtualną za pomocą SSH, jest użytkownik, który ją utworzył.

  2. Po zalogowaniu się możesz sprawdzić listę uruchomionych modułów IoT Edge pomocą następującego polecenia systemu Linux:

    sudo iotedge list
    

    Sprawdź, czy czujnik temperatury, agent i centrum są uruchomione.

  3. Wyświetl komunikaty wysyłane z modułu czujnika temperatury do chmury za pomocą następującego polecenia systemu Linux:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Ważne

    IoT Edge poleceniach jest wielkość liter, gdy odwołują się do nazw modułów.

    Wyświetl dzienniki danych wyjściowych modułu Simulated Temperature Sensor.

Możesz również użyć rozszerzenia Azure IoT Hub, aby Visual Studio Code, jak komunikaty docierają do centrum IoT.

Czyszczenie zasobów

Jeśli chcesz kontynuować pracę z samouczkami IoT Edge, pomiń ten krok. Możesz użyć urządzenia, które zostało zarejestrowane i ustawione w tym przewodniku Szybki start. W przeciwnym razie możesz usunąć utworzone zasoby platformy Azure, aby uniknąć nalicznych opłat.

Jeśli maszyna wirtualna i centrum IoT Hub zostały utworzone w nowej grupie zasobów, możesz usunąć tę grupę i wszystkie powiązane zasoby. Jeśli nie chcesz usuwać całej grupy, możesz usunąć poszczególne zasoby.

Ważne

Sprawdź zawartość grupy zasobów, aby upewnić się, że nie ma niczego, co chcesz zachować. Usunięcie grupy zasobów jest nieodwracalne.

Użyj następującego polecenia, aby usunąć grupę IoTEdgeResources. Usuwanie może potrwać kilka minut.

az group delete --name IoTEdgeResources

Możesz potwierdzić, że grupa zasobów została usunięta, używając tego polecenia, aby wyświetlić listę grup zasobów.

az group list

Usuń Azure IoT Edge dla systemu Linux w Windows

Użyj rozszerzenia pulpitu nawigacyjnego w Windows Admin Center, aby odinstalować Azure IoT Edge dla systemu Linux Windows.

  1. Połączenie do urządzenia IoT Edge w centrum Windows administracyjnego. Ładowane jest rozszerzenie narzędzia pulpitu nawigacyjnego platformy Azure.

  2. Wybierz pozycję Odinstaluj. Po Azure IoT Edge zostanie usunięta, Windows Administracyjne usunie wpis Azure IoT Edge z urządzenia ze strony startowej.

Uwaga

Innym sposobem usunięcia Azure IoT Edge z systemu Windows jest wybranie opcji Uruchom Ustawienia > > Apps > Azure IoT Edge LTS > Odinstaluj na IoT Edge urządzeniu. Ta metoda usuwa Azure IoT Edge z IoT Edge, ale pozostawia połączenie w Windows administracyjnym. Aby ukończyć usuwanie, odinstaluj Windows Admin Center z Ustawienia menu.

Następne kroki

W tym przewodniku Szybki start utworzono urządzenie usługi IoT Edge i wdrożono na nim kod przy użyciu interfejsu usługi Azure IoT Edge w chmurze. Masz teraz urządzenie testowe generujące nieprzetworzone dane dotyczące jego środowiska.

W następnym samouczku dowiesz się, jak monitorować aktywność i kondycję urządzenia z Azure Portal.