Schnellstart: Senden von Telemetriedaten von einem Gerät an einen IoT-Hub und Durchführen der Überwachung per Azure CLI

IoT Hub ist ein Azure-Dienst, mit dem Sie umfangreiche Telemetriedaten von Ihren Geräten in der Cloud erfassen können, um sie zu speichern oder zu verarbeiten. In diesem Schnellstart ohne Code verwenden Sie die Azure CLI zum Erstellen eines IoT-Hubs und eines simulierten Geräts. Sie senden Gerätetelemetriedaten an den Hub und senden außerdem Nachrichten, Aufrufmethoden und Updateeigenschaften auf dem Gerät. Außerdem visualisieren Sie Gerätemetriken über das Azure-Portal. In diesem Artikel wird ein grundlegender Workflow für Entwickler gezeigt, die über die CLI mit einer IoT Hub-Anwendung interagieren.

Voraussetzungen

  • Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
  • Azure-Befehlszeilenschnittstelle. Sie können alle Befehle in diesem Schnellstart über die Azure Cloud Shell ausführen. Dies ist eine interaktive CLI-Shell, die in Ihrem Browser oder einer App wie z. B. Windows-Terminal ausgeführt wird. Bei Verwendung der Cloud Shell müssen Sie nichts installieren. Wenn Sie die CLI lieber lokal nutzen möchten, müssen Sie für diesen Schnellstart mindestens Version 2.36 der Azure CLI verwenden. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure CLI.

Melden Sie sich auf dem Azure-Portal an.

Melden Sie sich beim Azure-Portal an.

Unabhängig davon, ob Sie die CLI lokal oder in der Cloud Shell ausführen, lassen Sie das Portal in Ihrem Browser geöffnet. Es wird im weiteren Verlauf der Schnellstartanleitung noch benötigt.

Starten der Cloud Shell

In diesem Abschnitt starten Sie eine Instanz der Azure Cloud Shell. Falls Sie die CLI lokal nutzen, können Sie zum Abschnitt Vorbereiten von zwei CLI-Sitzungen springen.

Starten Sie die Cloud Shell wie folgt:

  1. Wählen Sie im Azure-Portal oben rechts in der Menüleiste die Schaltfläche Cloud Shell aus.

    Schaltfläche „Cloud Shell“ im Azure-Portal

    Hinweis

    Falls Sie die Cloud Shell bisher noch nicht verwendet haben, werden Sie zum Erstellen von Speicher aufgefordert, der für die Nutzung der Cloud Shell erforderlich ist. Wählen Sie ein Abonnement aus, in dem ein Speicherkonto und eine Microsoft Azure Files-Freigabe erstellt werden sollen.

  2. Wählen Sie in der Dropdownliste Umgebung auswählen Ihre bevorzugte CLI-Umgebung aus. In dieser Schnellstartanleitung wird die Bash-Umgebung verwendet. Sie können auch die PowerShell-Umgebung verwenden.

    Hinweis

    Einige Befehle erfordern eine andere Syntax oder Formatierung in der Bash- und der PowerShell-Umgebung. Weitere Informationen finden Sie unter Tipps zur erfolgreichen Verwendung der Azure CLI.

    Auswählen der CLI-Umgebung

Vorbereiten von zwei CLI-Sitzungen

Als Nächstes bereiten Sie zwei Azure CLI-Sitzungen vor. Wenn Sie die Cloud Shell verwenden, führen Sie diese Sitzungen über separate Cloud Shell-Registerkarten aus. Wenn Sie einen lokalen CLI-Client nutzen, führen Sie separate CLI-Instanzen aus. Verwenden Sie die separaten CLI-Sitzungen für die folgenden Aufgaben:

  • Die erste Sitzung simuliert ein IoT-Gerät, das mit Ihrem IoT-Hub kommuniziert.
  • Die zweite Sitzung überwacht entweder das Gerät in der ersten Sitzung, oder sie sendet Nachrichten, Befehle und Eigenschaftenupdates.

Wählen Sie zum Ausführen eines Befehls die Option Kopieren aus, um einen Codeblock aus dieser Schnellstartanleitung zu kopieren und in Ihre Shell-Sitzung einzufügen. Anschließend können Sie den Befehl dann ausführen.

