Freigeben über


Schnellstart: Deploy your first IoT Edge module to a Windows device (Bereitstellen Ihres ersten IoT Edge-Moduls auf einem Windows-Gerät)

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.

In dieser Schnellstartanleitung können Sie Azure IoT Edge ausprobieren, indem Sie Code in Containern auf einem IoT Edge-Gerät für Linux unter Windows bereitstellen. IoT Edge ermöglicht Ihnen die Remoteverwaltung von Code auf Ihren Geräten, damit Sie noch mehr Workloads an den Edgebereich senden können. In dieser Schnellstartanleitung empfiehlt es sich, ein eigenes Windows-Clientgerät zu verwenden, um zu sehen, wie einfach es ist, Azure IoT Edge für Linux unter Windows zu verwenden. Wenn Sie Windows Server oder eine Azure-VM zum Erstellen Ihrer Bereitstellung verwenden möchten, führen Sie die Schritte in der Anleitung zum Installieren und Bereitstellen von Azure IoT Edge für Linux auf einem Windows-Gerät aus.

In diesem Schnellstart erfahren Sie, wie die folgenden Aufgaben ausgeführt werden:

  • Erstellen Sie einen IoT Hub.
  • Registrieren eines IoT Edge-Geräts für Ihren IoT Hub
  • Installieren und Starten der Runtime von IoT Edge für Linux unter Windows auf Ihrem Gerät
  • Durchführen der Remotebereitstellung eines Moduls für ein IoT Edge-Gerät und Senden von Telemetriedaten

Diagramm, das die Architektur dieser Schnellstartanleitung für Ihr Gerät und die Cloud zeigt.

In dieser Schnellstartanleitung erfahren Sie Schritt für Schritt, wie Sie Ihr Gerät mit Azure IoT Edge für Linux unter Windows einrichten. Anschließend stellen Sie ein Modul über das Azure-Portal auf Ihrem Gerät bereit. Das verwendete Modul ist ein simulierter Sensor, mit dem Daten zu Temperatur, Luftfeuchtigkeit und Luftdruck generiert werden. Andere Tutorials zu Azure IoT Edge bauen hierauf auf, indem Module zum Analysieren der simulierten Daten bereitgestellt werden, um geschäftsrelevante Erkenntnisse zu gewinnen.

Wenn Sie nicht über ein aktives Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

Voraussetzungen

Bereiten Sie die Umgebung für die Azure CLI vor.

Erstellen Sie eine Cloudressourcengruppe zum Verwalten aller Ressourcen, die Sie in dieser Schnellstartanleitung verwenden.

az group create --name IoTEdgeResources --location westus2

Stellen Sie sicher, dass Ihr IoT Edge-Gerät die folgenden Anforderungen erfüllt:

  • Systemanforderungen

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 Mindestbuild 17763 mit allen aktuellen kumulativen Updates installiert.
  • Hardwareanforderungen

    • Mindestens erforderlicher freier Arbeitsspeicher: 1 GB
    • Mindestens erforderlicher freier Speicherplatz: 10 GB

Hinweis

Diese Schnellstartanleitung verwendet PowerShell zum Erstellen einer Bereitstellung von IoT Edge für Linux unter Windows. Sie können auch Windows Admin Center verwenden. Wenn Sie Windows Admin Center zum Erstellen Ihrer Bereitstellung verwenden möchten, führen Sie die Schritte in der Anleitung zum Installieren und Bereitstellen von Azure IoT Edge für Linux auf einem Windows-Gerät aus.

Erstellen eines IoT-Hubs

Erstellen Sie zunächst mit der Azure CLI einen IoT-Hub.

Diagramm, das den Schritt zum Erstellen eines I o T-Hubs zeigt.

Für diese Schnellstartanleitung können Sie auch die kostenlose Version von Azure IoT Hub nutzen. Wenn Sie IoT Hub schon einmal genutzt und bereits einen Hub erstellt haben, können Sie diesen IoT-Hub verwenden.

