Teilen über


Lernprogramm: Einrichten einer Umgebung für maschinelles Lernen in IoT Edge

Gilt für:yes icon IoT Edge 1.1

Von Bedeutung

Das Ende des Supports für IoT Edge 1.1 war der 13. Dezember 2022. Überprüfen Sie den Microsoft Product Lifecycle , um Informationen darüber zu erhalten, wie dieses Produkt, dieser Dienst, die Technologie oder die API unterstützt wird. Weitere Informationen zum Aktualisieren auf die neueste Version von IoT Edge finden Sie unter Update IoT Edge.

Dieser Artikel hilft Ihnen, Ihre Umgebung für die Entwicklung und Bereitstellung vorzubereiten. Richten Sie zunächst eine Entwicklungsmaschine mit allen benötigten Tools ein. Erstellen Sie dann die erforderlichen Cloudressourcen in Azure.

In diesem Abschnitt des Lernprogramms erfahren Sie, wie Sie:

  • Richten Sie einen virtuellen Computer für die Entwicklung ein.
  • Richten Sie einen IoT Hub- und Cloudspeicher für Ihre Entwicklungsumgebung ein.

Voraussetzungen

Dieser Artikel ist Teil einer Reihe für ein Lernprogramm zur Verwendung von Azure Machine Learning auf IoT Edge. Jeder Artikel in der Reihe baut auf der Arbeit im vorherigen Artikel auf. Wenn Sie direkt zu diesem Artikel gelangt sind, besuchen Sie den ersten Artikel in der Reihe.

Einrichten der Entwicklungs-VM

Dieser Schritt wird in der Regel von einem Cloudentwickler ausgeführt. Einige der Software können auch für einen Datenwissenschaftler hilfreich sein.

Wir haben ein PowerShell-Skript erstellt, das einen virtuellen Azure-Computer mit vielen der bereits konfigurierten Voraussetzungen erstellt. Der virtuelle Computer, den wir erstellen, muss in der Lage sein, die geschachtelte Virtualisierung zu verarbeiten, weshalb wir eine Standard_D8s_v3 Computergröße ausgewählt haben.

Die Entwicklungs-VM wird eingerichtet mit:

Die Entwickler-VM ist nicht unbedingt erforderlich – alle Entwicklungstools können auf einem lokalen Computer ausgeführt werden. Es wird jedoch dringend empfohlen, die VM zu verwenden, um eine gleiche Wettbewerbsbedingungen sicherzustellen.

Es dauert etwa 30 Minuten, um den virtuellen Computer zu erstellen und zu konfigurieren.

  1. Klonen sie, oder laden Sie das Machine Learning- und IoT Edge-Beispiel-Repository auf Ihren lokalen Computer herunter.

  2. Öffnen Sie PowerShell als Administrator, und navigieren Sie zum Verzeichnis \IoTEdgeAndMlSample\DevVM , das sich unter dem Stammverzeichnis befindet, in dem Sie den Code heruntergeladen haben. Wir werden das Stammverzeichnis Ihrer Quelle als srcdir bezeichnen.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    Das DevVM-Verzeichnis enthält die Dateien, die zum Erstellen eines virtuellen Azure-Computers erforderlich sind, der zum Abschließen dieses Lernprogramms geeignet ist.

  3. Führen Sie den folgenden Befehl aus, um die Ausführung von Skripts zuzulassen. Wählen Sie "Ja für alle " aus, wenn Sie dazu aufgefordert werden.

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Führen Sie Create-AzureDevVM.ps1aus.

    .\Create-AzureDevVm.ps1
    

    Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an:

    • Azure-Abonnement-ID: Ihre Abonnement-ID, die im Portal in Azure-Abonnements zu finden ist.
    • Ressourcengruppenname: Der Name einer neuen oder vorhandenen Ressourcengruppe in Azure.
    • Speicherort: Wählen Sie einen Azure-Speicherort aus, an dem der virtuelle Computer erstellt wird. Beispiel: "West-USA 2" oder "Nordeuropa". Weitere Informationen finden Sie unter Azure-Speicherorte.
    • Benutzername: Geben Sie einen unvergesslichen Namen für das Administratorkonto für den virtuellen Computer an.
    • Kennwort: Legen Sie ein Kennwort für das Administratorkonto für den virtuellen Computer fest.

    Das Skript wird mehrere Minuten lang ausgeführt, während es die folgenden Schritte ausführt:

    1. Installiert das Azure PowerShell Az-Modul.
    2. Fordert Sie auf, sich bei Azure anzumelden.
    3. Bestätigt die Informationen für die Erstellung Ihrer VM. Drücken Sie Y oder EINGABETASTE , um den Vorgang fortzusetzen.
    4. Erstellt die Ressourcengruppe, wenn sie nicht vorhanden ist.
    5. Stellt den virtuellen Computer bereit.
    6. Aktiviert Hyper-V auf dem virtuellen Computer.
    7. Installieren Sie die benötigte Software für die Entwicklung und klonen Sie das Beispiel-Repository.
    8. Startet den virtuellen Computer neu.
    9. Erstellt eine RDP-Datei auf Dem Desktop zum Herstellen einer Verbindung mit dem virtuellen Computer.

    Wenn Sie aufgefordert werden, den Namen des virtuellen Computers anzugeben, um ihn neu zu starten, können Sie den Namen aus der Skriptausgabe kopieren. Die Ausgabe zeigt auch den Pfad zur RDP-Datei an, um eine Verbindung mit dem virtuellen Computer herzustellen.

