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
iprimaryKey
, 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 plikunx_port.h
nagłó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.