Der folgende Code erstellt einen kostenlosen F1-Hub in der Ressourcengruppe IoTEdgeResources. Ersetzen Sie {hub_name} durch einen eindeutigen Namen für Ihren IoT-Hub. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

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

Ändern Sie die SKU in S1, falls Sie eine Fehlermeldung erhalten, weil bereits ein kostenloser Hub in Ihrem Abonnement vorhanden ist. Sollten Sie eine Fehlermeldung mit dem Hinweis erhalten, dass der Name für den IoT-Hub nicht verfügbar ist, ist bereits ein Hub mit diesem Namen vorhanden. Probieren Sie einen neuen Namen aus.

Registrieren eines IoT Edge-Geräts

Registrieren Sie ein IoT Edge-Gerät bei Ihrem neu erstellten IoT Hub.

Diagramm, das den Schritt zum Registrieren eines Geräts mit einer IoT Hub-Identität zeigt.

Erstellen Sie eine Geräteidentität für das simulierte Gerät, sodass es mit dem IoT Hub kommunizieren kann. Die Geräteidentität befindet sich in der Cloud, und Sie verwenden eine eindeutige Geräte-Verbindungszeichenfolge, um einem physischen Gerät eine Geräteidentität zuzuordnen.

IoT Edge-Geräte weisen ein anderes Verhalten als typische IoT-Geräte auf und können anders verwaltet werden. Verwenden Sie das Flag --edge-enabled, um zu deklarieren, dass diese Identität für ein IoT Edge-Gerät bestimmt ist.

  1. Geben Sie in Azure Cloud Shell den folgenden Befehl ein, um ein Gerät namens "myEdgeDevice " in Ihrem Hub zu erstellen.

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

    Falls Sie eine Fehlermeldung zu iothubowner-Richtlinienschlüsseln erhalten, sollten Sie überprüfen, ob in Cloud Shell die aktuelle Version der Azure IoT-Erweiterung ausgeführt wird.

  2. Zeigen Sie die Verbindungszeichenfolge für Ihr Gerät an, über die Ihr physisches Gerät mit seiner Identität in IoT Hub verknüpft wird. Sie enthält den Namen Ihres IoT-Hubs, den Namen Ihres Geräts und einen gemeinsam verwendeten Schlüssel, mit dem die Verbindungen zwischen diesen Komponenten authentifiziert werden.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Kopieren Sie den Wert des Schlüssels connectionString aus der JSON-Ausgabe, und speichern Sie ihn. Dieser Wert ist die Verbindungszeichenfolge des Geräts. Sie verwenden ihn, um im nächsten Abschnitt die IoT Edge-Runtime zu konfigurieren.

    Screenshot der ConnectionString-Ausgabe in Cloud Shell.

Installieren und Starten der IoT Edge-Runtime

Installieren Sie IoT Edge für Linux unter Windows auf Ihrem Gerät, und konfigurieren Sie es mit der Geräte-Verbindungszeichenfolge.

Diagramm, das den Schritt zum Starten der IoT Edge-Laufzeit zeigt.