Zeitplan für automatisches Herunterfahren festlegen

Um Die Kosten zu senken, wurde die Entwicklungs-VM mit einem automatischen Herunterfahrenszeitplan erstellt, der auf 1900 PST festgelegt ist. Möglicherweise müssen Sie diese Einstellung je nach Standort und Zeitplan aktualisieren. So aktualisieren Sie den Abschaltplan:

  1. Navigieren Sie im Azure-Portal zu dem virtuellen Computer, den das Skript erstellt hat.

  2. Wählen Sie im linken Bereich unter Vorgänge die Option Automatisches Herunterfahren aus.

  3. Passen Sie das geplante Herunterfahren und die Zeitzone nach Bedarf an, und wählen Sie "Speichern" aus.

Herstellen einer Verbindung mit der Entwicklungs-VM

Nachdem wir nun einen virtuellen Computer erstellt haben, müssen wir die Installation der Software abschließen, die zum Abschließen des Lernprogramms erforderlich ist.

  1. Doppelklicken Sie auf die RDP-Datei, die das Skript auf Dem Desktop erstellt hat.

  2. Es wird ein Dialogfeld angezeigt, in dem angegeben wird, dass der Herausgeber der Remoteverbindung unbekannt ist. Dies ist akzeptabel, wählen Sie also "Verbinden" aus.

  3. Geben Sie das Administratorkennwort an, das Sie zum Erstellen der VM angegeben haben, und klicken Sie auf "OK".

  4. Sie werden aufgefordert, das Zertifikat für den virtuellen Computer zu akzeptieren. Wählen Sie "Ja" aus.

Installieren von Visual Studio Code-Erweiterungen

Nachdem Sie nun eine Verbindung mit dem Entwicklungscomputer hergestellt haben, fügen Sie visual Studio Code einige nützliche Erweiterungen hinzu, um die Entwicklung zu vereinfachen.

  1. Stellen Sie eine Verbindung mit der Entwicklungs-VM her, öffnen Sie ein PowerShell-Fenster, und navigieren Sie zum Verzeichnis "C:\source\IoTEdgeAndMlSample\DevVM ". Dieses Verzeichnis wurde vom Skript erstellt, das die VM erstellt hat.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Führen Sie den folgenden Befehl aus, um die Ausführung von Skripts zuzulassen. Wählen Sie "Ja für alle " aus, wenn Sie dazu aufgefordert werden.

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Führen Sie das Visual Studio Code-Erweiterungsskript aus.

    .\Enable-CodeExtensions.ps1
    
  4. Das Skript wird einige Minuten lang ausgeführt, um VS-Codeerweiterungen zu installieren:

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

Einrichten von IoT Hub und Speicher

Diese Schritte werden in der Regel von einem Cloudentwickler ausgeführt.

Azure IoT Hub ist das Herzstück jeder IoT-Anwendung, da sie die sichere Kommunikation zwischen IoT-Geräten und der Cloud verarbeitet. Es ist der wichtigste Koordinierungspunkt für den Betrieb der IoT Edge Machine Learning-Lösung.

  • IoT Hub verwendet Routen, um eingehende Daten von IoT-Geräten an andere downstream-Dienste weiterzuleiten. Wir nutzen IoT Hub-Routen, um Gerätedaten an Azure Storage zu senden. In Azure Storage werden die Gerätedaten von Azure Machine Learning genutzt, um unseren Klassifizierer für die Restnutzungsdauer (RUL) zu trainieren.

  • Später im Lernprogramm verwenden wir IoT Hub, um unser Azure IoT Edge-Gerät zu konfigurieren und zu verwalten.

