Udostępnij za pośrednictwem


Rozwiązywanie problemów z samouczkami dotyczącym osadzonego urządzenia Eclipse ThreadX

W miarę śledzenia samouczków dotyczących urządzeń osadzonych Eclipse ThreadX mogą wystąpić niektóre typowe problemy. Ogólnie rzecz biorąc, problemy mogą wystąpić w dowolnym z następujących źródeł:

  • Środowisko. Maszyna, oprogramowanie lub konfiguracja sieci i połączenie.
  • Zasoby usługi Azure IoT. Centrum IoT i urządzenie utworzone w celu nawiązania połączenia z usługą Azure IoT.
  • Urządzenie. Tablica fizyczna i jej konfiguracja.

Ten artykuł zawiera sugerowane rozwiązania najczęstszych problemów, które mogą wystąpić podczas wykonywania samouczków.

Wymagania wstępne

Wszystkie kroki rozwiązywania problemów wymagają wykonania następujących wymagań wstępnych dotyczących samouczka, w którym pracujesz:

  • Na potrzeby tego samouczka zainstalowano lub pobrano wszystkie wymagania wstępne i narzędzia programowe.
  • Utworzono centrum Azure IoT Hub lub aplikację usługi Azure IoT Central i zarejestrowano urządzenie zgodnie z instrukcjami w samouczku.
  • Utworzono obraz dla urządzenia zgodnie z instrukcjami w samouczku.

Problem: Katalog źródłowy nie zawiera pliku CMakeLists.txt

opis

Ten problem może wystąpić podczas próby skompilowania projektu. Jest to wynik niepoprawnego klonowania projektu z usługi GitHub. Projekt zawiera wiele modułów podrzędnych, które nie zostaną sklonowane domyślnie, chyba że jest używana flaga --rekursywna .

Rozwiązanie

  • Podczas klonowania repozytorium przy użyciu narzędzia Git upewnij się, że opcja --rekursywna jest obecna.

Problem: Kompilacja kończy się niepowodzeniem

opis

Problem może wystąpić, ponieważ ścieżka do pliku obiektu przekracza domyślną maksymalną długość ścieżki w systemie Windows. Sprawdź dane wyjściowe kompilacji pod kątem komunikatu podobnego do następującego przykładu:

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

Rozwiązanie

Aby rozwiązać ten błąd, możesz wypróbować jedną z następujących opcji:

  • Sklonuj repozytorium do katalogu z krótszą ścieżką i spróbuj ponownie.
  • Postępuj zgodnie z instrukcjami w temacie Ograniczenie maksymalnej długości ścieżki, aby włączyć długie ścieżki w systemach Windows 11 i Windows 10 w wersji 1607 lub nowszej.

Problem: Urządzenie nie może nawiązać połączenia z centrum IoT Hub

opis

Problem może wystąpić po utworzeniu zasobów platformy Azure i flashowane urządzenie. Podczas próby połączenia nowo flashowanego urządzenia z usługą Azure IoT zostanie wyświetlony komunikat konsoli podobny do następującego przykładu:

Unable to resolve DNS for MQTT Server

Rozwiązanie

  • Sprawdź pisownię i przypadek wartości konfiguracji wprowadzonych dla konfiguracji IoT w pliku azure_config.h. Wartości niektórych atrybutów zasobów IoT, takich jak deviceID i primaryKey, są wrażliwe na wielkość liter.

Problem: Nie można nawiązać połączenia z siecią Wi-Fi

opis

Po flash urządzenia korzystającego z połączenia sieci Wi-Fi zostanie wyświetlony komunikat o błędzie informujący, że sieć Wi-Fi nie może nawiązać połączenia.

Rozwiązanie

  • Sprawdź częstotliwość i ustawienia sieci Wi-Fi. Urządzenia używane w samouczkach dotyczących urządzeń osadzonych używają 2,4 GHz. Upewnij się, że router sieci Wi-Fi jest skonfigurowany do obsługi sieci 2,4 GHz.
  • Sprawdź tryb sieci Wi-Fi. Upewnij się, jakie ustawienie zostało użyte dla stałej WIFI_MODE w pliku azure_config.h . Sprawdź ustawienia zabezpieczeń lub uwierzytelniania sieci Wi-Fi, aby potwierdzić, że tryb zabezpieczeń sieci Wi-Fi jest zgodny z tym, co masz w pliku konfiguracji.

