Udostępnij za pomocą


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 Update IoT Edge.

Ten artykuł ułatwia przygotowanie środowiska do programowania i wdrażania. Najpierw skonfiguruj komputer do rozwoju 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 IoT Hub i magazyn w chmurze dla środowiska deweloperskiego.

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 deweloperskiej

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. Utworzona przez nas maszyna wirtualna musi być w stanie obsłużyć zagnieżdżonej wirtualizacji, dlatego wybraliśmy rozmiar maszyny Standard_D8s_v3.

Maszyna wirtualna deweloperska zostanie skonfigurowana z użyciem:

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 Machine Learning i IoT Edge na komputer lokalny.

  2. Otwórz program PowerShell jako administrator i przejdź do katalogu \IoTEdgeAndMlSample\DevVM katalogu znajdującego się w katalogu głównym, w którym pobrano kod. Katalog główny twojego źródła będziemy nazywać 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 Tak do wszystkich.

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

    .\Create-AzureDevVm.ps1
    

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

    • Identyfikator subskrypcji platformy Azure: Twój identyfikator subskrypcji, który można znaleźć w Subskrypcjach 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, odwiedź 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. Zachęca do zalogowania się do Azure.
    3. Potwierdza informacje dotyczące tworzenia maszyny wirtualnej. Naciśnij lub Wprowadź, aby kontynuować.
    4. Tworzy grupę zasobów, jeśli nie istnieje.
    5. Wdraża maszynę wirtualną.
    6. Włącza 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

W celu redukcji kosztów, maszyna wirtualna deweloperska została utworzona z automatycznym harmonogramem zamykania ustawionym na 19:00 czasu PST (Pacific Standard Time). 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 po lewej stronie, w sekcji Operations, wybierz Auto-shutdown.

  3. Dostosuj zaplanowane zamykanie i strefę czasową zgodnie z potrzebami, a następnie wybierz 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 na plik RDP, który skrypt utworzył na pulpicie.

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

  3. Podaj hasło administratora podane do utworzenia maszyny wirtualnej, 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 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, instalując rozszerzenia programu VS Code:

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

Konfigurowanie IoT Hub i przechowywania

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 do celów deweloperskich.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Zostanie wyświetlony monit o zalogowanie się na platformie Azure.
    • Skrypt potwierdza informacje dotyczące tworzenia konta Hub i konta Storage. Naciśnij lub Wprowadź, aby kontynuować.

Uruchomienie skryptu trwa około dwóch minut. Po zakończeniu skrypt wyświetla nazwę centrum IoT oraz nazwę konta przechowywania.

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ą obejmować Event Hubs, kolejki Service Bus oraz tematy. W tym przypadku punktem końcowym jest kontener blob na koncie magazynu. Użyjmy witryny Azure Portal, aby przejrzeć trasę utworzoną przez nasz skrypt.

  1. Otwórz portal Azure i przejdź do używanej w tym samouczku grupy zasobów.

  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 centrumwybierz pozycję Routing komunikatów.

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

  5. Rozwiń sekcję Storage:

    Zrzut ekranu składowania o nazwie turbofanDeviceStorage na liście niestandardowych punktów dostępowych w portalu IoT Hub.

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

    • Wskazuje na kontener magazynu obiektów blob, który utworzyłeś o nazwie devicedata, jak wskazano przez Nazwa kontenera.
    • Jego format nazwy pliku ma wyraz "partycja" 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ć zdrowy.
  6. Wybierz zakładkę Trasy.

  7. Wybierz trasę o nazwie turbofanDeviceDataToStorage.

  8. Na stronie szczegóły tras zwróć uwagę, że punktem końcowym trasy jest punkt końcowy turbofanDeviceStorage.

    Zrzut ekranu przedstawiający szczegółowe informacje o trasie turbofanDeviceDataToStorage.

  9. Przyjrzyj się zapytaniu routingu , który ma ustawioną 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 z wyczyszczeniem wszystkich zasobów, aż ukończysz ostatni samouczek.

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 IoT Edge, ponownie przeanalizujemy trasy i przyjrzymy się dokładniej zapytaniu routingu.

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