Freigeben über


Lernprogramm: Verwenden von Eclipse ThreadX zum Verbinden eines MXCHIP AZ3166-DevKits mit IoT Hub

Code durchsuchen

In diesem Tutorial verwenden Sie Eclipse ThreadX, um ein MXCHIP AZ3166-IoT-DevKit (nachfolgend als „MXCHIP-DevKit“ bezeichnet) mit Azure IoT zu verbinden.

Sie führen die folgenden Aufgaben durch:

  • Installieren von eingebetteten Entwicklungstools für die Programmierung des MXCHIP-DevKit in C
  • Erstellen eines Images und Einspielen auf das MXCHIP-DevKit
  • Verwenden der Azure CLI zum Erstellen und Verwalten eines Azure IoT-Hubs, mit dem das MXCHIP-DevKit eine sichere Verbindung herstellt
  • Verwenden von Azure IoT Explorer zum Registrieren eines Geräts bei Ihrem IoT Hub, Anzeigen von Geräteeigenschaften und Gerätetelemetriedaten sowie zum Aufrufen direkter Befehle auf dem Gerät

Voraussetzungen

  • Ein PC, auf dem Windows 10 oder Windows 11 ausgeführt wird

  • Ein aktives Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Git zum Klonen des Repositorys

  • Azure-Befehlszeilenschnittstelle. In diesem Tutorial gibt es zwei Möglichkeiten zum Ausführen von Azure CLI-Befehlen:

    • Verwenden Sie Azure Cloud Shell. Dabei handelt es sich um eine interaktive Shell, mit der CLI-Befehle im Browser ausgeführt werden. Diese Option wird empfohlen, da Sie nichts installieren müssen. Wenn Sie Cloud Shell zum ersten Mal verwenden, melden Sie sich beim Azure-Portal an. Führen Sie in der Cloud Shell-Schnellstartanleitung die Schritte zum Starten von Cloud Shell und Auswählen der Bash-Umgebung aus.
    • Führen Sie optional die Azure CLI auf dem lokalen Computer aus. Wenn die Azure CLI bereits installiert ist, führen Sie az upgrade aus, um die CLI und die Erweiterungen auf die aktuelle Version zu aktualisieren. Informationen zur Installation der Azure CLI finden Sie unter Installieren der Azure CLI.
  • Hardware

Vorbereiten der Entwicklungsumgebung

Zum Einrichten Ihrer Entwicklungsumgebung klonen Sie zunächst ein GitHub-Repository, in dem alle für das Tutorial benötigten Ressourcen enthalten sind. Anschließend installieren Sie einige Programmiertools.

Klonen des Repositorys

Klonen Sie das folgende Repository, um den gesamten Beispielgerätecode, die Setupskripts und die Offlineversionen der Dokumentation herunterzuladen. Falls Sie dieses Repository bereits während eines anderen Tutorials geklont haben, müssen Sie diesen Schritt nicht erneut ausführen.

Führen Sie den folgenden Befehl aus, um das Repository zu klonen:

git clone --recursive https://github.com/eclipse-threadx/getting-started.git

Installieren der Tools

Das geklonte Repository enthält ein Setupskript, mit dem die erforderlichen Tools installiert und konfiguriert werden. Wenn Sie diese Tools im Rahmen eines anderen Tutorials für ein eingebettetes Gerät installiert haben, müssen Sie diesen Schritt nicht noch mal ausführen.

Hinweis

Mit dem Setupskript werden die folgenden Tools installiert:

  • CMake: Buildvorgang
  • ARM GCC: Kompiliervorgang
  • Termite: Überwachung der Ausgabe des seriellen Anschlusses für verbundene Geräteressourcen

So installieren Sie die Tools

  1. Navigieren Sie zum folgenden Pfad im Repository, und führen Sie das Setupskript mit dem Namen get-toolchain.bat aus:

    getting-started\tools\get-toolchain.bat

  2. Öffnen Sie ein neues Konsolenfenster, um die vom Setupskript vorgenommenen Konfigurationsänderungen zu überprüfen. Verwenden Sie diese Konsole, um die restlichen Programmieraufgaben dieses Tutorials durchzuführen. Sie können die Windows-Eingabeaufforderung, PowerShell oder Git Bash für Windows verwenden.

  3. Führen Sie den folgenden Code aus, um zu überprüfen, ob Version 3.14 (oder höher) von CMake installiert ist.

    cmake --version
    