Führen Sie die folgenden PowerShell-Befehle auf dem Zielgerät aus, auf dem Sie Azure IoT Edge für Linux unter Windows bereitstellen wollen. Um auf einem Remotezielgerät mithilfe von PowerShell bereitzustellen, nutzen Sie Remote PowerShell, um eine Verbindung zu einem Remotegerät herzustellen und die Befehle remote auf diesem Gerät auszuführen.

  1. Führen Sie zum Aktivieren von Hyper-V den folgenden Befehl in einer PowerShell-Sitzung mit erhöhten Rechten aus: Weitere Informationen finden Sie in Hyper-V unter Windows 10.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Führen Sie in einer PowerShell-Sitzung mit erhöhten Rechten die folgenden Befehle nacheinander aus, um IoT Edge für Linux unter Windows herunterzuladen.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    ​Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  3. Installieren Sie IoT Edge für Linux unter Windows auf Ihrem Gerät.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Legen Sie die Ausführungsrichtlinie auf dem Zielgerät auf AllSigned fest, wenn dies noch nicht so eingestellt ist. Sie können die aktuelle Ausführungsrichtlinie in einer PowerShell-Eingabeaufforderung mit erhöhten Rechten wie folgt überprüfen:

    Get-ExecutionPolicy -List
    

    Wenn die Ausführungsrichtlinie von local machine nicht AllSigned ist, können Sie die Ausführungsrichtlinie wie folgt festlegen:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Erstellen Sie die Implementierung des IoT Edge für Linux auf Windows.

    Deploy-Eflow
    
  6. Geben Sie „Y“ ein, um den Lizenzbedingungen zuzustimmen.

  7. Geben Sie "O" oder "R" ein, um optionale Diagnosedaten je nach Ihren Wünschen ein- oder auszuschalten. Eine erfolgreiche Bereitstellung ist unten dargestellt.

    Eine erfolgreiche Bereitstellung endet mit der Nachricht "Bereitstellung erfolgreich" am Ende der Mitteilungen.

  8. Stellen Sie Ihr Gerät mithilfe der Geräteverbindungszeichenfolge bereit, die Sie im vorherigen Abschnitt abgerufen haben. Ersetzen Sie den Platzhaltertext durch Ihren eigenen Wert.

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

Ihr IoT Edge-Gerät ist jetzt konfiguriert. Es kann nun zum Ausführen von in der Cloud bereitgestellten Modulen verwendet werden.

Bereitstellen eines Moduls

Verwalten Sie Ihr Azure IoT Edge-Gerät über die Cloud, um ein Modul bereitzustellen, das Telemetriedaten an die IoT Hub-Instanz sendet.

Diagramm, das den Schritt zum Bereitstellen eines Moduls zeigt.

Eine wichtige Funktion von Azure IoT Edge ist die Möglichkeit, Code aus der Cloud auf IoT Edge-Geräten bereitzustellen. IoT Edge-Module sind ausführbare Pakete, die als Container implementiert werden. In diesem Abschnitt stellen Sie ein vordefiniertes Modul aus dem Abschnitt "IoT Edge Modules" von Azure Marketplace direkt aus Azure IoT Hub bereit.

Mit dem in diesem Abschnitt bereitgestellten Modul wird ein Sensor simuliert, und generierte Daten werden gesendet. Der Code dieses Moduls ist nützlich, wenn Sie die ersten Schritte mit IoT Edge ausführen, weil Sie die simulierten Daten für die Entwicklung und das Testen nutzen können. Wenn Sie genau sehen möchten, was dieses Modul tut, können Sie den simulierten Temperatursensorquellcode anzeigen.

