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: IoT Edge 1.5 IoT Edge 1.4
Wichtig
IoT Edge 1.5 LTS und IoT Edge 1.4 LTS sind unterstützte Releases. Das Ende der Lebensdauer von IoT Edge 1.4 LTS wird am 12. November 2024 erreicht. 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. 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. Führen Sie die Schritte in der Schrittanleitung zum Installieren und Bereitstellen von Azure IoT Edge für Linux auf einem Windows-Gerät aus, falls Sie Ihre Bereitstellung mit Windows Server oder einer Azure-VM erstellen möchten.
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
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 ü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.
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
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 ab Build 17763 mit Installation aller aktuellen kumulativen Updates
Hardwareanforderungen
- Mindestens erforderlicher freier Arbeitsspeicher: 1 GB
- Mindestens erforderlicher freier Speicherplatz: 10 GB
Erstellen eines IoT-Hubs
Erstellen Sie zunächst mit der Azure CLI einen IoT-Hub.
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.
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.
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.
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.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}
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.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.
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 stellen Sie mit Remotebefehlen in PowerShell eine Verbindung mit einem Remotegerät her und führen Sie diese Befehle remote auf dem Gerät aus.
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 Installieren von Hyper-V unter Windows 10.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
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_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
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"
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
nichtAllSigned
ist, können Sie die Ausführungsrichtlinie wie folgt festlegen:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Erstellen Sie die Bereitstellung von IoT Edge für Linux unter Windows.
Deploy-Eflow
Geben Sie „Y“ ein, um den Lizenzbedingungen zuzustimmen.
Durch die Eingabe von „O“ oder „R“ können Sie Optionale Diagnosedaten bei Bedarf ein- oder ausschalten. Eine erfolgreiche Bereitstellung ist unten dargestellt.
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.
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 fertig erstelltes Modul aus dem Bereich mit den IoT Edge-Modulen in der Microsoft-Artefaktregistrierung bereit.
Mit dem in diesem Abschnitt bereitgestellten Modul wird ein Sensor simuliert, und es werden Daten generiert. 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:
Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem IoT Hub.
Wählen Sie im Menü links unter dem Menü Geräteverwaltung die Option Geräte aus.
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 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.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-Artefaktregistrierung oder Modulen, die Sie selbst erstellt haben. In dieser Schnellstartanleitung stellen Sie ein Modul aus der Microsoft-Artefaktregistrierung bereit.
Wählen Sie im Abschnitt IoT Edge-Module zunächst die Option Hinzufügen und dann die Option IoT Edge-Modul aus.
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“ Wählen Sie Weiter: Routen, um die Routen weiterhin zu konfigurieren.
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
Klicken Sie auf Weiter: Überprüfen + erstellen.
Ü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 mithilfe von Push 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 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.
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.
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.
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 zum Herstellen eines SSH mit dem virtuellen Computer zulässig ist, ist der Benutzer, der es erstellt.
Sobald Sie angemeldet sind, können Sie die Liste der laufenden IoT Edge-Module mithilfe des folgenden Linux-Befehls überprüfen:
sudo iotedge list
Zeigen Sie mithilfe des folgenden Linux-Befehls die vom Temperatursensormodul an die Cloud gesendeten Nachrichten an:
sudo iotedge logs SimulatedTemperatureSensor -f
Tipp
Bei IoT Edge-Befehlen wird beim Verweisen auf Modulnamen Groß- und Kleinschreibung unterschieden.
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.
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
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:
- Öffnen Sie die Einstellungen unter Windows.
- Wählen Sie „Programme hinzufügen oder entfernen“ aus.
- Wählen Sie die App Azure IoT Edge aus.
- 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.