Erstellen der Cloudkomponenten

Erstellen eines IoT-Hubs

Sie können über Azure CLI einen IoT-Hub erstellen, der Ereignisse und Messaging für Ihr Gerät verarbeitet.

Erstellen Sie wie folgt einen IoT-Hub:

  1. Starten der CLI-App. Kopieren Sie zum Ausführen der CLI-Befehle im restlichen Teil dieses Schnellstarts die Befehlssyntax, fügen Sie sie in Ihre CLI-App ein, bearbeiten Sie die Variablenwerte und drücken Sie Enter.

    • Wenn Sie lieber Cloud Shell verwenden möchten, klicken Sie mit der rechten Maustaste auf den Link für Cloud Shell, und wählen Sie die Option zum Öffnen auf einer neuen Registerkarte aus.
    • Gehen Sie wie folgt vor, wenn Sie die Azure CLI lokal verwenden: Starten Sie Ihre CLI-Konsolen-App, und melden Sie sich bei der Azure CLI an.
  2. Führen Sie az extension add aus, um die Erweiterung azure-iot zu installieren oder auf die aktuelle Version zu aktualisieren.

    az extension add --upgrade --name azure-iot
    
  3. Führen Sie den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Der folgende Befehl erstellt am Standort centralus die Ressourcengruppe myResourceGroup.

    Hinweis

    Optional können Sie einen alternativen location (Standort) festlegen. Führen Sie az account list-locations aus, um verfügbare Standorte anzuzeigen.

    az group create --name MyResourceGroup --location centralus
    
  4. Führen Sie den Befehl az iot hub create aus, um einen IoT-Hub zu erstellen. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

    YourIotHubName: Ersetzen Sie diesen Platzhalter im Code durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Dieser Platzhalter wird im restlichen Teil dieses Schnellstarts als eindeutiger Name für Ihren IoT-Hub verwendet.

    Der Parameter --sku F1 erstellt den IoT-Hub im Free-Tarif. Bei Hubs im Free-Tarif gibt es nur einen begrenzten Featuresatz, und sie werden für Proof of Concept-Anwendungen verwendet. Weitere Informationen zu IoT Hub-Tarifen, -Features und -Preisen finden Sie unter Azure IoT Hub – Preise.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2
    
  5. Nachdem der IoT-Hub erstellt wurde, zeigen Sie die JSON-Ausgabe in der Konsole an, und kopieren Sie den Wert hostName, der in einem späteren Schritt verwendet wird. Der Wert hostName sieht wie im folgenden Beispiel aus:

    {Your IoT hub name}.azure-devices.net

Konfigurieren von IoT Explorer

Im weiteren Verlauf dieses Schnellstarts verwenden Sie den IoT-Explorer zum Registrieren eines Geräts bei Ihrem IoT-Hub, zum Anzeigen der Geräteeigenschaften und Telemetriedaten sowie zum Senden von Befehlen an Ihr Gerät. In diesem Abschnitt konfigurieren Sie IoT Explorer, um eine Verbindung mit dem erstellten IoT-Hub herzustellen und Plug & Play-Modelle aus dem öffentlichen Modellrepository zu lesen.

So fügen Sie Ihrem IoT-Hub eine Verbindung hinzu:

  1. Installieren Sie Azure IoT-Explorer. Dieses Tool ist ein plattformübergreifendes Hilfsprogramm zum Überwachen und Verwalten von Azure IoT-Ressourcen.

  2. Führen Sie in Ihrer CLI-App den Befehl az iot hub connection-string show aus, um die Verbindungszeichenfolge für Ihren IoT-Hub abzurufen.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  3. Kopieren Sie die Verbindungszeichenfolge ohne die umgebenden Anführungszeichen.

  4. Wählen Sie in Azure IoT Explorer im linken Menü IoT-Hubs aus.

  5. Klicken Sie auf + Verbindung hinzufügen.

  6. Fügen Sie die Verbindungszeichenfolge im Feld Verbindungszeichenfolge ein.

  7. Wählen Sie Speichern aus.

    Screenshot: Hinzufügen einer Verbindung in IoT Explorer

