Freigeben über


Schnellstart: Bereitstellen Ihres ersten IoT Edge-Moduls auf einem virtuellen Linux-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.

Probieren Sie Azure IoT Edge in dieser Schnellstartanleitung aus, indem Sie containerisierten Code auf einem virtuellen Linux IoT Edge-Gerät bereitstellen. Mit IoT Edge können Sie Code auf Ihren Geräten remote verwalten, damit Sie mehr Ihrer Workloads an den Edge senden können. Verwenden Sie für diese Schnellstartanleitung einen virtuellen Azure-Computer für Ihr IoT Edge-Gerät. Sie können schnell einen Testcomputer erstellen und löschen, wenn Sie fertig sind.

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 IoT Edge-Runtime auf Ihrem virtuellen Gerät
  • Stellen Sie ein Modul remote auf einem IoT Edge-Gerät bereit.

Diagramm der Schnellstart-Architektur für Geräte und Cloud

In dieser Schnellstartanleitung wird Schritt für Schritt beschrieben, wie Sie einen virtuellen Linux-Computer erstellen, der als IoT Edge-Gerät konfiguriert ist. Anschließend stellen Sie ein Modul über das Azure-Portal auf Ihrem Gerät bereit. Diese Schnellstartanleitung verwendet ein simuliertes Sensormodul, das Temperatur-, Feuchtigkeits- und Druckdaten generiert. Die anderen Tutorials zu Azure IoT Edge bauen hierauf auf und erläutern die Bereitstellung von zusätzlichen Modulen, mit denen die simulierten Daten analysiert werden, um geschäftliche Erkenntnisse zu gewinnen.

Wenn Sie über kein aktives Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Richten Sie Ihre Umgebung für die Azure CLI ein.

Eine Ressourcengruppe zum Verwalten aller Ressourcen, die Sie in dieser Schnellstartanleitung verwenden. Diese Schnellstartanleitung und die folgenden Lernprogramme verwenden den Beispielressourcengruppennamen IoTEdgeResources.

az group create --name IoTEdgeResources --location westus2

Erstellen eines IoT-Hubs

Starten Sie die Schnellstartanleitung, indem Sie einen IoT-Hub mit der Azure CLI erstellen.

Diagramm, das zeigt, wie Sie einen IoT Hub in der Cloud erstellen.

Die kostenlose Stufe von IoT Hub funktioniert für diese Schnellstartanleitung. 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 den <hub-name> Namen durch einen eindeutigen Namen für Ihren IoT Hub. Das Erstellen eines IoT Hub kann einige Minuten dauern.

az iot hub create --resource-group IoTEdgeResources --name <hub-name> --sku F1 --partition-count 2

Wenn Sie eine Fehlermeldung erhalten, da bereits ein kostenloser IoT Hub in Ihrem Abonnement vorhanden ist, ändern Sie die SKU in S1. Jedes Abonnement kann nur über einen kostenlosen IoT Hub verfügen. Sollten Sie eine Fehlermeldung mit dem Hinweis erhalten, dass der IoT Hub-Name 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 mit dem soeben erstellten IoT-Hub.

Diagramm: Registrieren eines Geräts mit einer IoT Hub-Identität

Erstellen Sie eine Geräteidentität für das IoT Edge-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.

Da sich IoT Edge-Geräte verhalten und anders als typische IoT-Geräte verwaltet werden, deklarieren Sie diese Identität als IoT Edge-Gerät mit der --edge-enabled Kennzeichnung.

  1. Geben Sie den folgenden Befehl in Azure Cloud Shell 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>
    

    Wenn Sie eine Fehlermeldung zu iothubowner-Richtlinienschlüsseln erhalten, stellen Sie sicher, dass Ihre Cloud Shell die neueste Version der Azure-iot-Erweiterung ausführt.

  2. Überprüfen Sie die Verbindungszeichenfolge für Ihr Gerät, die das physische Gerät mit seiner Identität im IoT Hub verknüpft. Er enthält den Namen Ihres IoT Hub, den Namen Ihres Geräts und einen freigegebenen Schlüssel, der Verbindungen zwischen ihnen authentifiziert. Sie verwenden diese Verbindungszeichenfolge erneut im nächsten Abschnitt, um Ihr IoT Edge-Gerät einzurichten.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>
    

    Die Verbindungszeichenfolge sollte z. B. ähnlich aussehen wie HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.