In diesem Abschnitt verwenden Sie ein Skript, um einen Azure IoT-Hub und ein Azure Storage-Konto zu erstellen. Anschließend konfigurieren Sie im Azure-Portal eine Route, die vom Hub empfangene Daten an einen Azure Storage-Container weiterleitet. Diese Schritte dauern etwa 10 Minuten, bis sie abgeschlossen sind.

  1. Stellen Sie eine Verbindung mit der Entwicklungs-VM her, öffnen Sie ein PowerShell-Fenster, und navigieren Sie zum IoTHub-Verzeichnis .

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Führen Sie das Erstellungsskript aus. Verwenden Sie dieselben Werte für Abonnement-ID, Standort und Ressourcengruppe wie beim Erstellen der Entwicklungs-VM.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Sie werden aufgefordert, sich bei Azure anzumelden.
    • Das Skript bestätigt die Informationen für die Erstellung Ihres Hub- und Speicherkontos. Drücken Sie Y oder EINGABETASTE , um den Vorgang fortzusetzen.

Das Skript benötigt etwa zwei Minuten zur Ausführung. Nach Abschluss des Skripts werden der Name des IoT-Hubs und des Speicherkontos ausgegeben.

Überprüfen der Route zum Speicher im IoT Hub

Im Rahmen der Erstellung des IoT-Hubs hat das Skript, das wir im vorherigen Abschnitt ausgeführt haben, auch einen benutzerdefinierten Endpunkt und eine Route erstellt. IoT Hub-Routen bestehen aus einem Abfrageausdruck und einem Endpunkt. Wenn eine Nachricht mit dem Ausdruck übereinstimmt, werden die Daten entlang der Route an den zugeordneten Endpunkt gesendet. Endpunkte können Event Hubs, Service Bus Queues und Topics sein. In diesem Fall ist der Endpunkt ein Blob-Container in einem Speicherkonto. Lassen Sie uns das Azure-Portal verwenden, um die route zu überprüfen, die von unserem Skript erstellt wurde.

  1. Öffnen Sie das Azure-Portal , und wechseln Sie zu der Ressourcengruppe, die Sie für dieses Lernprogramm verwenden.

  2. Wählen Sie in der Liste der Ressourcen den IoT Hub aus, den das Skript erstellt hat. Es wird einen Namen haben, der mit zufälligen Zeichen endet, wie zum Beispiel IotEdgeAndMlHub-jrujej6de6i7w.

  3. Wählen Sie im linken Bereich unter "Hubeinstellungen" die Option "Nachrichtenweiterleitung" aus.

  4. Wählen Sie auf der Seite " Nachrichtenweiterleitung " die Registerkarte "Benutzerdefinierte Endpunkte" aus .

  5. Erweitern Sie den Abschnitt "Speicher ":

    Screenshot des Speichers namens turbofanDeviceStorage in der Liste der benutzerdefinierten Endpunkte im I o T Hub-Portal.

    Wir sehen turbofanDeviceStorage in der Liste der benutzerdefinierten Endpunkte. Beachten Sie die folgenden Merkmale für diesen Endpunkt:

    • Er verweist auf den blob-Speichercontainer, den Sie erstellt haben devicedata , wie durch den Containernamen angegeben.
    • Das Dateinamenformat hat das Wort „partition“ im Namen. Dieses Format ist für die Dateivorgänge, die wir später in diesem Lernprogramm mit Azure-Notizbüchern ausführen werden, praktischer.
    • Der Status sollte fehlerfrei sein.
  6. Wählen Sie die Registerkarte "Routen" aus .

  7. Wählen Sie die Route mit dem Namen turbofanDeviceDataToStorage aus.

  8. Bitte beachten Sie auf der Seite "Routendetails", dass der Endpunkt der Route der Endpunkt "TurbofanDeviceStorage" ist.

    Screenshot mit Details zur TurbofanDeviceDataToStorage-Route.

  9. Sehen Sie sich die Routingabfrage an, die auf "true" festgelegt ist. Diese Einstellung bedeutet, dass alle Gerätetelemetrienachrichten mit dieser Route übereinstimmen; daher werden alle Nachrichten an den TurbofanDeviceStorage-Endpunkt gesendet.

  10. Da keine Bearbeitungen vorgenommen wurden, schließen Sie einfach diese Seite.

Bereinigen von Ressourcen

Dieses Tutorial ist Teil einer Reihe, bei der jeder Artikel auf der Arbeit der vorherigen aufbaut. Warten Sie, bis Sie das letzte Tutorial abgeschlossen haben, um alle Ressourcen bereinigen zu können.

Nächste Schritte

In diesem Artikel haben wir einen IoT Hub erstellt und eine Route zu einem Azure Storage-Konto konfiguriert. Als Nächstes senden wir Daten aus einer Reihe simulierter Geräte über den IoT Hub an das Speicherkonto. Später im Tutorial, nachdem wir unser IoT Edge-Gerät und unsere Module konfiguriert haben, werden wir die Routen erneut betrachten und uns die Routingabfrage etwas genauer anschauen.

Fahren Sie mit dem nächsten Artikel fort, um ein simuliertes Gerät zu erstellen, das überwacht werden soll.