Wenn die Verbindung erfolgreich hergestellt wurde, wechselt IoT Explorer zur Ansicht Geräte.

So fügen Sie das öffentliche Modellrepository hinzu:

  1. Wählen Sie in IoT Explorer Startseite aus, um zur Ansicht „Startseite“ zurückzukehren.

  2. Wählen Sie im linken Menü IoT Plug & Play-Einstellungen aus.

  3. Vergewissern Sie sich, dass ein Eintrag für ein öffentliches Repository mit einem Endpunkt von https://devicemodels.azure.com vorhanden ist.

    Hinweis

    Wenn kein Eintrag für das öffentliche Repository vorhanden ist, wählen Sie + Hinzufügen aus, wählen Sie Öffentliche Repository aus dem Dropdownmenü aus, geben Sie den https://devicemodels.azure.com-Endpunktwert an, und wählen Sie dann Speichern aus.

    Der vollständige Eintrag für das öffentliche Repository sieht wie im folgenden Screenshot aus:

    Screenshot: Hinzufügen des öffentlichen Modellrepositorys in IoT Explorer

Registrieren eines Geräts

In diesem Abschnitt erstellen Sie eine neue Geräteinstanz und registrieren sie bei dem von Ihnen erstellten IoT-Hub. In einem Abschnitt weiter unten verwenden Sie die Verbindungsinformationen für das neu registrierte Gerät, um eine sichere Verbindung für Ihr physisches Gerät herzustellen.

So registrieren Sie ein Gerät:

  1. Wählen Sie in IoT Explorer auf der Startseite die Option IoT-Hubs aus.

  2. Die zuvor hinzugefügte Verbindung sollte angezeigt werden. Wählen Sie unter den Verbindungseigenschaften die Option Geräte in diesem Hub anzeigen aus.

  3. Wählen Sie + Neu aus, und geben Sie eine Geräte-ID für Ihr Gerät ein. Beispiel: mydevice. Behalten Sie alle anderen Eigenschaften unverändert bei.

  4. Klicken Sie auf Erstellen.

    Screenshot: Azure IoT Explorer-Geräteidentität

  5. Verwenden Sie die Schaltflächen zum Kopieren, um die Felder Geräte-ID und Primärschlüssel zu kopieren.

Bevor Sie mit dem nächsten Abschnitt fortfahren, speichern Sie die folgenden Werte, die in vorherigen Schritten abgerufen wurden, an einem sicheren Speicherort. Sie verwenden diese Werte im nächsten Abschnitt, um Ihr Gerät zu konfigurieren.

  • hostName
  • deviceId
  • primaryKey

Vorbereiten des Geräts

Zum Verbinden des MXCHIP-DevKit mit Azure bearbeiten Sie eine Konfigurationsdatei für WLAN- und Azure IoT-Einstellungen, erstellen das Image neu und flashen das Image auf das Gerät.

Hinzufügen einer Konfiguration

  1. Öffnen Sie die folgende Datei in einem Text-Editor:

    getting-started\MXChip\AZ3166\app\azure_config.h

  2. Kommentieren Sie die folgende Zeile am Anfang der Datei wie hier gezeigt aus:

    // #define ENABLE_DPS
    
  3. Legen Sie die WLAN-Konstanten auf die folgenden Werte Ihrer lokalen Umgebung fest.

    Konstantenname Wert
    WIFI_SSID {Ihre WLAN-SSID}
    WIFI_PASSWORD {Ihr WLAN-Kennwort}
    WIFI_MODE {Einer der enumerierten WLAN-Moduswerte in der Datei}
  4. Legen Sie die Konstanten aus den Azure IoT-Geräteinformationen auf die Werte fest, die Sie nach dem Erstellen der Azure-Ressourcen gespeichert haben.

    Konstantenname Wert
    IOT_HUB_HOSTNAME {Ihr Hostname-Wert}
    IOT_HUB_DEVICE_ID {Ihr Wert für die Geräte-ID}
    IOT_DEVICE_SAS_KEY {Ihr Wert für den Primärschlüssel}
  5. Speichern und schließen Sie die Datei.

