Udostępnij za pośrednictwem


Samouczek: konfigurowanie środowiska na potrzeby uczenia maszynowego w usłudze IoT Edge

Dotyczy: Ikona tak IoT Edge 1.1

Ważne

Data zakończenia wsparcia usługi IoT Edge 1.1 wynosiła 13 grudnia 2022 r. Zapoznaj się z cyklem życia produktów firmy Microsoft, aby uzyskać informacje na temat sposobu obsługi tego produktu lub interfejsu API albo tej usługi lub technologii. Aby uzyskać więcej informacji na temat aktualizowania do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie usługi IoT Edge.

Ten artykuł ułatwia przygotowanie środowiska do programowania i wdrażania. Najpierw skonfiguruj maszynę dewelopera przy użyciu wszystkich potrzebnych narzędzi. Następnie utwórz niezbędne zasoby w chmurze na platformie Azure.

W tej sekcji samouczka dowiesz się, jak wykonywać następujące działania:

  • Konfigurowanie maszyny wirtualnej na potrzeby programowania.
  • Skonfiguruj usługę IoT Hub i magazyn w chmurze dla środowiska deweloperskiego do użycia.

Wymagania wstępne

Ten artykuł jest częścią serii samouczka dotyczącego korzystania z usługi Azure Machine Learning w usłudze IoT Edge. Każdy artykuł z serii opiera się na pracy w poprzednim artykule. Jeśli dotarłeś bezpośrednio do tego artykułu, odwiedź pierwszy artykuł z serii.

Konfigurowanie maszyny wirtualnej dewelopera

Ten krok jest zwykle wykonywany przez dewelopera rozwiązań w chmurze. Niektóre oprogramowanie może być również przydatne dla analityka danych.

Utworzyliśmy skrypt programu PowerShell, który tworzy maszynę wirtualną platformy Azure z wieloma już skonfigurowanymi wymaganiami wstępnymi. Tworzona maszyna wirtualna musi być w stanie obsłużyć wirtualizację zagnieżdżonych, dlatego wybraliśmy rozmiar maszyny Standard_D8s_v3.

Maszyna wirtualna deweloperów zostanie skonfigurowana przy użyciu następujących funkcji:

Maszyna wirtualna dewelopera nie jest ściśle niezbędna — wszystkie narzędzia programistyczne mogą być uruchamiane na komputerze lokalnym. Zdecydowanie zalecamy jednak użycie maszyny wirtualnej w celu zapewnienia równych warunków działania.

Utworzenie i skonfigurowanie maszyny wirtualnej trwa około 30 minut.

  1. Sklonuj lub pobierz przykładowe repozytorium usługi Machine Learning i IoT Edge na komputer lokalny.

  2. Otwórz program PowerShell jako administrator i przejdź do katalogu \IoTEdgeAndMlSample\DevVM znajdującego się w katalogu głównym, w którym pobrano kod. Będziemy odwoływać się do katalogu głównego twojego źródła jako srcdir.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    Katalog DevVM zawiera pliki potrzebne do utworzenia maszyny wirtualnej platformy Azure odpowiedniej do ukończenia tego samouczka.

  3. Uruchom następujące polecenie, aby umożliwić wykonywanie skryptów. Po wyświetleniu monitu wybierz pozycję Tak do wszystkich .

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Uruchom polecenie Create-AzureDevVM.ps1.

    .\Create-AzureDevVm.ps1
    

    Po wyświetleniu monitu podaj następujące informacje:

    • Identyfikator subskrypcji platformy Azure: Identyfikator subskrypcji, który można znaleźć w obszarze Subskrypcje platformy Azure w portalu.
    • Nazwa grupy zasobów: nazwa nowej lub istniejącej grupy zasobów na platformie Azure.
    • Lokalizacja: wybierz lokalizację platformy Azure, w której zostanie utworzona maszyna wirtualna. Na przykład "Zachodnie stany USA 2" lub "Europa Północna". Aby uzyskać więcej informacji, zobacz Lokalizacje platformy Azure.
    • Nazwa użytkownika: podaj pamiętną nazwę konta administratora maszyny wirtualnej.
    • Hasło: ustaw hasło dla konta administratora maszyny wirtualnej.

    Skrypt jest uruchamiany przez kilka minut, wykonując następujące kroki:

    1. Instaluje moduł Az programu Azure PowerShell.
    2. Monituje o zalogowanie się do platformy Azure.
    3. Potwierdza informacje dotyczące tworzenia maszyny wirtualnej. Naciśnij y lub Enter , aby kontynuować.
    4. Tworzy grupę zasobów, jeśli nie istnieje.
    5. Wdraża maszynę wirtualną.
    6. Włącza funkcję Hyper-V na maszynie wirtualnej.
    7. Instaluje oprogramowanie potrzebne do programowania i klonowania przykładowego repozytorium.
    8. Uruchamia ponownie maszynę wirtualną.
    9. Tworzy plik RDP na pulpicie na potrzeby nawiązywania połączenia z maszyną wirtualną.

    Jeśli zostanie wyświetlony monit o ponowne uruchomienie maszyny wirtualnej, możesz skopiować jego nazwę z danych wyjściowych skryptu. Dane wyjściowe zawierają również ścieżkę do pliku RDP na potrzeby nawiązywania połączenia z maszyną wirtualną.

