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:Häkchen für IoT Edge 1.5 IoT Edge 1.5

Wichtig

IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von 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. Mit IoT Edge können Sie Code auf Ihren Geräten remote verwalten, sodass Sie mehr Ihrer Workloads an den Edge senden können. Für diese Schnellstartanleitung wird empfohlen, dass Sie Ihr eigenes Windows-Clientgerät 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 dieser Schnellstartanleitung wird Folgendes vermittelt:

  • 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
  • Modul remote auf ein IoT Edge-Gerät bereitstellen und Telemetriedaten senden.

Diagramm: Architektur dieser Schnellstartanleitung für Ihr Gerät und die Cloud

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, der Temperatur-, Feuchtigkeits- und Druckdaten generiert. 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 über kein aktives Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

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

Erstellen Sie eine Cloudressourcengruppe, um alle Ressourcen zu verwalten, 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 ab Build 17763 mit Installation aller aktuellen kumulativen Updates
  • Hardwareanforderungen

    • Minimaler freier Arbeitsspeicher: 1 GB
    • Minimaler freier Speicherplatz: 10 GB

Erstellen eines IoT-Hubs

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

Diagramm: Schritt zum Erstellen eines IoT-Hubs

Die kostenlose Ebene von Azure IoT Hub eignet sich für diesen Schnellstart. Wenn Sie zuvor IoT Hub verwendet haben und bereits über einen Hub verfügen, können Sie diesen IoT-Hub verwenden.

Mit dem folgenden Code wird ein kostenloser F1-Hub in der Ressourcengruppe IoTEdgeResources erstellt. 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.

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

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 in Ihrem Hub ein Gerät mit dem Namen myEdgeDevice 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. Verwenden Sie sie, um die IoT Edge-Laufzeit im nächsten Abschnitt zu konfigurieren.

    Die Verbindungszeichenfolge sollte beispielsweise wie folgt aussehen: HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

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.

Das Diagramm zeigt den Schritt zum Starten der IoT Edge-Runtime.

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. Für die Bereitstellung auf einem Remotezielgerät mithilfe von PowerShell verwenden Sie Remote-PowerShell, um eine Verbindung zu einem Remotegerät herzustellen und diese 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 unter 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.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_ARM64" -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. Stellen Sie die Ausführungsrichtlinie auf dem Zielgerät auf AllSigned ein, wenn diese noch nicht eingestellt ist. Sie können die aktuelle Ausführungsrichtlinie in einer PowerShell-Eingabeaufforderung mit erhöhten Rechten überprüfen, indem Sie Folgendes verwenden:

    Get-ExecutionPolicy -List
    

    Wenn die Ausführungsrichtlinie local machine nicht AllSignedlautet, legen Sie die Ausführungsrichtlinie mithilfe des folgenden Befehls fest:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Erstellen Sie die Bereitstellung von IoT Edge für Linux unter Windows.

    Deploy-Eflow
    
  6. Geben Sie "Y" ein, um die Lizenzbedingungen zu akzeptieren.

  7. Geben Sie O oder R ein, um optionale Diagnosedaten je nach Ihren Wünschen ein- oder auszuschalten. Eine erfolgreiche Bereitstellung wird in der folgenden Abbildung gezeigt.

    Der Screenshot zeigt am Ende der Meldungen in der Konsole, dass eine erfolgreiche Bereitstellung mit „Bereitstellung erfolgreich“ gemeldet wird.

  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: Schritt zum Bereitstellen eines Moduls

Eine wichtige Funktion von Azure IoT Edge ist die Möglichkeit, Code aus der Cloud auf IoT Edge-Geräten bereitzustellen. Bei IoT Edge-Modulen handelt es sich um ausführbare Pakete, die als Container implementiert werden. In diesem Abschnitt stellen Sie ein vordefiniertes Modul aus dem Abschnitt "IoT Edge Modules" der Microsoft Artifact Registry bereit.

Das Modul, das Sie in diesem Abschnitt bereitstellen, simuliert einen Sensor und sendet generierte Daten. 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 mit diesem Modul durchgeführt wird, können Sie den Quellcode für den simulierten Temperatursensor anzeigen.