Erstellen des Image

  1. Führen Sie in Ihrer Konsole oder im Datei-Explorer das Skript rebuild.bat unter dem folgenden Pfad aus, um das Image zu erstellen:

    getting-started\MXChip\AZ3166\tools\rebuild.bat

  2. Vergewissern Sie sich nach Abschluss des Buildvorgangs, dass die Binärdatei unter dem folgenden Pfad erstellt wurde:

    getting-started\MXChip\AZ3166\build\app\mxchip_azure_iot.bin

Einspielen des Images

  1. Suchen Sie auf dem MXCHIP-DevKit nach der Taste Reset und dem Micro-USB-Anschluss. Sie verwenden diese Komponenten in den folgenden Schritten. Die Komponenten sind in der folgenden Abbildung gekennzeichnet:

    Ermitteln der wichtigen Komponenten auf dem MXChip-DevKit-Board

  2. Schließen Sie das Micro-USB-Kabel an den Micro-USB-Anschluss des MXCHIP-DevKit und dann an Ihren Computer an.

  3. Suchen Sie im Datei-Explorer nach der Binärdatei, die Sie im vorherigen Abschnitt erstellt haben.

  4. Kopieren Sie die Binärdatei mxchip_azure_iot.bin.

  5. Suchen Sie im Datei-Explorer nach dem MXCHIP-DevKit-Gerät, das mit Ihrem Computer verbunden wurde. Das Gerät wird auf Ihrem System als Laufwerk mit der Bezeichnung AZ3166 angezeigt.

  6. Fügen Sie die Binärdatei in den Stammordner des MXCHIP-DevKit ein. Der Flashvorgang wird automatisch gestartet und ist nach wenigen Sekunden abgeschlossen.

    Hinweis

    Während des Flashvorgangs leuchtet auf dem MXCHIP-DevKit ein grüne LED auf.

Bestätigen der Details zur Geräteverbindung