Für die Nutzung der Azure CLI müssen Sie bei Ihrem Azure-Konto angemeldet sein. Die gesamte Kommunikation zwischen Ihrer Azure CLI-Shell-Sitzung und Ihrem IoT-Hub wird authentifiziert und verschlüsselt. Bei diesem Schnellstart ist daher keine weitere Authentifizierung, z. B. per Verbindungszeichenfolge, wie bei einem echten Gerät erforderlich.

  • Führen Sie in der ersten CLI-Sitzung den Befehl az extension add aus. Der Befehl fügt Ihrer CLI-Shell die Microsoft Azure IoT-Erweiterung für Azure CLI hinzu. Die IoT-Erweiterung fügt der Azure-Befehlszeilenschnittstelle spezifische Befehle für IoT Hub, IoT Edge und IoT Device Provisioning Service (DPS) hinzu.

    az extension add --name azure-iot
    

    Nachdem Sie die Azure IoT-Erweiterung installiert haben, müssen Sie sie in Cloud Shell-Sitzungen nicht erneut installieren.

    Hinweis

    In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacy-Version heißt azure-cli-iot-ext. Es sollte jedoch jeweils nur eine Version installiert sein. Sie können den Befehl az extension list verwenden, um die derzeit installierten Erweiterungen zu überprüfen.

    Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

    Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

    Verwenden Sie az extension list, um die installierten Erweiterungen anzuzeigen.

  • Öffnen Sie die zweite CLI-Sitzung. Wenn Sie die Cloud Shell in einem Browser nutzen, verwenden Sie die Schaltfläche Neue Sitzung öffnen. Wenn Sie die CLI lokal nutzen, öffnen Sie eine zweite CLI-Instanz.

    Öffnen einer neuen Cloud Shell-Sitzung

Erstellen eines IoT-Hubs

In diesem Abschnitt verwenden Sie die Azure CLI zum Erstellen einer Ressourcengruppe und eines IoT-Hubs. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Ein IoT-Hub fungiert als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten.

Tipp

Optional können Sie eine Azure-Ressourcengruppe, einen IoT-Hub und andere Ressourcen über das Azure-Portal, mithilfe von Visual Studio Code oder anderen Verfahren erstellen.

  1. Führen Sie in der ersten CLI-Sitzung den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Mit dem folgenden Befehl wird eine Ressourcengruppe mit dem Namen MyResourceGroup am Standort eastus erstellt.

    az group create --name MyResourceGroup --location eastus
    
  2. Führen Sie in der ersten CLI-Sitzung den Befehl Az PowerShell module iot hub create aus, um einen IoT-Hub zu erstellen. Das Erstellen eines IoT-Hubs dauert einige Minuten.

    YourIotHubName: Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Verwenden Sie im weiteren Verlauf dieser Schnellstartanleitung den Namen des IoT-Hubs für alle Vorkommen dieses Platzhalters.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Erstellen und Überwachen eines Geräts

In diesem Abschnitt erstellen Sie in der ersten CLI-Sitzung ein simuliertes Gerät. Mit dem simulierten Gerät werden Gerätetelemetriedaten an Ihren IoT-Hub gesendet. In der zweiten CLI-Sitzung überwachen Sie Ereignisse und Telemetriedaten.

Erstellen und starten Sie ein simuliertes Gerät wie folgt:

  1. Führen Sie In der ersten CLI-Sitzung den Befehl az iot hub device-identity create aus. Dieser Befehl erstellt die Identität des simulierten Geräts.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    simDevice: Sie können diesen Namen im weiteren Verlauf dieser Schnellstartanleitung direkt für das simulierte Gerät verwenden. Optional können Sie auch einen anderen Namen nutzen.

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. Führen Sie in der ersten CLI-Sitzung den Befehl az iot device simulate aus. Dieser Befehl startet das simulierte Gerät. Das Gerät sendet Telemetriedaten an Ihren IoT-Hub und empfängt im Gegenzug Nachrichten.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Überwachen Sie ein Gerät wie folgt:

  1. Führen Sie in der zweiten CLI-Sitzung den Befehl az iot hub monitor-events aus. Dieser Befehl überwacht kontinuierlich das simulierte Gerät. Die Ausgabe zeigt Telemetriedaten, z. B. Ereignisse und Änderungen des Eigenschaftsstatus, die das simulierte Gerät an den IoT-Hub sendet.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Screenshot der Überwachung von Ereignissen auf einem simulierten Gerät.

  2. Wenn Sie die Überwachung des simulierten Geräts in der zweiten CLI-Sitzung abgeschlossen haben, können Sie STRG+C drücken, um die Überwachung zu beenden. Lassen Sie die zweite CLI-Sitzung zur Verwendung in späteren Schritten geöffnet.