Führen Sie die folgenden Schritte aus, um Ihr erstes Modul bereitzustellen:

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

  2. Wählen Sie im Menü links unter dem Menü 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.

    Hinweis

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

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

    Wählen Sie aus, welche Module auf Ihrem Gerät ausgeführt werden sollen. Sie können aus Modulen wählen, die Sie bereits erstellt haben, Module aus der Microsoft Artifact Registry oder Modulen, die Sie selbst erstellt haben. In dieser Schnellstartanleitung stellen Sie ein Modul aus der Microsoft Artifact-Registrierung bereit.

  5. Wählen Sie im Abschnitt IoT Edge-Module zunächst die Option Hinzufügen und dann die Option IoT Edge-Modul aus.

  6. Aktualisieren Sie die folgenden Moduleinstellungen:

    Einstellung Wert
    IoT-Modulname SimulatedTemperatureSensor
    Image-URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
    Neustartrichtlinie immer
    Gewünschter Status Wird ausgeführt
  7. Wählen Sie Weiter: Routen, um die Routen weiterhin zu konfigurieren.

  8. Fügen Sie eine Route hinzu, die alle Nachrichten aus dem simulierten Temperaturmodul an IoT Hub sendet.

    Einstellung Wert
    Name SimulatedTemperatureSensorToIoTHub
    Wert FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  9. Klicken Sie auf Weiter: Überprüfen + erstellen.

  10. Ü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.

    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, verwendet es die Informationen zur neuen Bereitstellung, um die Modulimages aus der Cloud abzurufen, und startet dann die lokale Ausführung der Module. Dieser Vorgang kann einige Minuten dauern.

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.

Dort sollten drei Module angezeigt werden: $edgeAgent, $edgeHub und SimulatedTemperatureSensor. Wenn unter In Bereitstellung angegeben – aber nicht unter Vom Gerät gemeldet – für mindestens ein Modul Ja angegeben ist, ist Ihr IoT Edge-Gerät noch mit dem Startvorgang beschäftigt. Warten Sie einige Minuten, und aktualisieren Sie dann die Seite.

Der Screenshot zeigt das Modul „SimulatedTemperatureSensor“ in der Liste von bereitgestellten Modulen.

Wenn Probleme beim Bereitstellen von Modulen auftreten, lesen Sie Problembehandlung für IoT Edge-Geräte aus dem Azure-Portal.

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.

Das Modul, das Sie pushen, generiert Beispielumgebungsdaten, die Sie später zum Testen verwenden können. Der simulierte Sensor überwacht sowohl eine Maschine als auch die Umgebung um die Maschine. 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 mit dem folgenden Befehl in Ihrer PowerShell-Sitzung bei Ihrem IoT Edge für Linux unter Windows an:

    Connect-EflowVm
    

    Hinweis

    Das einzige Konto, das für eine SSH-Verbindung mit dem virtuellen Computer zulässig ist, ist der Benutzer, der ihn erstellt hat.

  2. Überprüfen Sie nach der Anmeldung die Liste der ausgeführten IoT Edge-Module mithilfe des folgenden Linux-Befehls:

    sudo iotedge list
    

    Der Screenshot zeigt, wo Sie überprüfen können, ob Ihr Temperatursensor, Ihr Agent und Ihre Hubmodule ausgeführt werden.

  3. Zeigen Sie die Nachrichten an, die vom Temperatursensormodul an die Cloud gesendet werden, indem Sie den folgenden Linux-Befehl verwenden:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Der Screenshot zeigt die Ausgabemeldungen des Moduls „SimulatedTemperatureSensor“ während der Ausführung.

    Tipp

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

Bereinigen von Ressourcen

Wenn Sie mit den IoT Edge-Lernprogrammen fortfahren möchten, überspringen Sie diesen Schritt. Sie können das Gerät verwenden, das Sie in dieser Schnellstartanleitung registriert und eingerichtet haben. Löschen Sie andernfalls die azure-Ressourcen, die Sie erstellt haben, um Gebühren zu vermeiden.

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

Wichtig

Ü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 Gruppe IoTEdgeResources 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

Führen Sie die folgenden Schritte aus, um die Installation von Azure IoT Edge für Linux unter Windows von Ihrem Gerät zu entfernen.

  1. Öffnen Sie unter Windows die Option Einstellungen.
  2. Wählen Sie Programme hinzufügen oder entfernen aus.
  3. Wählen Sie die Azure IoT Edge-App aus.
  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 Lernprogramm erfahren Sie, wie Sie die Aktivität und integrität Ihres Geräts über das Azure-Portal überwachen.