Sie können die Termite-App verwenden, um die Kommunikation zu überwachen und sich zu vergewissern, dass Ihr Gerät richtig eingerichtet wurde.

  1. Starten Sie Termite.

    Tipp

    Falls Sie für Termite keine Verbindung mit Ihrem DevKit herstellen können, sollten Sie den ST-LINK-Treiber installieren und es anschließend erneut versuchen. Weitere Schritte finden Sie auf der Seite zur Problembehandlung.

  2. Wählen Sie Settingsaus.

  3. Überprüfen Sie im Dialogfeld Serial port settings (Einstellungen für den seriellen Anschluss) die folgenden Einstellungen, und ändern Sie sie bei Bedarf:

    • Baud rate (Baudrate): 115.200
    • Port (Anschluss): Der Anschluss, an dem Ihr MXCHIP-DevKit angeschlossen ist. Falls die Dropdownliste mehrere Anschlussoptionen enthält, können Sie hier den richtigen Anschluss auswählen. Öffnen Sie den Geräte-Manager von Windows, und ermitteln Sie unter Anschlüsse, welcher Anschluss verwendet wird.

    Screenshot: Einstellungen für serielle Anschlüsse in der Termite-App

  4. Wählen Sie „OK“ aus.

  5. Drücken Sie an Ihrem Gerät die Taste Reset. Die Taste ist auf dem Gerät entsprechend beschriftet und befindet sich in der Nähe des Micro-USB-Anschlusses.

  6. Überprüfen Sie in der Termite-App die folgenden Prüfpunktwerte, um sich zu vergewissern, dass das Gerät initialisiert und mit Azure IoT verbunden wurde.

     Starting Azure thread
    
    
     Initializing WiFi
         MAC address: ******************
     SUCCESS: WiFi initialized
    
     Connecting WiFi
         Connecting to SSID 'iot'
         Attempt 1...
     SUCCESS: WiFi connected
    
     Initializing DHCP
         IP address: 192.168.0.49
         Mask: 255.255.255.0
         Gateway: 192.168.0.1
     SUCCESS: DHCP initialized
    
     Initializing DNS client
         DNS address: 192.168.0.1
     SUCCESS: DNS client initialized
    
     Initializing SNTP time sync
         SNTP server 0.pool.ntp.org
         SNTP time update: Jan 4, 2023 22:57:32.658 UTC
     SUCCESS: SNTP initialized
    
     Initializing Azure IoT Hub client
         Hub hostname: ***.azure-devices.net
         Device id: mydevice
         Model id: dtmi:eclipsethreadx:devkit:gsgmxchip;2
     SUCCESS: Connected to IoT Hub
    
     Receive properties: {"desired":{"$version":1},"reported":{"deviceInformation":{"__t":"c","manufacturer":"MXCHIP","model":"AZ3166","swVersion":"1.0.0","osName":"Eclipse ThreadX","processorArchitecture":"Arm Cortex M4","processorManufacturer":"STMicroelectronics","totalStorage":1024,"totalMemory":128},"ledState":false,"telemetryInterval":{"ac":200,"av":1,"value":10},"$version":4}}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=3{"deviceInformation":{"__t":"c","manufacturer":"MXCHIP","model":"AZ3166","swVersion":"1.0.0","osName":"Eclipse ThreadX","processorArchitecture":"Arm Cortex M4","processorManufacturer":"STMicroelectronics","totalStorage":1024,"totalMemory":128}}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=5{"ledState":false}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=7{"telemetryInterval":{"ac":200,"av":1,"value":10}}
    
     Starting Main loop
     Telemetry message sent: {"humidity":31.01,"temperature":25.62,"pressure":927.3}.
     Telemetry message sent: {"magnetometerX":177,"magnetometerY":-36,"magnetometerZ":-346.5}.
     Telemetry message sent: {"accelerometerX":-22.5,"accelerometerY":0.54,"accelerometerZ":1049.01}.
     Telemetry message sent: {"gyroscopeX":0,"gyroscopeY":0,"gyroscopeZ":0}.
    

Lassen Sie Termite geöffnet, damit Sie die Geräteausgabe während der folgenden Schritte verfolgen können.

Anzeigen von Geräteeigenschaften

Mithilfe von Azure IoT Explorer können Sie die Eigenschaften Ihrer Geräte anzeigen und verwalten. In diesem und den folgenden Abschnitten verwenden Sie die in IoT Explorer angezeigten Plug & Play-Funktionen, um das MXCHIP-DevKit zu verwalten und mit ihm zu interagieren. Diese Funktionen basieren auf dem Gerätemodell, das für das MXCHIP-DevKit im öffentlichen Modellrepository veröffentlicht wurde. Sie haben IoT Explorer so konfiguriert, dass dieses Repository weiter oben in diesem Tutorial nach Gerätemodellen durchsucht wird. Sie können zahlreiche Aktionen ohne Plug & Play ausführen, indem Sie in IoT Explorer im linken Menü Ihres Gerätebereichs die entsprechende Aktion auswählen. Die Verwendung von Plug & Play bietet jedoch oft eine erweiterte Funktionalität. IoT Explorer kann das von einem Plug & Play-Gerät angegebene Gerätemodell lesen und spezifische Informationen für dieses Gerät anzeigen.

So greifen Sie in IoT Explorer auf IoT Plug & Play-Komponenten für das Gerät zu:

  1. Wählen Sie in der Startansicht von IoT Explorer die Option IoT-Hubs und dann Geräte in diesem Hub anzeigen aus.

  2. Wählen Sie Ihr Gerät aus.

  3. Wählen Sie IoT Plug & Play-Komponenten aus.

  4. Wählen Sie Standardkomponente aus. IoT Explorer zeigt die IoT Plug & Play-Komponenten an, die auf Ihrem Gerät implementiert wurden.

    Screenshot: MXCHIP DevKit-Standardkomponente in IoT Explorer

  5. Zeigen Sie auf der Registerkarte Schnittstelle in der Beschreibung des Gerätemodells den JSON-Inhalt an. Der JSON-Code enthält Konfigurationsdetails für die einzelnen IoT Plug & Play-Komponenten im Gerätemodell.

    Jede Registerkarte in IoT Explorer entspricht einer der IoT Plug & Play-Komponenten im Gerätemodell.

    Registerkarte type Name BESCHREIBUNG
    Interface Schnittstelle MXCHIP Getting Started Guide Beispielmodell für das MXCHIP-DevKit
    Eigenschaften (schreibgeschützt) Eigenschaft ledState Der aktuelle Status der LED
    Eigenschaften (schreibbar) Eigenschaft telemetryInterval Das Intervall, in dem das Gerät Telemetriedaten sendet
    Befehle Befehl setLedState Zum Ein- oder Ausschalten der LED

