Tutorial: Verwenden von Eclipse ThreadX zum Verbinden eines STMicroelectronics B-L475E-IOT01A Discovery Kit mit IoT Hub

Code durchsuchen

In diesem Tutorial stellen Sie mithilfe von Eclipse ThreadX eine Verbindung zwischen dem STMicroelectronics B-L475E-IOT01A Discovery Kit (ab jetzt als „STM-DevKit“ bezeichnet) und Azure IoT her.

Sie führen die folgenden Aufgaben durch:

  • Installieren von eingebetteten Entwicklungstools für die Programmierung des STM-DevKit in C
  • Erstellen eines Images und Einspielen auf das STM-DevKit
  • Verwenden der Azure CLI zum Erstellen und Verwalten eines Azure IoT-Hubs, mit dem das STM-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

    • B-L475E-IOT01A (STM DevKit)
    • WLAN, 2,4 GHz
    • Kabel: USB 2.0 A-Stecker zu Micro-USB-Stecker

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äte

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 STM-DevKit mit Azure bearbeiten Sie eine Konfigurationsdatei mit WLAN- und Azure IoT-Einstellungen, erstellen das Image neu und spielen das Image per Flashvorgang auf dem Gerät ein.

Hinzufügen einer Konfiguration

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

    getting-started\STMicroelectronics\B-L475E-IOT01A\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 Wert für „Iot hub hostName“ }
    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 die Batchdatei rebuild.bat unter dem folgenden Pfad aus, um das Image zu erstellen:

    getting-started\STMicroelectronics\B-L475E-IOT01A\tools\rebuild.bat

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

    getting-started\STMicroelectronics\B-L475E-IOT01A\build\app\stm32l475_azure_iot.bin

Einspielen des Images

  1. Suchen Sie am STM-DevKit-MPU nach der Taste Reset (Zurücksetzen) (1), nach dem Micro-USB-Anschluss (2) mit der Bezeichnung USB STLink und nach der Teilenummer des Boards (3). Diese Elemente werden Sie in den nächsten Schritten benötigen. Sie sind in der folgenden Abbildung hervorgehoben:

    Abbildung: Wichtige Komponenten des STM-DevKit-Boards

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

    Hinweis

    Ausführliche Setupinformationen zum STM DevKit finden Sie in der Anleitung auf der Verpackung oder unter Ressourcen zu B-L475E-IOT01A.

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

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

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

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

    Hinweis

    Während des Flashvorgangs leuchtet eine LED am STM DevKit im Wechsel rot und grün 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 STM-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 der Einstellungen für den seriellen Anschluss in der Termite-App.

  4. Wählen Sie „OK“ aus.

  5. Drücken Sie an Ihrem Gerät die Taste Reset. Die Schaltfläche ist schwarz und auf dem Gerät gekennzeichnet.

  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
        Module: ISM43362-M3G-L44-SPI
        MAC address: ****************
        Firmware revision: C3.5.2.5.STM
    SUCCESS: WiFi initialized
    
    Connecting WiFi
        Connecting to SSID 'iot'
        Attempt 1...
    SUCCESS: WiFi connected
    
    Initializing DHCP
        IP address: 192.168.0.35
        Mask: 255.255.255.0
        Gateway: 192.168.0.1
    SUCCESS: DHCP initialized
    
    Initializing DNS client
        DNS address 1: ************
        DNS address 2: ************
    SUCCESS: DNS client initialized
    
    Initializing SNTP time sync
        SNTP server 0.pool.ntp.org
        SNTP time update: Nov 18, 2022 0:56:56.127 UTC
    SUCCESS: SNTP initialized
    
    Initializing Azure IoT Hub client
        Hub hostname: *******.azure-devices.net
        Device id: mydevice
        Model id: dtmi:eclipsethreadx:devkit:gsgstml4s5;2
    SUCCESS: Connected to IoT Hub
    

    Wichtig

    Wenn bei der Initialisierung des DNS-Clients ein Fehler auftritt und Sie darüber informiert werden, das die WLAN-Firmware veraltet ist, müssen Sie die Firmware des WLAN-Moduls aktualisieren. Laden Sie das Firmwareupdate des WLAN-Moduls Inventek ISM 43362 von STMicroelectronics herunter, und installieren Sie es. Drücken Sie anschließend die Taste Reset (Zurücksetzen) am Gerät, um die Verbindung erneut zu überprüfen, und fahren Sie mit diesem Tutorial fort.

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 den folgenden Abschnitten verwenden Sie die im IoT-Explorer angezeigten Plug & Play-Funktionen, um das STM-DevKit zu verwalten und mit ihm zu interagieren. Diese Funktionen basieren auf dem Gerätemodell, das für das STM-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. In vielen Fällen können Sie dieselbe Aktion ohne Plug & Play ausführen, indem Sie IoT Explorer-Menüoptionen 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: STM-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.

    Hinweis

    Der Name und die Beschreibung für die Standardkomponente beziehen sich auf das STM L4S5-Board. Das Plug & Play-Gerätemodell STM L4S5 wird in diesem Tutorial auch für das STM L475E-Board verwendet.

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

    Registerkarte type Name BESCHREIBUNG
    Interface Schnittstelle STM Getting Started Guide Beispielmodell für das STM-DevKit
    Eigenschaften (schreibgeschützt) Eigenschaft ledState Gibt an, ob die LED ein- oder ausgeschaltet ist.
    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 (mit Schreibschutz) aus. Es gibt eine einzelne schreibgeschützte Eigenschaft, die angibt, ob die LED ein- oder ausgeschaltet ist.

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

  3. Ä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 STM-DevKit in IoT Explorer

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

  5. 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 Explorer

    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. In IoT Explorer sollte eine Benachrichtigung angezeigt werden, und die grüne LED auf dem Gerät sollte eingeschaltet sein.

    Screenshot: Aufrufen der setLedState-Methode in IoT Explorer

  4. Legen Sie den Status auf false fest, und wählen Sie Befehl senden aus. Die 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:

    Received command: setLedState
        Payload: true
        LED is turned ON
    Sending property: $iothub/twin/PATCH/properties/reported/?$rid=15{"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ächster Schritt

In diesem Tutorial haben Sie ein benutzerdefiniertes Image mit Eclipse ThreadX-Beispielcode erstellt und das Image anschließend per Flashvorgang auf dem STM-DevKit-Gerät eingespielt. Sie haben das STM DevKit mit Azure verbunden und Aufgaben wie das Anzeigen von Telemetriedaten und das Aufrufen einer Methode auf dem Gerät ausgeführt.

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

Wichtig

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.