Verwenden der CLI zum Senden einer Nachricht

In diesem Abschnitt senden Sie eine Nachricht an das simulierte Gerät.

  1. Vergewissern Sie sich in der ersten CLI-Sitzung, dass das simulierte Gerät noch ausgeführt wird. Wenn das Gerät angehalten wurde, führen Sie den folgenden Befehl aus, um es neu zu starten:

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. Führen Sie in der zweiten CLI-Sitzung den Befehl az iot device c2d-message send aus. Dieser Befehl sendet von Ihrem IoT-Hub aus eine C2D-Nachricht (Cloud-To-Device, Cloud-zu-Gerät) an das simulierte Gerät. Die Nachricht enthält eine Zeichenfolge und zwei Schlüssel-Wert-Paare.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    Optional können Sie C2D-Nachrichten über das Azure-Portal senden. Navigieren Sie hierfür zur Übersichtsseite für Ihren IoT-Hub, und wählen Sie IoT-Geräte, das simulierte Gerät und dann die Option Nachricht an Gerät aus.

  3. Vergewissern Sie sich in der ersten CLI-Sitzung, dass das simulierte die Nachricht empfangen hat.

    Screenshot eines simulierten Geräts, das eine Nachricht empfängt.

Verwenden der CLI zum Aufrufen einer Gerätemethode

In diesem Abschnitt rufen Sie eine direkte Methode auf dem simulierten Gerät auf.

  1. Vergewissern Sie sich wie zuvor, dass das simulierte Gerät in der ersten CLI-Sitzung ausgeführt wird. Wenn das nicht zutrifft, starten Sie es neu.

  2. Führen Sie in der zweiten CLI-Sitzung den Befehl az iot hub invoke-device-method aus. In diesem Beispiel gibt es keine bereits vorhandene Methode für das Gerät. Der Befehl ruft einen Beispielmethodennamen auf dem simulierten Gerät auf und gibt eine Nutzlast zurück.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. Vergewissern Sie sich in der ersten CLI-Sitzung, dass die Ausgabe den Methodenaufruf anzeigt.

    Screenshot eines simulierten Geräts, das die Ausgabe anzeigt, nachdem eine Methode aufgerufen wurde.

Verwenden der CLI zum Aktualisieren von Geräteeigenschaften

In diesem Abschnitt aktualisieren Sie den Zustand des simulierten Geräts durch Festlegen von Eigenschaftswerten.

  1. Vergewissern Sie sich wie zuvor, dass das simulierte Gerät in der ersten CLI-Sitzung ausgeführt wird. Wenn das nicht zutrifft, starten Sie es neu.

  2. Führen Sie in der zweiten CLI-Sitzung den Befehl az iot hub device-twin update aus. Dieser Befehl aktualisiert die Eigenschaften auf dem IoT-Hub-Gerätezwilling, der Ihrem simulierten Gerät entspricht, auf den gewünschten Zustand. In diesem Fall legt der Befehl Beispieleigenschaften für die Temperaturbedingungen fest.

    Wichtig

    Wenn Sie PowerShell in der CLI-Shell nutzen, verwenden Sie die PowerShell-Version des folgenden Befehls. PowerShell erfordert, dass Sie die Zeichen in den JSON-Nutzdaten mit Escapezeichen versehen.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. Vergewissern Sie sich in der ersten CLI-Sitzung, dass das simulierte Gerät das Eigenschaftenupdate ausgibt.

    Screenshot: Aktualisieren von Eigenschaften auf einem Gerät.

  4. Führen Sie in der zweiten CLI-Sitzung den Befehl az iot hub device-twin show aus. Dieser Befehl meldet Änderungen an den Geräteeigenschaften.

    YourIotHubName: Ersetzen Sie diesen Platzhalter unten durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Screenshot: Aktualisierte Eigenschaften auf einem Gerätezwilling.