So zeigen Sie Geräteeigenschaften mithilfe von Azure IoT Explorer an:

  1. Wählen Sie die Registerkarte Eigenschaften (schreibbar) aus. Sie zeigt das Intervall an, in dem Telemetriedaten gesendet werden.

  2. Ändern Sie den Wert für telemetryInterval in 5, und wählen Sie Gewünschten Wert aktualisieren aus. Ihr Gerät verwendet dieses Intervall jetzt zum Senden von Telemetriedaten.

    Screenshot: Festlegen des Telemetrieintervalls für MXCHIP-DevKit in IoT Explorer

  3. IoT Explorer antwortet mit einer Benachrichtigung. Sie können das Update auch in Termite beobachten.

  4. Legen Sie das Telemetrieintervall wieder auf „10“ fest.

So verwenden Sie Azure CLI zum Anzeigen von Geräteeigenschaften:

  1. Führen Sie den Befehl az iot hub device-twin show aus.

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Überprüfen Sie in der Konsolenausgabe die Eigenschaften für Ihr Gerät.

Anzeigen von Telemetriedaten

Bei Azure IoT Explorer können Sie den Fluss der Telemetriedaten von Ihrem Gerät in die Cloud anzeigen. Optional können Sie dieselbe Aufgabe über die Azure CLI ausführen.

So zeigen Sie Telemetriedaten in Azure IoT Explorer an:

  1. Wählen Sie in IoT Explorer im Bereich IoT Plug & Play-Komponenten (Standardkomponente) für Ihr Gerät die Registerkarte Telemetriedaten aus. Bestätigen Sie, dass für Use built-in event hub (Integrierten Event Hub verwenden) der Wert Yes (Ja) festgelegt wurde.

  2. Wählen Sie Starten aus.

  3. Zeigen Sie die Telemetriedaten an, während das Gerät Nachrichten in die Cloud sendet.

    Screenshot: Gerätetelemetrie in IoT Central

    Hinweis

    Sie können die Telemetriedaten auch auf dem Gerät überwachen, indem Sie die Termite-App verwenden.

  4. Aktivieren Sie das Kontrollkästchen Modellierte Ereignisse anzeigen, um die Ereignisse in dem durch das Gerätemodell festgelegten Datenformat anzuzeigen.

    Screenshot: Modellierte Telemetrieereignisse in IoT Explorer

  5. Wählen Sie Beenden aus, um den Empfang von Ereignissen zu beenden.

So verwenden Sie Azure CLI zum Anzeigen von Gerätetelemetriedaten:

  1. Führen Sie den Befehl az iot hub monitor-events aus. Verwenden Sie die Namen, die Sie zuvor in Azure IoT für Ihr Gerät und Ihren IoT-Hub erstellt haben.

     az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Zeigen Sie die JSON-Ausgabe in der Konsole an.

     {
         "event": {
             "origin": "mydevice",
             "module": "",
             "interface": "dtmi:eclipsethreadx:devkit:gsgmxchip;1",
             "component": "",
             "payload": "{\"humidity\":41.21,\"temperature\":31.37,\"pressure\":1005.18}"
         }
     }
    
  3. Wählen Sie STRG+C aus, um die Überwachung zu beenden.

Aufrufen einer direkten Methode auf dem Gerät