Führen Sie die folgenden Schritte aus, um Ihr erstes Modul aus Azure Marketplace bereitzustellen.

  1. Melden Sie sich beim Azure-Portal an, und wechseln Sie zu Ihrem IoT-Hub.

  2. Wählen Sie im Menü auf der linken Seite unter "Geräteverwaltung" die Option "Geräte" aus.

  3. Wählen Sie in der Liste der Geräte die Geräte-ID des Zielgeräts aus.

    Wenn Sie ein neues IoT Edge Gerät erstellen, wird es im Azure-Portal mit dem Statuscode 417 -- The device's deployment configuration is not set angezeigt. Dieser Status ist normal und bedeutet, dass das Gerät bereit ist, eine Modulbereitstellung zu empfangen.

  4. Wählen Sie auf der oberen Leiste "Module festlegen" aus.

    Screenshot, der die Auswahl von

  5. Öffnen Sie unter IoT Edge Modules das Dropdownmenü "Hinzufügen ", und wählen Sie dann Marketplace-Modul aus.

    Screenshot des Dropdownmenüs

  6. Suchen Sie im IoT Edge Module Marketplace nach dem Modul, und wählen Sie es Simulated Temperature Sensor aus.

    Das Modul wird dem Abschnitt "IoT Edge Modules" mit dem gewünschten Ausführungsstatus hinzugefügt.

  7. Wählen Sie Weiter: Routen, um mit dem nächsten Schritt des Assistenten fortzufahren.

    Screenshot, der zeigt, wie der nächste Schritt fortgesetzt wird, nachdem das Modul hinzugefügt wurde.

  8. Entfernen Sie auf der Registerkarte Routen die Standardroute, route, und wählen Sie dann Weiter: Überprüfen + Erstellen, um mit dem nächsten Schritt des Assistenten fortzufahren.

    Hinweis

    Routen werden mithilfe von Namen- und Wertpaaren erstellt. Auf dieser Seite sollten zwei Routen angezeigt werden. Die Standardroute, Route, sendet alle Nachrichten an IoT Hub, welches $upstream genannt wird. Eine zweite Route, SimulatedTemperatureSensorToIoTHub, wurde automatisch erstellt, wenn Sie das Modul aus Azure Marketplace hinzugefügt haben. Diese Route sendet alle Nachrichten aus dem simulierten Temperaturmodul an IoT Hub. Sie können die Standardroute löschen, da sie in diesem Fall redundant ist.

    Screenshot, der zeigt, wie die Standardroute entfernt wird und danach zum nächsten Schritt übergegangen wird.

  9. Überprüfen Sie die JSON-Datei, und wählen Sie dann "Erstellen" aus. Die JSON-Datei definiert alle Module, die Sie auf Ihrem IoT Edge-Gerät bereitstellen. Das Modul "SimulatedTemperatureSensor " und die beiden Laufzeitmodule " EdgeAgent " und "edgeHub" werden angezeigt.

    Hinweis

    Wenn Sie eine neue Bereitstellung an ein IoT Edge-Gerät übermitteln, wird nichts auf Ihr Gerät übertragen. Stattdessen fragt das Gerät den IoT Hub regelmäßig nach neuen Anweisungen ab. Wenn das Gerät ein aktualisiertes Bereitstellungsmanifest findet, werden die Informationen zur neuen Bereitstellung verwendet, um die Modulimages per Pullvorgang aus der Cloud abzurufen. Anschließend wird die lokale Ausführung der Module gestartet. Dieser Prozess kann einige Minuten in Anspruch nehmen.

  10. Nachdem Sie die Bereitstellungsdetails des Moduls erstellt haben, führt Sie der Assistent zur Seite „Gerätedetails“ zurück. Zeigen Sie den Bereitstellungsstatus auf der Registerkarte "Module " an.

    Sie sollten drei Module sehen: $edgeAgent, $edgeHub und SimulatedTemperatureSensor. Wenn eines oder mehrere der Module unter "IN DER BEREITSTELLUNG ANGEGEBEN" steht, aber nicht unter "VON GERÄT GEMELDET", ist Ihr IoT Edge-Gerät noch im Startprozess. Warten Sie einige Minuten, und aktualisieren Sie dann die Seite.

    Screenshot des simulierten Temperatursensors in der Liste der bereitgestellten Module.

Anzeigen der generierten Daten

In diesem Schnellstart haben Sie ein neues IoT Edge-Gerät erstellt und die IoT Edge-Runtime darauf installiert. Anschließend haben Sie das Azure-Portal verwendet, um ein IoT Edge-Modul zur Ausführung auf dem Gerät bereitzustellen, ohne Änderungen am Gerät selbst vornehmen zu müssen.