Anzeigen von Nachrichtenmetriken im Portal

Im Azure-Portal können Sie alle Aspekte Ihres IoT-Hubs und Ihrer Geräte verwalten. In einer typischen IoT-Hub-Anwendung, mit der Telemetriedaten von Geräten erfasst werden, können Sie bei Bedarf Geräte überwachen oder Metriken der Gerätetelemetrie anzeigen.

Visualisieren Sie Nachrichtenmetriken im Azure-Portal wie folgt:

  1. Wählen Sie im Portal im linken Navigationsmenü die Option Alle Ressourcen aus. Auf dieser Registerkarte werden alle Ressourcen Ihres Abonnements aufgelistet, darunter der von Ihnen erstellte IoT-Hub.

  2. Wählen Sie den Link im von Ihnen erstellten IoT-Hub aus. Im Portal wird die Übersichtsseite für den Hub angezeigt.

  3. Wählen Sie im linken Bereich Ihres IoT-Hubs die Option Metriken aus.

    IoT-Hub-Nachrichtenmetriken

  4. Geben Sie im Feld Bereich den Namen Ihres IoT Hubs ein.

  5. Wählen Sie im Feld Metriknamespace die Option IoT Hub-Standardmetriken aus.

  6. Wählen Sie im Feld Metrik die Option Gesamtzahl verwendeter Nachrichten aus.

  7. Bewegen Sie den Mauszeiger auf den Bereich der Zeitachse, in dem das Gerät Nachrichten gesendet hat. Unten links in der Zeitachse wird die Gesamtzahl der Nachrichten für den entsprechenden Zeitpunkt angezeigt.

    Anzeigen von Azure IoT Hub-Metriken

  8. Verwenden Sie optional die Dropdownliste Metrik, um andere Metriken für Ihr simuliertes Gerät anzuzeigen. Beispiele hierfür sind Metriken vom Typ Durchgeführte Zustellungen von C2D-Nachrichten und Geräte gesamt (Vorschau) .

Bereinigen von Ressourcen

Falls Sie die in dieser Schnellstartanleitung erstellten Azure-Ressourcen nicht mehr benötigen, können Sie sie mit der Azure CLI löschen.

Falls Sie mit dem nächsten empfohlenen Artikel fortfahren, können Sie die bereits erstellten Ressourcen beibehalten und wiederverwenden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen.

So löschen Sie eine Ressourcengruppe anhand des Namens:

  1. Führen Sie den Befehl az group delete aus. Mit diesem Befehl werden die von Ihnen erstellte Ressourcengruppe, der IoT-Hub und die Geräteregistrierung entfernt.

    az group delete --name MyResourceGroup
    
  2. Führen Sie den Befehl az group list aus, um sich zu vergewissern, dass die Ressourcengruppe gelöscht wurde.

    az group list
    

Nächste Schritte

In diesem Schnellstart haben Sie mithilfe der Azure CLI einen IoT-Hub und ein simuliertes Gerät erstellt, Telemetriedaten gesendet und überwacht, eine Methode aufgerufen, die gewünschten Eigenschaften festgelegt und Ressourcen bereinigt. Sie haben das Azure-Portal genutzt, um Nachrichtenmetriken auf Ihrem Gerät zu visualisieren.

Für Geräteentwickler schlagen wir als Nächstes das Durcharbeiten des Schnellstarts zu Telemetriedaten vor, in dem das Azure IoT-Geräte-SDK für C verwendet wird. Optional können Sie auch einen der verfügbaren Schnellstartartikel zu Azure IoT Hub-Telemetriedaten in Ihrer bevorzugten Sprache bzw. Ihrem bevorzugten SDK lesen.

Um zu erfahren, wie Sie das simulierte Gerät über eine Back-End-Anwendung steuern, fahren Sie mit der nächsten Schnellstartanleitung fort.