Sie können auch mithilfe von Azure IoT Explorer eine direkte Methode aufrufen, die Sie auf Ihrem Gerät implementiert haben. Direkte Methoden haben einen Namen und können optional über JSON-Nutzdaten, eine konfigurierbare Verbindung und ein Methodentimeout verfügen. In diesem Abschnitt rufen Sie eine Methode auf, die eine LED ein- oder ausschaltet. Optional können Sie dieselbe Aufgabe über die Azure CLI ausführen.

So rufen Sie eine Methode in Azure IoT Explorer auf:

  1. Wählen Sie in IoT Explorer im Bereich IoT Plug & Play-Komponenten (Standardkomponente) für Ihr Gerät die Registerkarte Befehle aus.

  2. Legen Sie beim Befehl setLedState den Status auf true fest.

  3. Wählen Sie Befehl senden aus. Im IoT Explorer sollte eine Benachrichtigung angezeigt werden, und die gelbe Benutzer-LED auf dem Gerät sollte eingeschaltet werden.

    Screenshot: Aufrufen der setLedState-Methode in IoT Explorer

  4. Legen Sie den Status auf false fest, und wählen Sie Befehl senden aus. Die gelbe Benutzer-LED sollte ausgeschaltet werden.

  5. Optional können Sie die Ausgabe in Termite anzeigen, um den Status der Methoden zu überwachen.

So verwenden Sie Azure CLI zum Aufrufen einer Methode:

  1. Führen Sie den Befehl az iot hub invoke-device-method aus, und geben Sie den Methodennamen und die Nutzdaten an. Bei dieser Methode wird durch das Festlegen von method-payload auf true die LED eingeschaltet, und durch das Festlegen auf false wird sie ausgeschaltet.

    az iot hub invoke-device-method --device-id mydevice --method-name setLedState --method-payload true --hub-name {YourIoTHubName}
    

    Die CLI-Konsole zeigt den Status Ihres Methodenaufrufs auf dem Gerät an, wobei 204 Erfolg bedeutet.

    {
      "payload": {},
      "status": 200
    }
    
  2. Überprüfen Sie Ihr Gerät, um den LED-Zustand zu bestätigen.

  3. Zeigen Sie das Termite-Terminal an, um die Ausgabemeldungen zu bestätigen:

     Receive direct method: setLedState
         Payload: true
     LED is turned ON
     Device twin property sent: {"ledState":true}
    

Problembehandlung und Debuggen

Wenn beim Erstellen des Gerätecodes, beim Einspielen per Flashvorgang auf dem Gerät oder beim Herstellen einer Verbindung Probleme auftreten, lesen Sie Problembehandlung.

Informationen zum Debuggen der Anwendung finden Sie unter Debuggen mit Visual Studio Code.

Bereinigen von Ressourcen

Wenn Sie die in diesem Schnellstart erstellten Azure-Ressourcen nicht mehr benötigen, können Sie die Ressourcengruppe und alle zugehörigen Ressourcen über die Azure CLI löschen.

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. Die von Ihnen erstellte Ressourcengruppe, der IoT-Hub und die Geräteregistrierung werden mithilfe dieses Befehls 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 Tutorial haben Sie ein benutzerdefiniertes Image mit Eclipse ThreadX-Beispielcode erstellt und das Image anschließend per Flashvorgang auf dem MXCHIP-DevKit-Gerät eingespielt. Außerdem haben Sie die Azure CLI und/oder IoT Explorer verwendet, um Azure-Ressourcen zu erstellen, das MXCHIP DevKit auf sichere Weise mit Azure zu verbinden, die Telemetriedaten anzuzeigen und Nachrichten zu senden.

Als Nächstes erfahren Sie im folgenden Artikel mehr über eingebettete Entwicklungsoptionen.

Mit Eclipse ThreadX werden für OEMs Komponenten bereitgestellt, mit denen diese die Kommunikation schützen, Code erstellen und die Datenisolation sicherstellen können, indem sie die zugrunde liegenden MCU/MPU-Mechanismen für den Hardwareschutz verwenden. Letztendlich ist aber jeder OEM selbst dafür verantwortlich sicherzustellen, dass sein Gerät die sich ständig weiter entwickelnden Sicherheitsanforderungen erfüllt.