Ustawianie harmonogramu automatycznego zamykania

Aby ułatwić obniżenie kosztów, maszyna wirtualna deweloperów została utworzona z automatycznym harmonogramem zamykania ustawionym na 1900 PST. Może być konieczne zaktualizowanie tego ustawienia w zależności od lokalizacji i harmonogramu. Aby zaktualizować harmonogram zamykania:

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej utworzonej przez skrypt.

  2. W menu okienka po lewej stronie w obszarze Operacje wybierz pozycję Automatyczne zamykanie.

  3. Dostosuj zaplanowane zamykanie i strefę czasową zgodnie z potrzebami, a następnie wybierz pozycję Zapisz.

Nawiązywanie połączenia z maszyną wirtualną dewelopera

Teraz, gdy utworzyliśmy maszynę wirtualną, musimy zakończyć instalowanie oprogramowania potrzebnego do ukończenia tego samouczka.

  1. Kliknij dwukrotnie plik RDP utworzony na pulpicie.

  2. Zostanie wyświetlone okno dialogowe z informacją, że wydawca połączenia zdalnego jest nieznany. Jest to akceptowalne, dlatego wybierz pozycję Połącz.

  3. Podaj podane hasło administratora, aby utworzyć maszynę wirtualną, a następnie kliknij przycisk OK.

  4. Zostanie wyświetlony monit o zaakceptowanie certyfikatu dla maszyny wirtualnej. Wybierz opcję Tak.

Instalowanie rozszerzeń programu Visual Studio Code

Teraz, gdy masz połączenie z maszyną dewelopera, dodaj kilka przydatnych rozszerzeń do programu Visual Studio Code, aby ułatwić programowanie.

  1. Połącz się z maszyną wirtualną deweloperską, otwórz okno programu PowerShell i przejdź do katalogu C:\source\IoTEdgeAndMlSample\DevVM . Ten katalog został utworzony przez skrypt, który utworzył maszynę wirtualną.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Uruchom następujące polecenie, aby umożliwić wykonywanie skryptów. Po wyświetleniu monitu wybierz pozycję Tak do wszystkich .

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Uruchom skrypt rozszerzeń programu Visual Studio Code.

    .\Enable-CodeExtensions.ps1
    
  4. Skrypt zostanie uruchomiony przez kilka minut instalowania rozszerzeń programu VS Code:

    • Azure IoT Edge
    • Azure IoT Hub
    • Python
    • C#
    • Docker
    • PowerShell

Konfigurowanie usługi IoT Hub i magazynu

Te kroki są zwykle wykonywane przez dewelopera rozwiązań w chmurze.

Usługa Azure IoT Hub jest sercem każdej aplikacji IoT, ponieważ obsługuje bezpieczną komunikację między urządzeniami IoT a chmurą. Jest to główny punkt koordynacji działania rozwiązania uczenia maszynowego usługi IoT Edge.

  • Usługa IoT Hub używa tras do kierowania danych przychodzących z urządzeń IoT do innych usług podrzędnych. Skorzystamy z tras usługi IoT Hub w celu wysyłania danych urządzenia do usługi Azure Storage. W usłudze Azure Storage dane urządzenia są używane przez usługę Azure Machine Learning, aby wytrenować pozostały klasyfikator czasu eksploatacji (RUL).

  • W dalszej części samouczka użyjemy usługi IoT Hub do skonfigurowania urządzenia usługi Azure IoT Edge i zarządzania nim.

