29 KiB
Průvodce řešením problémů
Tento průvodce vám pomůže vyřešit běžné problémy při práci s kurzem IoT pro začátečníky. Problémy jsou uspořádány podle kategorií pro snadnou orientaci.
Obsah
- Problémy s instalací
- Hardwarové problémy
- Problémy s připojením
- Problémy se senzory a akčními členy
- Problémy s vývojovým prostředím
- Problémy s výkonem
- Běžné chybové zprávy
- Jak získat pomoc
Problémy s instalací
Instalace Pythonu
Problém: Verze Pythonu je příliš stará
Chyba: Je potřeba Python 3.6 nebo vyšší
Řešení:
- Stáhněte si nejnovější Python 3 z python.org
- Při instalaci na Windows zaškrtněte „Add Python to PATH“
- Ověřte instalaci:
python3 --version
Problém: Více verzí Pythonu způsobuje konflikty
Příznaky: Spustí se špatná verze Pythonu, balíčky se instalují na špatné místo
Řešení:
- Windows: Použijte
py -3místopythonpro explicitní zavolání Pythonu 3 - macOS/Linux: Použijte
python3místopython - Vždy vytvářejte a používejte virtuální prostředí pro projekty
Problém: Příkaz pip nebyl nalezen
Chyba: 'pip' není rozpoznán jako interní nebo externí příkaz
Řešení:
- Zkuste místo
pippoužítpip3 - Nebo použijte
python -m pipnebopython3 -m pip - Ujistěte se, že je Python přidán do PATH (přeinstalujte Python a zaškrtněte tuto volbu)
VS Code a rozšíření
Problém: Rozšíření Pylance nefunguje
Příznaky: Nevidíte IntelliSense pro Python, dokončování kódu nebo kontrolu typů
Řešení:
- Otevřete Command Palette ve VS Code (
Ctrl+Shift+PneboCmd+Shift+P) - Spusťte „Python: Select Interpreter“
- Vyberte správný Python interpreter (virtuální prostředí, pokud používáte)
- Restartujte okno VS Code
Problém: VS Code nerozpoznává virtuální prostředí
Příznaky: Vybrán nesprávný Python interpreter
Řešení:
- Ujistěte se, že jste ve terminálu aktivovali virtuální prostředí
- Otevřete Command Palette a spusťte „Python: Select Interpreter“
- Vyberte interpreter z adresáře
.venv - Zkontrolujte, zda stavový řádek (vlevo dole) zobrazuje správnou verzi Pythonu
PlatformIO (Wio Terminal)
Problém: Instalace PlatformIO selhává
Chyba: Různé chyby během instalace PlatformIO
Řešení:
- Ujistěte se, že máte aktuální VS Code
- Nejprve nainstalujte rozšíření C/C++
- Po instalaci PlatformIO restartujte VS Code
- Zkontrolujte připojení k internetu (PlatformIO stahuje velké soubory)
Problém: PlatformIO nerozpozná desku
Příznaky: Nelze nahrát kód do Wio Terminal
Řešení:
- Vyzkoušejte jiný USB kabel (některé kabely slouží jen k nabíjení)
- Zkontrolujte Správce zařízení (Windows) nebo příkaz
ls /dev/tty*(macOS/Linux) - Nainstalujte nebo aktualizujte USB ovladače
- Zkuste jiné USB porty
- Posuňte dvakrát rychle vypínač napájení na Wio Terminalu pro vstup do bootloaderu
Problém: Chyby při kompilaci v PlatformIO
Chyba: fatal error: Arduino.h: No such file or directory
Řešení:
- Smažte složku
.piove svém projektu - Spusťte „PlatformIO: Rebuild“ z Command Palette
- Ujistěte se, že
platformio.iniobsahuje správnou konfiguraci desky:[env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino
Knihovny Grove
Problém: Import knihovny Grove na Raspberry Pi selhává
Chyba: ModuleNotFoundError: No module named 'grove'
Řešení:
- Přeinstalujte knihovny Grove:
cd ~ git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . - Pokud používáte virtuální prostředí, možná je potřeba knihovny nainstalovat globálně nebo zkopírovat
- Ověřte, zda je I2C povoleno:
sudo raspi-config nonint do_i2c 0
Problém: Senzor Grove není detekován
Chyba: IOError: [Errno 121] Remote I/O error
Řešení:
- Zkontrolujte fyzická připojení (ujistěte se, že je Grove kabel plně zasunut)
- Ujistěte se, že je senzor připojen do správného portu (analogový, digitální, I2C, UART)
- Spusťte
i2cdetect -y 1a ověřte, zda se zařízení zobrazuje na I2C sběrnici - Vyzkoušejte jiný Grove kabel
- Ujistěte se, že Grove Base Hat je správně usazený na pinech GPIO Raspberry Pi
Hardwarové problémy
Raspberry Pi
Problém: Raspberry Pi nenabootuje
Příznaky: Žádný obraz, NIC nesvítí nebo duhová obrazovka
Řešení:
- Zkontrolujte zdroj napájení: Použijte oficiální 5V 3A USB-C napájecí adaptér pro Pi 4
- Problémy se SD kartou:
- Naformátujte SD kartu a znovu nainstalujte Raspberry Pi OS
- Vyzkoušejte jinou SD kartu (doporučené značky)
- Ujistěte se, že je SD karta správně vložena
- Zkontrolujte HDMI připojení: Vyzkoušejte oba HDMI porty na Pi 4, použijte HDMI port blíže k napájení
Problém: Nelze se připojit přes SSH k Raspberry Pi
Příznaky: Připojení odmítnuto nebo časový limit
Řešení:
- Povolit SSH:
- Při vytváření SD karty s Raspberry Pi Imagerem nastavte SSH v rozšířených možnostech
- Nebo na bootovací oddíl vytvořte prázdný soubor
ssh(bez přípony)
- Najděte IP adresu Pi:
- Zkontrolujte připojená zařízení v routeru
- Použijte
ping raspberrypi.local(pokud mDNS funguje) - Použijte nástroje pro skenování sítě jako
nmapnebo Angry IP Scanner
- Zkontrolujte síť:
- Pi musí být ve stejné síti jako váš počítač
- Vyzkoušejte připojení přes ethernet místo WiFi
- Ověřte uživatelské jméno/heslo (výchozí: uživatel
pi, hesloraspberry)
Problém: Grove Base Hat není rozpoznán
Příznaky: Senzory nefungují, chyby I2C
Řešení:
- Ujistěte se, že Base Hat je správně nasazen na všechny piny GPIO
- Zkontrolujte, zda nejsou na Pi nebo Base Hat ohnuté piny
- Povolit I2C rozhraní:
sudo raspi-config nonint do_i2c 0 sudo reboot - Ověřte funkčnost I2C:
i2cdetect -y 1
Problém: Raspberry Pi běží pomalu
Příznaky: Zpoždění uživatelského rozhraní, pomalá odezva
Řešení:
- Zkontrolujte rychlost SD karty (doporučujeme třídu 10 nebo rychlejší, případně SSD přes USB)
- Uvolněte místo na disku: příkaz
df -h, smažte nepotřebné soubory - Snížit paměť GPU v
raspi-config, pokud nepoužíváte kameru nebo intenzivně displej - Zavřete zbytečné aplikace
- Zvažte upgrade na Pi 4 s více pamětí RAM, pokud používáte Pi 3 nebo starší
Wio Terminal
Problém: Obrazovka Wio Terminalu zůstává prázdná
Příznaky: Žádný výstup na displej po nahrání kódu
Řešení:
- Zkontrolujte, zda kód inicializuje displej (knihovna TFT_eSPI)
- Aktualizujte firmware Wio Terminalu z Seeed Wiki
- Přidejte inicializační kód displeje:
#include <TFT_eSPI.h> TFT_eSPI tft; tft.begin(); tft.fillScreen(TFT_BLACK); - Vyzkoušejte nahrát ukázkový sketch z PlatformIO pro test hardware
Problém: WiFi na Wio Terminalu nefunguje
Příznaky: Nelze se připojit k WiFi, chyby sítě
Řešení:
- Aktualizujte WiFi firmware: Postupujte podle návodu na aktualizaci WiFi firmware Wio Terminal
- Zkontrolujte přihlašovací údaje WiFi: Ujistěte se, že SSID a heslo jsou správné
- WiFi pásmo: Wio Terminal podporuje pouze 2,4 GHz WiFi (ne 5 GHz)
- Síla signálu: Přesuňte zařízení blíže k routeru
- Nastavení routeru: Některé podnikové/WPA-Enterprise sítě nemusí fungovat
Problém: Wio Terminal není rozpoznán počítačem
Příznaky: USB zařízení není detekováno
Řešení:
- Vyzkoušejte jiný USB kabel: Použijte datový kabel, ne pouze nabíjecí kabel
- Vstup do režimu bootloaderu: Posuňte vypínač napájení dolů dvakrát rychle
- Modrá LED by měla pulzovat, zařízení se objeví jako "Arduino" ve Správci zařízení
- Nainstalujte ovladače (Windows):
- Stáhněte a nainstalujte Seeed USB ovladač
- Vyzkoušejte jiný USB port: Vyhněte se USB hubům, použijte přímé připojení
- Aktualizujte ovladače USB systému
Problém: Senzory na Wio Terminalu nefungují
Příznaky: Grove senzory nečtou data
Řešení:
- Zkontrolujte připojení Grove kabelů
- Ujistěte se, že používáte správný Grove port (levý nebo pravý)
- Zahrňte správné knihovny pro senzor
- Zkontrolujte požadavky senzoru na napájení
- Otestujte senzor pomocí ukázkového kódu z knihovny
Virtuální zařízení (CounterFit)
Problém: Aplikace CounterFit se nespustí
Chyba: Různé chyby Pythonu při spuštění CounterFit
Řešení:
- Ujistěte se, že máte aktivované virtuální prostředí
- Nainstalujte nebo přeinstalujte CounterFit:
pip install CounterFit - Zkontrolujte, že port 5000 není již používán:
- Windows:
netstat -ano | findstr :5000 - macOS/Linux:
lsof -i :5000
- Windows:
- Ukončete proces, který port 5000 používá, nebo použijte jiný port:
counterfit --port 5001
Problém: Nelze se připojit ke CounterFit z kódu
Chyba: Připojení odmítnuto nebo vypršel časový limit
Řešení:
- Ověřte, že CounterFit běží: Otevřete prohlížeč na adrese
http://127.0.0.1:5000 - Zkontrolujte, zda URL připojení v kódu odpovídá adrese CounterFit
- Ujistěte se, že firewall neblokuje připojení
- Zkuste restartovat jak aplikaci CounterFit, tak váš kód
Problém: Senzory se nezobrazují v CounterFit
Příznaky: Vytvořené senzory se nezobrazují v uživatelském rozhraní CounterFit
Řešení:
- Vytvořte senzory v uživatelském rozhraní CounterFit před spuštěním kódu
- Aktualizujte stránku v prohlížeči
- Zkontrolujte, zda typ senzoru odpovídá tomu, co kód očekává
- Vymažte cache prohlížeče
Problémy s připojením
Připojení k WiFi
Problém: Zařízení se nemůže připojit k WiFi
Příznaky: Časový limit připojení, selhání autentifikace
Řešení:
- Zkontrolujte SSID a heslo: Ověřte správnost přihlašovacích údajů
- WiFi pásmo: Většina IoT zařízení podporuje pouze 2,4 GHz (nikoli 5 GHz)
- Nastavení routeru:
- Vypněte izolaci AP, pokud je zapnutá
- Používejte zabezpečení WPA2-PSK (vyhněte se WPA3, WEP nebo otevřeným sítím)
- Ujistěte se, že je povolen DHCP
- Skryté sítě: Pokud je SSID skryto, může být potřeba jej explicitně nastavit
- Síla signálu: Přesuňte zařízení blíže k routeru
- Rušení: Jiné zařízení, mikrovlnné trouby nebo zdi mohou rušit signál
Problém: Připojení k WiFi často padá
Příznaky: Přerušované spoje
Řešení:
- Zkontrolujte stabilitu routeru a případně ho restartujte
- Aktualizujte firmware zařízení
- Použijte statickou IP místo DHCP
- Snižte vzdálenost od routeru nebo přidejte WiFi extender
- Zkontrolujte rušení jinými zařízeními
- Ověřte dostatečné napájení (zejména pro Raspberry Pi)
Cloudové služby
Problém: Nelze se připojit k Azure IoT Hub
Chyba: Selhání autentifikace, odmítnutí připojení
Řešení:
- Ověřte přihlašovací údaje:
- Zkontrolujte správnost připojovacího řetězce
- Ujistěte se, že v řetězci nejsou mezery nebo nové řádky
- Zkontrolujte registraci zařízení: Zařízení musí být zaregistrováno v IoT Hubu
- Firewall/proxy: Povolit odchozí MQTT (port 8883) nebo HTTPS (port 443)
- Region IoT Hubu: Ujistěte se, že IoT Hub běží a není v jiné oblasti, což by mohlo způsobovat latenci
- Limit kvóty: Zkontrolujte, zda nejsou překročeny limity bezplatné úrovně
- Test připojení:
az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice
Problém: Azure Functions se nespouštějí
Příznaky: Zprávy odeslány, ale funkce se neprovede
Řešení:
- Zkontrolujte, že Function App běží (není zastavená)
- Ověřte připojovací řetězec v nastavení Function App
- Podívejte se do logů funkcí v Azure Portalu
- Ujistěte se, že je správně nakonfigurován kompatibilní konec Event Hubu
- Ověřte formát zpráv, zda odpovídá očekávání funkce
- Zkontrolujte plán služby Function App (spotřeba vs. dedikovaný)
MQTT
Problém: Selhání připojení MQTT
Chyba: Připojení odmítnuto, selhání autentizace
Řešení:
- Adresa brokeru: Ověřte, že URL/IP brokeru je správná
- Port: Zkontrolujte číslo portu (1883 pro nešifrované, 8883 pro TLS)
- Autentizace: Ověřte uživatelské jméno/heslo, pokud je vyžadováno
- TLS/SSL: Ujistěte se, že certifikáty jsou platné a důvěryhodné
- Firewall: Zkontrolujte, zda port není blokován
- Test s MQTT klientem: Použijte MQTT Explorer nebo mosquitto_pub/sub pro testování
Problém: MQTT zprávy nejsou přijaty
Příznaky: Zprávy jsou publikovány, ale nejsou přijímány odběrateli
Řešení:
- Názvy témat: Ověřte, že téma odběratele přesně odpovídá tématu vydavatele
- Úroveň QoS: Zkuste QoS 1 nebo 2 místo 0
- Wildcardy: Zkontrolujte správné použití zástupných znaků témat (
+pro jednu úroveň,#pro více úrovní) - Uložené zprávy: Vydavatel může nastavit příznak retain pro uchování poslední zprávy
- Časování připojení: Ujistěte se, že odběratel se připojuje před publikováním zpráv
Problémy se senzory a pohony
Grove senzory
Problém: Senzor vrací nesprávné hodnoty
Příznaky: Naměřené hodnoty jsou 0, -1 nebo nesmyslné
Řešení:
- Zkontrolujte připojení: Ujistěte se, že je senzor správně připojen
- Správný port: Ověřte, že senzor je ve správném typu portu:
- Analogové senzory → Analogové porty (A0, A2, A4)
- Digitální senzory → Digitální porty (D5, D16, D18, atd.)
- I2C senzory → I2C porty
- Kalibrace: Některé senzory vyžadují kalibraci (vlhkost půdy, světlo)
- Restart napájení: Odpojte a znovu připojte senzor
- Datasheet senzoru: Zkontrolujte specifikace a požadavky senzoru
Problém: Kapacitní senzor vlhkosti půdy stále ukazuje mokro
Příznaky: Senzor měří vysokou vlhkost i při suchu
Řešení:
- Vyžaduje kalibraci: Půdní senzory vyžadují kalibraci:
- Přečíst hodnotu na vzduchu (suchý základ)
- Přečíst hodnotu ve vodě (mokrá hodnota)
- Naměřené hodnoty mapovat mezi těmito hodnotami
- Zkontrolujte povlak senzoru: Senzory vlhkosti mohou degradovat, pokud je povlak poškozen
- Umístění: Ujistěte se, že senzor je zcela zasunut do půdy
Problém: Nesprávné hodnoty teploty/vlhkosti
Příznaky: DHT11/DHT22 ukazuje špatnou teplotu nebo vlhkost
Řešení:
- Umístění senzoru: Vyhněte se přímému slunečnímu svitu, zdrojům tepla nebo průvanu
- Doba zahřátí: Nechte senzor 2 sekundy po zapnutí před čtením
- Frekvence čtení: DHT senzory potřebují čas mezi čteními (minimálně 2 sekundy)
- Kontrola kondenzace: Kondenzace může ovlivnit naměřené hodnoty
- Kvalita senzoru: DHT11 je méně přesný než DHT22
Kamera
Problém: Kamera není detekována na Raspberry Pi
Chyba: mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'
Řešení:
- Povolit rozhraní kamery:
Přejděte do Interface Options → Camera → Enablesudo raspi-config - Zkontrolujte plochý kabel: Ujistěte se, že je kabel kamery správně zapojen
- Modrá strana směřuje k USB portům u Pi Zero
- Modrá strana směřuje od USB portů u Pi 4
- Aktualizujte firmware:
sudo apt update sudo apt full-upgrade sudo reboot - Otestujte kameru:
raspistill -o test.jpg
Problém: Obrázky z kamery jsou špatné kvality
Příznaky: Rozmazané, tmavé nebo vybledlé obrázky
Řešení:
- Zaostření: Sundejte ochrannou fólii z čočky, nastavte ostření pokud je možné
- Osvětlení: Zajistěte dostatečné osvětlení
- Nastavení kamery: Upravte expozici, ISO, vyvážení bílé v kódu
- Stabilita: Udržujte kameru stabilní, použijte stativ pokud je potřeba
- Rozlišení: Nepřekračujte maximální rozlišení kamery
Mikrofon a reproduktor
Problém: Žádný zvukový vstup/výstup
Příznaky: Mikrofon nahrává, reproduktor nepřehrává
Řešení:
- Zkontrolujte připojení: Ověřte správné připojení audio zařízení
- Test hardwaru:
- Reproduktor:
speaker-test -t wav -c 2 - Mikrofon:
arecord -lpro seznam,arecord test.wavpro záznam
- Reproduktor:
- Nastavení hlasitosti: Zkontrolujte a upravte hlasitost:
alsamixer - Vyberte audio zařízení: Určete správné zařízení v kódu
- Problémy s ovladači: Aktualizujte ALSA nebo přeinstalujte audio ovladače
Problém: ReSpeaker hat nefunguje
Příznaky: Audio zařízení není detekováno
Řešení:
- Nainstalujte ovladače:
git clone https://github.com/HinTak/seeed-voicecard cd seeed-voicecard sudo ./install.sh sudo reboot - Zkontrolujte instalaci:
arecord -lby měl zobrazit ReSpeaker - Aktualizujte firmware: Některé verze Pi OS vyžadují aktualizaci ovladačů
- Kontrola upevnění: Zajistěte správné připojení hatu k pinům GPIO
Problémy s vývojovým prostředím
VS Code
Problém: Terminál automaticky neaktivuje virtuální prostředí
Příznaky: Terminál se otevře, ale venv není aktivován
Řešení:
- Nastavte Python interpreter: Command Palette → "Python: Select Interpreter" → vyberte venv
- Restartujte VS Code po výběru interpreteru
- Zkontrolujte nastavení: V
settings.jsonpřidejte:"python.terminal.activateEnvironment": true
Problém: Kód na zařízení neběží
Příznaky: Kód se spustí, ale na zařízení se nic neděje
Řešení:
- Ověřte, že je kód uložen (zkontrolujte tečku na kartě souboru)
- Zkontrolujte běžící Python:
which pythonnebowhere python - Pro Wio Terminal: Ujistěte se, že kód je nahrán přes PlatformIO (klikněte na tlačítko upload)
- Pro Raspberry Pi: Přihlaste se přes SSH do Pi a spusťte kód tam
- Zkontrolujte výstupní okno na chyby
Problém: IntelliSense nezobrazuje funkce knihoven
Příznaky: Autocomplete pro importované moduly nefunguje
Řešení:
- Ujistěte se, že knihovna je nainstalovaná v aktuálním prostředí
- Obnovte okno VS Code
- Zkontrolujte správnost Python interpreteru
- Nainstalujte typové nápovědy, pokud jsou dostupné:
pip install types-<název_knihovny>
Python virtuální prostředí
Problém: Nelze vytvořit virtuální prostředí
Chyba: The virtual environment was not created successfully
Řešení:
- Nainstalujte modul venv:
- Ubuntu/Debian:
sudo apt install python3-venv - macOS: Mělo by být součástí instalace Pythonu
- Windows: Přeinstalujte Python se všemi komponenty
- Ubuntu/Debian:
- Zkontrolujte instalaci Pythonu: Ověřte správnou instalaci
- Použijte plnou cestu: Zkuste
python3 -m venv .venvs explicitním voláním python3
Problém: Balíčky nainstalovány na špatném místě
Příznaky: Import vyvolává chybu po instalaci balíčku
Řešení:
- Ověřte aktivaci venv: Příkazový řádek by měl ukazovat
(.venv) - Zkontrolujte umístění pip:
which pipby měl ukazovat na.venv/bin/pip - Přeinstalujte v rámci venv: Aktivujte venv a spusťte
pip install <balíček> - Nepoužívejte sudo s pip ve virtuálním prostředí
Problém: Virtuální prostředí není přenosné
Příznaky: Venv nefunguje po přesunu nebo na jiném počítači
Řešení:
- Nepřesouvejte venv: Smažte a znovu vytvořte v novém umístění
- Použijte requirements.txt:
pip freeze > requirements.txt pip install -r requirements.txt - Znovu vytvořte venv:
python3 -m venv .venv source .venv/bin/activate # nebo activate.bat na Windows pip install -r requirements.txt
Závislosti
Problém: Selhání instalace balíčku
Chyba: Různé chyby pip během instalace
Řešení:
- Aktualizujte pip:
pip install --upgrade pip - Nainstalujte nástroje pro sestavení:
- Ubuntu/Debian:
sudo apt install build-essential python3-dev - macOS:
xcode-select --install - Windows: Nainstalujte Visual Studio Build Tools
- Ubuntu/Debian:
- Zkontrolujte internetové připojení
- Zkuste jiný index balíčků:
pip install --index-url https://pypi.org/simple/ <balíček> - Nainstalujte konkrétní verzi:
pip install <balíček>==<verze>
Problém: Konflikty závislostí
Chyba: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed
Řešení:
- Používejte nové virtuální prostředí pro každý projekt
- Aktualizujte balíčky:
pip install --upgrade <balíček> - Zkontrolujte požadavky: Použijte
pip checkk nalezení konfliktů - Nainstalujte kompatibilní verze: Určete verze v rozsahu v requirements.txt
Problémy s výkonem
Problém: Kód běží pomalu
Příznaky: Zpoždění, časová omezení, neodpovídající chování
Řešení:
- Snižte frekvenci čtení senzorů: Nečtěte senzory příliš často
- Optimalizujte smyčky: Vyhněte se zbytečnému čekání, použijte sleep() nebo zpoždění
- Problémy s pamětí:
- Zavřete zbytečné programy
- Uvolněte místo na disku
- Sledujte pomocí
topnebohtopna Pi
- Rychlost SD karty: Použijte rychlejší SD kartu nebo SSD pro Raspberry Pi
- Síťové zpoždění: Používejte asynchronní operace pro volání přes síť
Problém: Chyby vyčerpání paměti
Chyba: MemoryError nebo zamrznutí systému
Řešení:
- Pro Raspberry Pi:
- Zavřete zbytečné aplikace
- Zvýšte velikost swapu
- Použijte lehčí OS (Lite verze)
- Upgradujte RAM (Pi 4 má varianty 2/4/8GB)
- Pro Wio Terminal:
- Snižte velikost bufferů
- Používejte menší obrázky
- Optimalizujte práci s řetězci
- Kontrolujte úniky paměti (nezpřístupněná paměť)
Problém: Ztráta nebo poškození dat
Příznaky: Chybějící zprávy, poškozené soubory
Řešení:
- Problémy se SD kartou:
- Používejte kvalitní SD karty (vyhněte se levným/napodobeninám)
- Pravidelné zálohy
- Bezpečné vypínání (nevypínejte bezprostředně odpojením napájení)
- Přetečení bufferu: Zvyšte velikost bufferů v kódu
- Spolehlivost sítě: Implementujte logiku opakování a ošetření chyb
- Kvalita služby: Používejte QoS MQTT 1 nebo 2 pro důležité zprávy
Běžné chybové hlášky
ModuleNotFoundError: No module named 'X'
Příčina: Balíček není nainstalován nebo virtuální prostředí není aktivováno
Řešení:
pip install X
Nejprve aktivujte virtuální prostředí.
Permission denied na Linux/macOS
Příčina: Potřeba vyšších oprávnění nebo problém s právy souboru
Řešení:
- Pro systémové operace: Použijte
sudo - Pro pip: NEPOUŽÍVEJTE sudo s venv, nejprve aktivujte venv
- Pro sériový port: Přidejte uživatele do skupiny dialout:
sudo usermod -a -G dialout $USER, poté odhlaste a přihlaste
OSError: [Errno 98] Address already in use
Příčina: Port je již používán jiným procesem
Řešení:
- Najděte proces používající port:
lsof -i :<port>nebonetstat -ano | findstr :<port> - Zastavte proces nebo použijte jiný port v kódu
SSL: CERTIFICATE_VERIFY_FAILED
Příčina: Selhání ověření SSL certifikátu
Řešení:
- Aktualizujte certifikáty:
pip install --upgrade certifi - Zkontrolujte správný systémový čas:
date - Pouze pro vývoj (ne produkci): Vypněte ověřování v kódu
IndentationError: unexpected indent
Příčina: Problémy s odsazením v Pythonu (smíchání tabulátorů a mezer)
Řešení:
- Používejte konzistentní odsazení (4 mezery jsou standard v Pythonu)
- Nastavte editor na používání mezer místo tabulátorů
- VS Code: Nastavte
"editor.insertSpaces": truea"editor.tabSize": 4
UnicodeDecodeError nebo UnicodeEncodeError
Příčina: Problémy se znakovou sadou/kódováním
Řešení:
# Při čtení souborů
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
# Při zápisu souborů
with open('file.txt', 'w', encoding='utf-8') as f:
f.write(content)
Získání pomoci
Pokud jste vyzkoušeli tyto kroky pro řešení problémů a stále máte potíže:
1. Zkontrolujte dostupné zdroje
- Dokumentace: Prohlédněte si README a instrukce lekce
- Průvodce hardwarem: Podívejte se na hardware.md pro informace o hardwaru
- Seeed Studio Wiki: Seeed Studio Wiki pro komponenty Grove
2. Vyhledejte podobné problémy
- GitHub Issues: Vyhledejte existující problémy
- Stack Overflow: Vyhledejte chybové hlášky
- Fóra zařízení: Zkontrolujte fóra Raspberry Pi nebo Arduino
3. Vytvořte GitHub Issue
Pokud řešení nenajdete:
- Jděte na GitHub Issues
- Klikněte na "New Issue"
- Uveďte:
- Jasný popis problému
- Kroky k reprodukci
- Chybové zprávy (plný text)
- Verze hardwaru/software
- Co jste již vyzkoušeli
- Snímky obrazovky, pokud jsou relevantní
4. Připojte se ke komunitě
- Discord: Microsoft Foundry Discord
- Microsoft Learn: Microsoft Learn IoT
5. Poskytněte kvalitní hlášení chyb
Kvalitní hlášení chyb obsahuje:
- Prostředí: OS, verze Pythonu, použité zařízení
- Kroky k reprodukci: Přesné kroky, které způsobují problém
- Očekávané chování: Co by se mělo stát
- Skutečné chování: Co se ve skutečnosti děje
- Chybové zprávy: Kompletní text chyby, ne screenshoty
- Kód: Minimální příklad kódu, který problém reprodukuje
Tipy pro prevenci
Obecné osvědčené postupy
- Zálohujte: Pravidelné zálohy fungujících SD karet/kódu
- Dokumentujte změny: Poznamenejte, co funguje, v komentářích
- Verzovací systém: Používejte git pro sledování změn v kódu
- Testujte postupně: Testujte malé změny před jejich sloučením
- Čtěte chybové zprávy: Často přesně řeknou, co je špatně
- Pravidelně aktualizujte: Udržujte software/firmware aktuální
- Používejte kvalitní komponenty: Vyhněte se levným kabelům/zdrojům napájení
- Stabilní napájení: Používejte vhodný napájecí zdroj (zejména u Pi)
Vývojový pracovní postup
- Začněte jednoduše: Začněte s příkladem kódu, který funguje
- Jedna změna najednou: Snazší najít, co způsobí chybu
- Často testujte: Objevíte chyby brzy
- Udržujte pořádek: Logicky organizujte soubory a kód
- Komentujte kód: Budoucí vy to ocení
Tento průvodce řešením problémů je udržován komunitou. Pokud najdete řešení problému, které zde není uvedeno, zvážte prosím přispění, abyste pomohli ostatním!
Prohlášení o vyloučení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za závazný zdroj. Pro zásadní informace se doporučuje profesionální lidský překlad. Nebereme na sebe odpovědnost za jakékoliv nedorozumění nebo chybné výklady vyplývající z použití tohoto překladu.