Von dem Modul, das Sie gepusht haben, werden Daten für die Beispielumgebung generiert, die Sie später zum Testen verwenden können. Der simulierte Sensor überwacht sowohl einen Computer als auch seine Umgebung. Beispielsweise kann sich dieser Sensor in einem Serverraum, in einer Fabrik oder in einer Windturbine befinden. Die gesendeten Nachrichten enthalten Informationen zu Umgebungstemperatur und Luftfeuchtigkeit, Computertemperatur und Druck sowie einen Zeitstempel. In IoT Edge-Tutorials werden diese vom Modul erstellten Daten als Testdaten für die Analyse verwendet.

  1. Melden Sie sich mithilfe des folgenden Befehls in Ihrer PowerShell-Sitzung bei Ihrem virtuellen IoT Edge für Linux-Computer unter Windows an.

    Connect-EflowVm
    

    Hinweis

    Das einzige Konto, das berechtigt ist, eine SSH-Verbindung zum virtuellen Computer herzustellen, ist der Benutzer, der die virtuelle Maschine erstellt hat.

  2. Sobald Sie angemeldet sind, können Sie die Liste der laufenden IoT Edge-Module mithilfe des folgenden Linux-Befehls überprüfen:

    sudo iotedge list
    

    Überprüfen Sie, ob der Temperatursensor, der Agent und der Hub in Betrieb sind.

  3. Zeigen Sie mithilfe des folgenden Linux-Befehls die vom Temperatursensormodul an die Cloud gesendeten Nachrichten an:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Von Bedeutung

    Bei IoT Edge-Befehlen wird beim Verweisen auf Modulnamen Groß- und Kleinschreibung unterschieden.

    Zeigen Sie die Ausgabeprotokolle des Moduls

Sie können auch die Azure IoT Hub-Erweiterung für Visual Studio Code verwenden, um Nachrichten zu sehen, die auf Ihrem IoT-Hub ankommen.

Bereinigen von Ressourcen

Überspringen Sie diesen Schritt, falls Sie mit dem Durcharbeiten der IoT Edge-Tutorials fortfahren möchten. Sie können das Gerät verwenden, das Sie in dieser Schnellstartanleitung registriert und eingerichtet haben. Andernfalls können Sie die erstellten Azure-Ressourcen löschen, um Kosten zu vermeiden.

Wenn Sie Ihren virtuellen Computer und Azure IoT Hub in einer neuen Ressourcengruppe erstellt haben, können Sie diese Gruppe und alle zugehörigen Ressourcen löschen. Wenn Sie nicht die gesamte Gruppe löschen möchten, können Sie stattdessen einzelne Ressourcen löschen.

Von Bedeutung

Überprüfen Sie den Inhalt der Ressourcengruppe, um sicherzustellen, dass sie keine Elemente enthält, die Sie beibehalten möchten. Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden.

Verwenden Sie den folgenden Befehl, um die IoTEdgeResources-Gruppe zu entfernen. Das Löschen kann einige Minuten dauern.

az group delete --name IoTEdgeResources

Sie können sich vergewissern, dass die Ressourcengruppe entfernt wurde, indem Sie diesen Befehl zum Anzeigen der Liste mit den Ressourcengruppen verwenden.

az group list

Deinstallieren von IoT Edge für Linux unter Windows

Wenn Sie die Installation von Azure IoT Edge für Linux unter Windows von Ihrem Gerät entfernen möchten, verwenden Sie die folgenden Befehle:

  1. Öffnen Sie die Einstellungen unter Windows.
  2. Wählen Sie „Programme hinzufügen oder entfernen“ aus.
  3. Azure IoT Edge LTS-App auswählen
  4. Wählen Sie „Deinstallieren“ aus.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie ein IoT Edge-Gerät erstellt und die Azure IoT Edge-Cloudschnittstelle zum Bereitstellen von Code auf dem Gerät verwendet. Sie verfügen nun über ein Testgerät, das Rohdaten zu seiner Umgebung generiert.

Im nächsten Tutorial erfahren Sie, wie Sie die Aktivität und Integrität Ihres Geräts im Azure-Portal überwachen.