Problembehandlung bei den eingebetteten Eclipse ThreadX-Gerätetutorials
Wenn Sie den Eclipse ThreadX-Tutorials für eingebettete Geräte folgen, treten möglicherweise einige häufige Probleme auf. Im Allgemeinen sind die Probleme auf folgende Quellen zurückzuführen:
- Ihre Umgebung. Ihr Computer, Ihre Software oder die Netzwerkeinrichtung und -verbindung.
- Ihre Azure IoT-Ressourcen. Der IoT-Hub und das Gerät, das Sie zum Herstellen einer Verbindung mit Azure IoT erstellt haben.
- Ihr Gerät. Die Platine und ihre Konfiguration.
Dieser Artikel enthält Lösungsvorschläge für die am häufigsten auftretenden Probleme beim Abschließen des Tutorials.
Voraussetzungen
Alle Schritte zur Problembehandlung erfordern, dass Sie die folgenden Voraussetzungen für das verwendete Tutorial erfüllt haben:
- Sie haben alle erforderlichen Komponenten und Softwaretools für das Tutorial installiert oder abgerufen.
- Sie haben gemäß dem Tutorial eine Azure IoT Hub- oder Azure IoT Central-Anwendung erstellt und ein Gerät registriert.
- Sie haben gemäß dem Tutorial ein Image für das Gerät erstellt.
Problem: Datei „CMakeLists.txt“ ist im Quellverzeichnis nicht enthalten
Beschreibung
Dieses Problem kann beim Erstellen des Projekts auftreten. Es ist darauf zurückzuführen, dass das Projekt nicht ordnungsgemäß aus GitHub geklont wurde. Das Projekt enthält mehrere Untermodule, die standardmäßig nur dann geklont werden, wenn das Flag --recursive verwendet wird.
Lösung
- Wenn Sie das Repository mithilfe von Git klonen, vergewissern Sie sich, dass die Option --recursive vorhanden ist.
Problem: Fehler beim Build
Beschreibung
Das Problem kann auftreten, weil der Pfad zu einer Objektdatei die standardmäßig maximal zulässige Pfadlänge in Windows überschreitet. Überprüfen Sie die Buildausgabe auf eine Meldung ähnlich wie im folgenden Beispiel:
-- Configuring done
CMake Warning in C:/embedded tutorials/areallyreallyreallylongpath/getting-started/core/lib/netxduo/addons/azure_iot/azure_iot_security_module/iot-security-module-core/CMakeLists.txt:
The object file directory
C:/embedded tutorials/areallyreallyreallylongpath/getting-started/NXP/MIMXRT1060-EVK/build/lib/netxduo/addons/azure_iot/azure_iot_security_module/iot-security-module-core/CMakeFiles/asc_security_core.dir/./
has 208 characters. The maximum full path to an object file is 250
characters (see CMAKE_OBJECT_PATH_MAX). Object file
src/serializer/extensions/custom_builder_allocator.c.obj
cannot be safely placed under this directory. The build may not work
correctly.
-- Generating done
Lösung
Versuchen Sie mit einer der folgenden Optionen, das Problem zu beheben:
- Klonen Sie das Repository in ein Verzeichnis mit einem kürzeren Pfad, und versuchen Sie es noch mal.
- Folgen Sie den Anleitungen unter Einschränkung der maximal zulässigen Pfadlänge, um lange Pfade in Windows 11 und Windows 10, Version 1607 und höher, zu aktivieren.
Problem: Gerät kann keine Verbindung mit IoT Hub herstellen
Beschreibung
Das Problem kann nach dem Erstellen von Azure-Ressourcen und dem Flashen des Geräts auftreten. Wenn Sie versuchen, Ihr soeben geflashtes Gerät mit Azure IoT zu verbinden, wird eine Konsolenmeldung wie im folgenden Beispiel angezeigt:
Unable to resolve DNS for MQTT Server
Lösung
- Überprüfen Sie in der Datei azure_config.h die Schreibweise und die Groß-/Kleinschreibung der Konfigurationswerte, die Sie für Ihre IoT-Konfiguration eingegeben haben. Bei den Werten für einige IoT-Ressourcenattribute wie
deviceID
undprimaryKey
ist die Groß-/Kleinschreibung relevant.
Problem: Keine WLAN-Verbindung möglich
Beschreibung
Nachdem Sie ein Gerät geflasht haben, das eine WLAN-Verbindung nutzt, wird eine Fehlermeldung angezeigt, dass WLAN keine Verbindung herstellen kann.
Lösung
- Überprüfen Sie die WLAN-Netzwerkfrequenz und die Einstellungen. Die in das Tutorial für eingebettete Geräte verwendeten Geräte verwenden grundsätzlich 2,4 GHz. Vergewissern Sie sich, dass Ihr WLAN-Router für die Unterstützung eines 2,4-GHz-Netzwerks konfiguriert ist.
- Überprüfen Sie den WLAN-Modus. Überprüfen Sie, welche Einstellung in der Datei azure_config.h für die WIFI_MODE-Konstante verwendet wird. Überprüfen Sie Ihre Einstellungen für WLAN-Netzwerksicherheit oder Authentifizierung, um sicherzustellen, dass der WLAN-Sicherheitsmodus mit dem in der Konfigurationsdatei enthaltenen Modus übereinstimmt.
Problem: Fehler beim Flashen der Platine
Beschreibung
Der Vorgang zum Flashen Ihres Geräts kann nicht abgeschlossen werden. Die folgenden Symptome weisen darauf hin, dass das Flashen unvollständig ist:
- Die von Ihnen erstellte BIN-Imagedatei wird nicht auf das Gerät kopiert.
- Das Hilfsprogramm, das Sie zum Flashen des Geräts verwenden, gibt eine Warnung oder einen Fehler aus.
- Das Hilfsprogramm, das Sie zum Flashen des Geräts verwenden, zeigt keine Meldung an, dass die Programmierung erfolgreich abgeschlossen wurde.
Lösung
- Stellen Sie sicher, dass Sie mit dem richtigen USB-Anschluss des Geräts verbunden sind. Einige Geräte verfügen über mehrere Anschlüsse.
- Verwenden Sie ein anderes Micro-USB-Kabel. Einige Geräte und Kabel sind nicht kompatibel.
- Verwenden Sie einen anderen USB-Anschluss an Ihrem Computer für die Verbindung. Ein USB-Anschluss kann intern getrennt oder in der Software deaktiviert sein oder sich vorübergehend in einem nicht verwendbaren Zustand befinden.
- Starten Sie den Computer neu.
Problem: Gerät kann keine Verbindung mit Port herstellen
Beschreibung
Nachdem Sie Ihr Gerät geflasht und mit Ihrem Computer verbunden haben, erhalten Sie in Ihrer Terminalsoftware eine Ausgabe wie die folgende Meldung:
Failed to initialize the port.
Please verify the COM port settings.
Lösung
- Überprüfen Sie in den Einstellungen für Ihre Terminalsoftware die Einstellung Port, um sicherzustellen, dass der richtige Port ausgewählt ist. Wenn mehrere Ports angezeigt werden, können Sie den Windows-Geräte-Manager öffnen und den Knoten Ports auswählen, um den richtigen Port für Ihr verbundenes Gerät zu suchen.
Problem: Terminalausgabe zeigt unleserlichen Text an
Beschreibung
Nachdem Sie Ihr Gerät erfolgreich geflasht und mit Ihrem Computer verbunden haben, wird in der Terminalsoftware eine unleserliche Textausgabe angezeigt.
Lösung
- Vergewissern Sie sich in den Einstellungen für Ihre Terminalsoftware, dass die Einstellung Baudrate auf 115.200 festgelegt ist.
Problem: Terminalausgabe zeigt keinen Text an
Beschreibung
Nachdem Sie Ihr Gerät erfolgreich geflasht und mit Ihrem Computer verbunden haben, wird in der Terminalsoftware keine Ausgabe angezeigt.
Lösung
- Vergewissern Sie sich, dass die Einstellungen in Ihrer Terminalsoftware mit den Einstellungen im Tutorial übereinstimmen.
- Starten Sie Ihre Terminalsoftware neu.
- Drücken Sie an Ihrem Gerät die Rücksetztaste.
- Vergewissern Sie sich, dass Ihr USB-Kabel ordnungsgemäß angeschlossen ist.
Problem: Fehler bei der Kommunikation zwischen Gerät und IoT Hub
Beschreibung
Nachdem Sie Ihr Gerät geflasht und mit Ihrem Computer verbunden haben, erhalten Sie in Ihrem Terminalfenster eine Ausgabe wie die folgende Meldung:
Failed to publish temperature
Lösung
- Stellen Sie sicher, dass als Tarif und Skalierung entweder Free oder Standard vorliegt. Basic wird nicht unterstützt, weil dieser Tarif die Kommunikation von Cloud zum Gerät und die Gerätezwillingskommunikation nicht unterstützt.
Problem: Beim Herstellen einer Verbindung mit IoT Central oder IoT Hub werden zusätzliche Nachrichten gesendet
Beschreibung
Weil das Defender für IoT-Modul vom Geräteende aus standardmäßig aktiviert ist, beobachten Sie in der Ausgabe möglicherweise zusätzliche Nachrichten.
Lösung
- Zum Deaktivieren des Moduls definieren Sie
NX_AZURE_DISABLE_IOT_SECURITY_MODULE
in der NetX Duo-Headerdateinx_port.h
.
Nächste Schritte
Wenn Sie die in diesem Artikel geschilderten Probleme überprüft haben, aber Ihr Gerät noch immer nicht in einem Terminal überwachen oder mit Azure IoT verbinden können, liegt möglicherweise ein Problem mit der Hardware oder der physischen Konfiguration Ihres Geräts vor. Auf der Seite des Geräteherstellers finden Sie eine Dokumentation und Supportoptionen.