Problem: tablicy kończy się niepowodzeniem

opis

Nie można ukończyć procesu urządzenia. Następujące objawy wskazują, że jest niekompletne:

  • Skompilowany plik obrazu *.bin nie kopiuje do urządzenia.
  • Narzędzie używane do flashowania urządzenia wyświetla ostrzeżenie lub błąd.
  • Narzędzie używane do flashowania urządzenia nie mówi, że programowanie zostało ukończone pomyślnie.

Rozwiązanie

  • Upewnij się, że masz połączenie z poprawnym portem USB na urządzeniu. Niektóre urządzenia mają więcej niż jeden port.
  • Spróbuj użyć innego Micro USB. Niektóre urządzenia i są niezgodne.
  • Spróbuj nawiązać połączenie z innym portem USB na komputerze. Port USB może zostać odłączony wewnętrznie, wyłączony w oprogramowaniu lub tymczasowo w stanie bezużytecznym.
  • Ponownie uruchom komputer.

Problem: Urządzenie nie może nawiązać połączenia z portem

opis

Po flashowania urządzenia i połączeniu go z komputerem uzyskasz dane wyjściowe podobne do następującego komunikatu w oprogramowaniu terminalowym:

Failed to initialize the port.
Please verify the COM port settings.

Rozwiązanie

  • W ustawieniach oprogramowania terminalowego sprawdź ustawienie Port , aby potwierdzić, że wybrano prawidłowy port. Jeśli jest wyświetlanych wiele portów, możesz otworzyć Menedżer urządzeń systemu Windows i wybrać węzeł Porty, aby znaleźć poprawny port dla połączonego urządzenia.

Problem: Dane wyjściowe terminalu zawierają tekst z garbledem

opis

Po pomyślnym uruchomieniu urządzenia i połączeniu go z komputerem w oprogramowaniu terminalowym zobaczysz zwieńczone dane wyjściowe tekstu.

Rozwiązanie

  • W ustawieniach oprogramowania terminalowego upewnij się, że ustawienie szybkości transmisji wynosi 115 200.

Problem: Dane wyjściowe terminalu nie zawierają tekstu

opis

Po pomyślnym uruchomieniu urządzenia i połączeniu go z komputerem nie widzisz żadnych danych wyjściowych w oprogramowaniu terminalowym.

Rozwiązanie

  • Upewnij się, że ustawienia w oprogramowaniu terminalowym są zgodne z ustawieniami w samouczku.
  • Uruchom ponownie oprogramowanie terminalowe.
  • Naciśnij przycisk Resetuj na urządzeniu.
  • Upewnij się, że USB jest prawidłowo podłączony.

Problem: Komunikacja między urządzeniem a usługą IoT Hub kończy się niepowodzeniem

opis

Po flashowania urządzenia i połączeniu go z komputerem uzyskasz dane wyjściowe podobne do następującego komunikatu w oknie terminalu:

Failed to publish temperature

Rozwiązanie

  • Upewnij się, że warstwa Cennik i skala jest jedną z warstwy Bezpłatna lub Standardowa. Podstawowa nie jest obsługiwana , ponieważ nie obsługuje komunikacji między chmurą i bliźniaczą reprezentacją urządzenia.

Problem: Dodatkowe komunikaty wysyłane podczas nawiązywania połączenia z usługą IoT Central lub IoT Hub

opis

Ponieważ moduł Defender for IoT jest domyślnie włączony z poziomu urządzenia, w danych wyjściowych mogą być wyświetlane dodatkowe komunikaty.

Rozwiązanie

  • Aby go wyłączyć, zdefiniuj NX_AZURE_DISABLE_IOT_SECURITY_MODULE w pliku nx_port.hnagłówka NetX Duo .

Następne kroki

Jeśli po zapoznaniu się z problemami w tym artykule nadal nie możesz monitorować urządzenia w terminalu lub nawiązać połączenia z usługą Azure IoT, może wystąpić problem ze sprzętem lub konfiguracją fizyczną urządzenia. Aby znaleźć dokumentację i opcje pomocy technicznej, zobacz stronę producenta urządzenia.