W tej sekcji użyjesz skryptu do utworzenia centrum Azure IoT Hub i konta usługi Azure Storage. Następnie w witrynie Azure Portal skonfigurujesz trasę przekazującą dane odebrane przez centrum do kontenera usługi Azure Storage. Wykonanie tych kroków zajmuje około 10 minut.

  1. Połącz się z maszyną wirtualną deweloperską, otwórz okno programu PowerShell i przejdź do katalogu IoTHub .

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Uruchom skrypt tworzenia. Użyj tych samych wartości dla identyfikatora subskrypcji, lokalizacji i grupy zasobów, jak podczas tworzenia maszyny wirtualnej dewelopera.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Zostanie wyświetlony monit o zalogowanie się do platformy Azure.
    • Skrypt potwierdza informacje dotyczące tworzenia konta centrum i magazynu. Naciśnij y lub Enter , aby kontynuować.

Wykonywanie skryptu trwa około dwóch minut. Po zakończeniu skrypt generuje nazwę centrum IoT i konto magazynu.

Przeglądanie trasy do magazynu w usłudze IoT Hub

W ramach tworzenia centrum IoT skrypt, który uruchomiliśmy w poprzedniej sekcji, również utworzył niestandardowy punkt końcowy i trasę. Trasy usługi IoT Hub składają się z wyrażenia zapytania i punktu końcowego. Jeśli komunikat jest zgodny z wyrażeniem, dane są wysyłane wzdłuż trasy do skojarzonego punktu końcowego. Punkty końcowe mogą być usługą Event Hubs, kolejkami usługi Service Bus i tematami. W takim przypadku punkt końcowy jest kontenerem obiektów blob na koncie magazynu. Użyjmy witryny Azure Portal, aby przejrzeć trasę utworzoną przez nasz skrypt.

  1. Otwórz witrynę Azure Portal i przejdź do grupy zasobów używanej na potrzeby tego samouczka.

  2. Na liście zasobów wybierz centrum IoT Hub utworzone przez skrypt. Będzie mieć nazwę kończącą się losowymi znakami, takimi jak IotEdgeAndMlHub-jrujej6de6i7w.

  3. W menu okienka po lewej stronie w obszarze Ustawienia centrum wybierz pozycję Routing komunikatów.

  4. Na stronie Routing komunikatów wybierz kartę Niestandardowe punkty końcowe.

  5. Rozwiń sekcję Magazyn :

    Zrzut ekranu magazynu o nazwie turbofanDeviceStorage na liście niestandardowych punktów końcowych w portalu I o T Hub.

    Widzimy, że turbofanDeviceStorage znajduje się na liście niestandardowych punktów końcowych. Zwróć uwagę na następujące cechy tego punktu końcowego:

    • Wskazuje on utworzony kontener magazynu obiektów blob o nazwie wskazany devicedata przez nazwę kontenera.
    • Jego format nazwy pliku ma wyraz "partition" w nazwie. Ten format jest wygodniejszy dla operacji na plikach, które wykonamy w usłudze Azure Notebooks w dalszej części tego samouczka.
    • Jego stan powinien być w dobrej kondycji .
  6. Wybierz kartę Trasy .

  7. Wybierz trasę o nazwie turbofanDeviceDataToStorage.

  8. Na stronie Szczegóły tras zwróć uwagę, że punkt końcowy trasy to punkt końcowy turbofanDeviceStorage.

    Zrzut ekranu przedstawiający szczegóły trasy turbofanDeviceDataToStorage.

  9. Przyjrzyj się zapytaniu routingu, które ma wartość true. To ustawienie oznacza, że wszystkie komunikaty telemetryczne urządzenia będą zgodne z tą trasą; w związku z tym wszystkie komunikaty będą wysyłane do punktu końcowego turbofanDeviceStorage .

  10. Ponieważ nie dokonano żadnych edycji, zamknij tę stronę.

Czyszczenie zasobów

Ten samouczek jest częścią zestawu, w którym każdy artykuł opiera się na pracy wykonanej w poprzednich. Poczekaj, aż ukończysz ostatni samouczek, zaczekaj na wyczyszczenie wszystkich zasobów.

Następne kroki

W tym artykule utworzyliśmy centrum IoT Hub i skonfigurowaliśmy trasę do konta usługi Azure Storage. Następnie wyślemy dane z zestawu symulowanych urządzeń za pośrednictwem usługi IoT Hub do konta magazynu. W dalszej części samouczka po skonfigurowaniu urządzenia i modułów usługi IoT Edge zapoznamy się z trasami i przyjrzymy się nieco więcej w zapytaniu routingu.

Przejdź do następnego artykułu, aby utworzyć symulowane urządzenie do monitorowania.