Freigeben über


Schnellstart: Bereitstellen Ihres ersten IoT Edge Moduls auf einem virtuellen Linux-Gerät

Gilt für:IoT Edge 1,5 Häkchen IoT Edge 1,5

Wichtig

IoT Edge 1.5 LTS ist die unterstützte Version. IoT Edge 1.4 LTS erreichte am 12. November 2024 das Ende des Lebens. Wenn Sie eine frühere Version verwenden, lesen Sie Update IoT Edge.

Probieren Sie in dieser Schnellstartanleitung Azure IoT Edge, 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 Azure virtuellen 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 Sie ein IoT Edge Gerät auf Ihrem IoT-Hub.
  • Installieren und starten Sie die IoT Edge Laufzeit auf einem 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

Diese Schnellstartanleitung führt Sie durch das Erstellen eines virtuellen Linux-Computers, der als IoT Edge Gerät konfiguriert ist. Anschließend stellen Sie ein Modul aus dem Azure Portal auf Ihrem Gerät bereit. Diese Schnellstartanleitung verwendet ein simuliertes Sensormodul, das Temperatur-, Feuchtigkeits- und Druckdaten generiert. Die anderen Azure IoT Edge Lernprogramme bauen auf der hier ausgeführten Arbeit auf, indem sie zusätzliche Module bereitstellen, die die simulierten Daten für Geschäftseinblicke analysieren.

Wenn Sie nicht über ein aktives Azure-Abonnement verfügen, erstellen Sie ein free-Konto 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 Sie einen IoT-Hub

Starten Sie den Schnellstart, indem Sie einen IoT Hub mithilfe der Azure CLI erstellen.

Diagramm, das zeigt, wie man einen IoT Hub in der Cloud erstellt.

Für diesen Schnellstart funktioniert die kostenlose Ebene von IoT Hub. Wenn Sie IoT Hub in der Vergangenheit verwendet haben und bereits einen Hub erstellt haben, können Sie diese 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 Ihre IoT Hub. Das Erstellen einer IoT Hub kann einige Minuten dauern.

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

Wenn eine Fehlermeldung angezeigt wird, da in Ihrem Abonnement bereits eine kostenlose IoT Hub vorhanden ist, ändern Sie die SKU in S1. Jedes Abonnement kann nur über einen kostenlosen IoT Hub verfügen. Wenn sie eine Fehlermeldung erhalten, dass der IoT Hub Name nicht verfügbar ist, bedeutet dies, dass eine andere Person bereits über einen Hub mit diesem Namen verfügt. 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 zum Registrieren eines Geräts mit einer IoT Hub identity.

Erstellen Sie eine Geräteidentität für Ihr IoT Edge Gerät, damit sie mit Ihrem IoT-Hub kommunizieren kann. Die Geräteidentität befindet sich in der Cloud, und Sie verwenden eine eindeutige Verbindungszeichenfolge, um ein physisches Gerät mit einer Geräteidentität zu verknüpfen.

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 unter Verwendung des Flags --edge-enabled.

  1. Geben Sie den folgenden Befehl in Azure Cloud Shell ein, um ein Gerät mit dem Namen 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. Sie enthält den Namen Ihrer IoT Hub, den Namen Ihres Geräts und einen freigegebenen Schlüssel, der Verbindungen zwischen ihnen authentifiziert. Sie verwenden diese connection string 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>
    

    Beispielsweise sollte die connection string ä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, wie die Runtime auf einem Gerät gestartet wird.

Die IoT Edge Laufzeit wird auf allen IoT Edge Geräten bereitgestellt und verfügt über drei Komponenten. Der IoT Edge-Sicherheitsdaemon startet jedes Mal, wenn ein IoT Edge-Gerät hochfährt, und initialisiert das Gerät, indem er den IoT Edge-Agenten startet. 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 und zwischen dem Gerät und IoT Hub.

Stellen Sie während der Konfiguration zur Laufzeit eine Geräte-Verbindungszeichenfolge bereit. Diese Zeichenfolge wird aus dem 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 die IoT Edge Laufzeit darauf zu installieren. Wenn Sie stattdessen Ihr eigenes Linux-Gerät verwenden möchten, können Sie die Installationsschritte in Manually provision a single Linux IoT Edge device ausführen und dann zu dieser Schnellstartanleitung zurückkehren.

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

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

    Deploy to Azure

  • Kopieren Sie für Bash- oder Cloud Shell Benutzer den folgenden Befehl in einen Text-Editor, ersetzen Sie den Platzhaltertext durch Ihre Informationen, und kopieren Sie dann in Ihr Bash- oder 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 im IoT Hub, die zum Konfigurieren der IoT Edge-Laufzeit auf der virtuellen Maschine verwendet wird. Der CLI-Befehl in diesem Parameter ruft die Verbindungszeichenfolge für Sie ab. 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 IoT Edge Laufzeitstatus

Die restlichen Befehle in dieser Schnellstartanleitung finden auf Ihrem IoT Edge Gerät selbst statt, damit Sie sehen können, was auf dem Gerät passiert. 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. Sie finden den DNS-Namen auch auf der Übersichtsseite 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>

Überprüfen Sie nach der Verbindung mit Ihrem virtuellen Computer, ob die Laufzeit erfolgreich auf Ihrem IoT Edge-Gerät 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 gibt Informationen über Dienstfehler aus.

    sudo iotedge system status
    

    Tipp

    Sie benötigen erhöhte Rechte zum Ausführen von iotedge-Befehlen. Sobald Sie sich von Ihrem Computer abmelden und sich nach der Installation der IoT Edge Laufzeit zum ersten Mal wieder anmelden, 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 Ihre IoT Edge Geräte aus der Cloud. IoT Edge Modules sind ausführbare Pakete als Container implementiert. In diesem Abschnitt stellen Sie ein vordefiniertes Modul aus dem Abschnitt IoT Edge Modules of Microsoft Artifact Registry bereit.

Das Modul, das Sie in diesem Abschnitt bereitstellen, simuliert einen Sensor und sendet generierte Daten. Dieses Modul ist ein nützlicher Code, wenn Sie mit IoT Edge beginnen, da Sie die simulierten Daten für Entwicklung und Tests verwenden können. Wenn Sie genau sehen möchten, was dieses Modul tut, können Sie den Quellcode des simulierten Temperatursensors anzeigen.

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

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

  2. Wählen Sie im Menü auf der linken Seite unter Device ManagementDevices aus.

  3. Wählen Sie die Geräte-ID des Ziel-IoT Edge Geräts aus der Liste 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 ModulHinzufü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 an Ihr Gerät übertragen. Stattdessen fragt das Gerät regelmäßig beim IoT Hub nach neuen Anweisungen. 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 mindestens ein Modul Yes unter Specified in Deployment und nicht unter Reported by Device hat, werden diese von Ihrem IoT Edge Gerät dennoch gestartet. 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 unter Fehlerbehebung für IoT Edge-Geräte im 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. Die IoT Edge Lernprogramme verwenden die von diesem Modul erstellten Daten als Testdaten für Analysen.

Ö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 Case-Sensitivity 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 gründlich den Inhalt der Ressourcengruppe, um sicherzustellen, dass es nichts gibt, was Sie behalten möchten. 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 verwendet, um Code auf dem Gerät bereitzustellen. Jetzt verwenden Sie ein Testgerät, das Rohdaten zu seiner Umgebung generiert.

Im nächsten Lernprogramm erfahren Sie, wie Sie die Aktivität und den Zustand Ihres Geräts über das Azure-Portal überwachen.