Konfigurieren Ihres IoT Edge-Geräts

Erstellen Sie einen virtuellen Computer mit der Azure IoT Edge-Laufzeit.

Diagramm: Starten der Runtime auf einem Gerät

Die IoT Edge-Laufzeit wird auf allen IoT Edge-Geräten bereitgestellt und verfügt über drei Komponenten. Der Daemon für die IoT Edge-Sicherheit wird jedes Mal gestartet, wenn ein IoT Edge-Gerät gestartet wird. Hierbei wird der IoT Edge-Agent gestartet, um einen Bootstrapvorgang durchzuführen. Der IoT Edge-Agent erleichtert die Bereitstellung und Überwachung von Modulen auf dem IoT Edge-Gerät, einschließlich des IoT Edge-Hubs. Der IoT Edge-Hub verwaltet die Kommunikation zwischen Modulen auf dem IoT Edge-Gerät sowie zwischen dem Gerät und IoT Hub.

Stellen Sie während der Laufzeitkonfiguration eine Geräteverbindungszeichenfolge bereit. Diese Zeichenfolge wird von der Azure CLI abgerufen. Diese Zeichenfolge ordnet Ihr physisches Gerät der IoT Edge-Geräteidentität in Azure zu.

Bereitstellen des IoT Edge-Geräts

In diesem Abschnitt wird eine Azure Resource Manager-Vorlage verwendet, um einen neuen virtuellen Computer zu erstellen und darauf die IoT Edge-Runtime zu installieren. Falls Sie stattdessen Ihr eigenes Linux-Gerät verwenden möchten, können Sie die Installationsschritte unter Manuelles Bereitstellen eines einzelnen IoT Edge-Geräts unter Linux ausführen und dann zu dieser Schnellstartanleitung zurückkehren.

Verwenden Sie die Schaltfläche " Bereitstellen in Azure" oder CLI-Befehle, um ein IoT Edge-Gerät basierend auf der vorgefertigten Vorlage "iotedge-vm-deploy " zu erstellen.

  • Verwenden Sie für die Bereitstellung die Azure Resource Manager-Vorlage für IoT Edge.

    In Azure bereitstellen

  • Bash- oder Cloud Shell-Benutzer: Kopieren Sie den folgenden Befehl in einen Text-Editor, ersetzen Sie den Platzhaltertext durch Ihre Informationen, und kopieren Sie ihn dann in Ihr Bash- bzw. Cloud Shell-Fenster:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
    --parameters adminUsername='azureUser' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    
  • PowerShell-Benutzer: Kopieren Sie den folgenden Befehl in Ihr PowerShell-Fenster, und ersetzen Sie den Platzhaltertext dann durch Ihre eigenen Informationen:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" `
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' `
    --parameters adminUsername='azureUser' `
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) `
    --parameters authenticationType='password' `
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    

Für diese Vorlage werden die folgenden Parameter verwendet:

Parameter BESCHREIBUNG
resource-group Die Ressourcengruppe, in der die Ressourcen erstellt werden. Verwenden Sie die Standardressourcengruppe IoTEdgeResources, die in diesem Artikel bereits verwendet wurde, oder geben Sie den Namen einer Ressourcengruppe an, die unter Ihrem Abonnement vorhanden ist.
template-uri Ein Zeiger auf die Resource Manager-Vorlage, die wir verwenden.
dnsLabelPrefix Eine Zeichenfolge, die zum Erstellen des Hostnamens des virtuellen Computers verwendet wird. Ersetzen Sie den Platzhaltertext durch einen Namen für Ihren virtuellen Computer.
adminUsername Ein Benutzername für das Administratorkonto des virtuellen Computers. Verwenden Sie das Beispiel azureUser, oder geben Sie einen neuen Benutzernamen an.
deviceConnectionString Die Verbindungszeichenfolge aus der Geräteidentität in IoT Hub, die zum Konfigurieren der IoT Edge-Runtime auf dem virtuellen Computer verwendet wird. Mit dem CLI-Befehl in diesem Parameter wird die Verbindungszeichenfolge für Sie abgerufen. Ersetzen Sie den Platzhaltertext durch den Namen Ihres IoT-Hubs.
authenticationType Die Authentifizierungsmethode für das Administratorkonto. In dieser Schnellstartanleitung wird die Authentifizierung vom Typ password verwendet, aber Sie können diesen Parameter auch auf sshPublicKey festlegen.
adminPasswordOrKey Das Kennwort oder der Wert des SSH-Schlüssels für das Administratorkonto. Ersetzen Sie den Platzhaltertext durch ein sicheres Kennwort. Ihr Kennwort muss mindestens zwölf Zeichen lang sein und drei von vier der folgenden Zeichenarten abdecken: Kleinbuchstaben, Großbuchstaben, Ziffern und Sonderzeichen.

Nach Abschluss der Bereitstellung enthält die JSON-formatierte Ausgabe in der CLI die SSH-Informationen zum Herstellen einer Verbindung mit dem virtuellen Computer. Kopieren Sie den Wert des Eintrags Öffentlicher SSH-Schlüssel im Abschnitt outputs. Ihr SSH-Befehl sollte beispielsweise wie folgt aussehen: ssh azureUser@edge-vm.westus2.cloudapp.azure.com.

Anzeigen des Status der IoT Edge-Runtime

Die verbleibenden Befehle in dieser Schnellstartanleitung werden auf Ihrem IoT Edge-Gerät ausgeführt, Sie können also sehen, was auf dem Gerät geschieht. Gehen Sie wie folgt vor, wenn Sie einen virtuellen Computer verwenden: Stellen Sie mit diesem Computer nun eine Verbindung her, indem Sie den von Ihnen eingerichteten Administratorbenutzernamen und den DNS-Namen verwenden, der vom Bereitstellungsbefehl ausgegeben wurde. Den DNS-Namen finden Sie auch auf der Seite „Übersicht“ Ihres virtuellen Computers im Azure-Portal. Verwenden Sie den folgenden Befehl, um eine Verbindung mit Ihrem virtuellen Computer herzustellen. Ersetzen Sie <admin-username> und <DNS-name> durch Ihre eigenen Werte.

ssh <admin-username>@<DNS-name>

Nachdem die Verbindung mit Ihrem virtuellen Computer hergestellt wurde, sollten Sie überprüfen, ob die Runtime auf Ihrem IoT Edge-Gerät erfolgreich installiert und konfiguriert wurde.

  1. Überprüfen Sie, ob IoT Edge ausgeführt wird. Der folgende Befehl gibt den Status "Ok " zurück, wenn IoT Edge ausgeführt wird oder Dienstfehler bereitstellt.

    sudo iotedge system status
    

    Tipp

    Sie benötigen erhöhte Rechte zum Ausführen von iotedge-Befehlen. Nachdem Sie sich bei Ihrem Computer abgemeldet und sich nach der Installation der IoT Edge-Runtime zum ersten Mal erneut angemeldet haben, werden Ihre Berechtigungen automatisch aktualisiert. Verwenden Sie bis dahin sudo vor den Befehlen.

  2. Sollte eine Problembehandlung für den Dienst erforderlich sein, rufen Sie die Dienstprotokolle ab.

    sudo iotedge system logs
    
  3. Zeigen Sie alle Module an, die auf Ihrem IoT Edge-Gerät ausgeführt werden. Da der Dienst gerade zum ersten Mal gestartet wurde, sollte nur das Modul edgeAgent ausgeführt werden. Das Modul edgeAgent wird standardmäßig ausgeführt und unterstützt Sie beim Installieren und Starten von zusätzlichen Modulen, die Sie auf Ihrem Gerät bereitstellen.

    sudo iotedge list
    

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 aus der Cloud, um ein Modul bereitzustellen, das Geräte-Telemetriedaten an IoT Hub sendet.

Diagramm: Bereitstellen eines Moduls aus der Cloud auf dem Gerät

Eine wichtige Funktion von Azure IoT Edge ist die Bereitstellung von Code auf Ihren IoT Edge-Geräten aus der Cloud. 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.

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.

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

  2. Wählen Sie im Menü links unter Geräteverwaltung die Option Geräte aus.

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

    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 die Module aus, die auf Ihrem Gerät ausgeführt werden sollen. Sie können aus Modulen, die Sie selbst erstellt haben, oder Images in einer Containerregistrierung wählen. In dieser Schnellstartanleitung stellen Sie ein Modul aus der Microsoft-Containerregistrierung bereit.

  5. Wählen Sie im Abschnitt IoT Edge-Module die Option Hinzufügen und dann 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 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 die Seite.

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

Wenn Sie Probleme beim Bereitstellen von Modulen haben, erfahren Sie mehr über die Problembehandlung von IoT Edge-Geräten aus dem Azure-Portal.

Anzeigen generierter Daten

In dieser Schnellstartanleitung erstellen Sie ein neues IoT Edge-Gerät und installieren die IoT Edge-Laufzeit darauf. Anschließend verwenden Sie das Azure-Portal, um ein IoT Edge-Modul bereitzustellen, das auf dem Gerät ausgeführt werden kann, ohne Änderungen am Gerät selbst vorzunehmen.

In diesem Fall werden von dem Modul, das Sie gepusht haben, 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, auf einem Werksboden oder in einer Windturbine befinden. Er meldet die Umgebungstemperatur und Luftfeuchtigkeit, die Computertemperatur und den Druck sowie einen Zeitstempel. In den IoT Edge-Tutorials werden diese vom Modul erstellten Daten als Testdaten für die Analyse verwendet.

Öffnen Sie die Eingabeaufforderung auf Ihrem IoT Edge-Gerät, oder verwenden Sie die SSH-Verbindung von Azure CLI. Vergewissern Sie sich, dass das modul, das Sie aus der Cloud bereitgestellt haben, auf Ihrem IoT Edge-Gerät ausgeführt wird:

sudo iotedge list

Der Screenshot zeigt drei Module auf Ihrem Gerät.

Anzeigen der vom Temperatursensormodul gesendeten Nachrichten:

sudo iotedge logs SimulatedTemperatureSensor -f

Der Screenshot zeigt Daten aus Ihrem Modul in der Ausgabekonsole.

Tipp

Bei IoT Edge-Befehlen wird die Groß-/Kleinschreibung beachtet, wenn auf Modulnamen verwiesen wird.

Bereinigen von Ressourcen

Um mit den IoT Edge-Lernprogrammen fortzufahren, verwenden Sie das Gerät, das Sie registriert und in dieser Schnellstartanleitung eingerichtet haben. Löschen Sie andernfalls die azure-Ressourcen, die Sie erstellt haben, um Gebühren 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. Überprüfen Sie den Inhalt der Ressourcengruppe, um sicherzustellen, dass nichts beibehalten werden soll. Wenn Sie nicht die gesamte Gruppe löschen möchten, können Sie stattdessen einzelne Ressourcen löschen.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden.

Löschen Sie die Gruppe "IoTEdgeResources ". Das Löschen einer Ressourcengruppe kann einige Minuten dauern.

az group delete --name IoTEdgeResources --yes

Vergewissern Sie sich, dass die Ressourcengruppe gelöscht wird, indem Sie die Liste der Ressourcengruppen anzeigen.

az group list

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. Jetzt verwenden Sie 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.