You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/cs/TROUBLESHOOTING.md

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í

Instalace Pythonu

Problém: Verze Pythonu je příliš stará

Chyba: Je potřeba Python 3.6 nebo vyšší

Řešení:

  1. Stáhněte si nejnovější Python 3 z python.org
  2. Při instalaci na Windows zaškrtněte „Add Python to PATH“
  3. 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 -3 místo python pro explicitní zavolání Pythonu 3
  • macOS/Linux: Použijte python3 místo python
  • 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í:

  1. Zkuste místo pip použít pip3
  2. Nebo použijte python -m pip nebo python3 -m pip
  3. 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í:

  1. Otevřete Command Palette ve VS Code (Ctrl+Shift+P nebo Cmd+Shift+P)
  2. Spusťte „Python: Select Interpreter“
  3. Vyberte správný Python interpreter (virtuální prostředí, pokud používáte)
  4. Restartujte okno VS Code

Problém: VS Code nerozpoznává virtuální prostředí

Příznaky: Vybrán nesprávný Python interpreter

Řešení:

  1. Ujistěte se, že jste ve terminálu aktivovali virtuální prostředí
  2. Otevřete Command Palette a spusťte „Python: Select Interpreter“
  3. Vyberte interpreter z adresáře .venv
  4. 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í:

  1. Ujistěte se, že máte aktuální VS Code
  2. Nejprve nainstalujte rozšíření C/C++
  3. Po instalaci PlatformIO restartujte VS Code
  4. 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í:

  1. Vyzkoušejte jiný USB kabel (některé kabely slouží jen k nabíjení)
  2. Zkontrolujte Správce zařízení (Windows) nebo příkaz ls /dev/tty* (macOS/Linux)
  3. Nainstalujte nebo aktualizujte USB ovladače
  4. Zkuste jiné USB porty
  5. 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í:

  1. Smažte složku .pio ve svém projektu
  2. Spusťte „PlatformIO: Rebuild“ z Command Palette
  3. Ujistěte se, že platformio.ini obsahuje 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í:

  1. Přeinstalujte knihovny Grove:
    cd ~
    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .
    
  2. Pokud používáte virtuální prostředí, možná je potřeba knihovny nainstalovat globálně nebo zkopírovat
  3. 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í:

  1. Zkontrolujte fyzická připojení (ujistěte se, že je Grove kabel plně zasunut)
  2. Ujistěte se, že je senzor připojen do správného portu (analogový, digitální, I2C, UART)
  3. Spusťte i2cdetect -y 1 a ověřte, zda se zařízení zobrazuje na I2C sběrnici
  4. Vyzkoušejte jiný Grove kabel
  5. 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í:

  1. Zkontrolujte zdroj napájení: Použijte oficiální 5V 3A USB-C napájecí adaptér pro Pi 4
  2. 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
  3. 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í:

  1. 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)
  2. 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 nmap nebo Angry IP Scanner
  3. Zkontrolujte síť:
    • Pi musí být ve stejné síti jako váš počítač
    • Vyzkoušejte připojení přes ethernet místo WiFi
  4. Ověřte uživatelské jméno/heslo (výchozí: uživatel pi, heslo raspberry)

Problém: Grove Base Hat není rozpoznán

Příznaky: Senzory nefungují, chyby I2C

Řešení:

  1. Ujistěte se, že Base Hat je správně nasazen na všechny piny GPIO
  2. Zkontrolujte, zda nejsou na Pi nebo Base Hat ohnuté piny
  3. Povolit I2C rozhraní:
    sudo raspi-config nonint do_i2c 0
    sudo reboot
    
  4. 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í:

  1. Zkontrolujte rychlost SD karty (doporučujeme třídu 10 nebo rychlejší, případně SSD přes USB)
  2. Uvolněte místo na disku: příkaz df -h, smažte nepotřebné soubory
  3. Snížit paměť GPU v raspi-config, pokud nepoužíváte kameru nebo intenzivně displej
  4. Zavřete zbytečné aplikace
  5. 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í:

  1. Zkontrolujte, zda kód inicializuje displej (knihovna TFT_eSPI)
  2. Aktualizujte firmware Wio Terminalu z Seeed Wiki
  3. Přidejte inicializační kód displeje:
    #include <TFT_eSPI.h>
    TFT_eSPI tft;
    tft.begin();
    tft.fillScreen(TFT_BLACK);
    
  4. 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í:

  1. Aktualizujte WiFi firmware: Postupujte podle návodu na aktualizaci WiFi firmware Wio Terminal
  2. Zkontrolujte přihlašovací údaje WiFi: Ujistěte se, že SSID a heslo jsou správné
  3. WiFi pásmo: Wio Terminal podporuje pouze 2,4 GHz WiFi (ne 5 GHz)
  4. Síla signálu: Přesuňte zařízení blíže k routeru
  5. 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í:

  1. Vyzkoušejte jiný USB kabel: Použijte datový kabel, ne pouze nabíjecí kabel
  2. 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í
  3. Nainstalujte ovladače (Windows):
  4. Vyzkoušejte jiný USB port: Vyhněte se USB hubům, použijte přímé připojení
  5. Aktualizujte ovladače USB systému

Problém: Senzory na Wio Terminalu nefungují

Příznaky: Grove senzory nečtou data

Řešení:

  1. Zkontrolujte připojení Grove kabelů
  2. Ujistěte se, že používáte správný Grove port (levý nebo pravý)
  3. Zahrňte správné knihovny pro senzor
  4. Zkontrolujte požadavky senzoru na napájení
  5. 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í:

  1. Ujistěte se, že máte aktivované virtuální prostředí
  2. Nainstalujte nebo přeinstalujte CounterFit:
    pip install CounterFit
    
  3. Zkontrolujte, že port 5000 není již používán:
    • Windows: netstat -ano | findstr :5000
    • macOS/Linux: lsof -i :5000
  4. 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í:

  1. Ověřte, že CounterFit běží: Otevřete prohlížeč na adrese http://127.0.0.1:5000
  2. Zkontrolujte, zda URL připojení v kódu odpovídá adrese CounterFit
  3. Ujistěte se, že firewall neblokuje připojení
  4. 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í:

  1. Vytvořte senzory v uživatelském rozhraní CounterFit před spuštěním kódu
  2. Aktualizujte stránku v prohlížeči
  3. Zkontrolujte, zda typ senzoru odpovídá tomu, co kód očekává
  4. 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í:

  1. Zkontrolujte SSID a heslo: Ověřte správnost přihlašovacích údajů
  2. WiFi pásmo: Většina IoT zařízení podporuje pouze 2,4 GHz (nikoli 5 GHz)
  3. 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
  4. Skryté sítě: Pokud je SSID skryto, může být potřeba jej explicitně nastavit
  5. Síla signálu: Přesuňte zařízení blíže k routeru
  6. 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í:

  1. Zkontrolujte stabilitu routeru a případně ho restartujte
  2. Aktualizujte firmware zařízení
  3. Použijte statickou IP místo DHCP
  4. Snižte vzdálenost od routeru nebo přidejte WiFi extender
  5. Zkontrolujte rušení jinými zařízeními
  6. 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í:

  1. 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
  2. Zkontrolujte registraci zařízení: Zařízení musí být zaregistrováno v IoT Hubu
  3. Firewall/proxy: Povolit odchozí MQTT (port 8883) nebo HTTPS (port 443)
  4. Region IoT Hubu: Ujistěte se, že IoT Hub běží a není v jiné oblasti, což by mohlo způsobovat latenci
  5. Limit kvóty: Zkontrolujte, zda nejsou překročeny limity bezplatné úrovně
  6. 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í:

  1. Zkontrolujte, že Function App běží (není zastavená)
  2. Ověřte připojovací řetězec v nastavení Function App
  3. Podívejte se do logů funkcí v Azure Portalu
  4. Ujistěte se, že je správně nakonfigurován kompatibilní konec Event Hubu
  5. Ověřte formát zpráv, zda odpovídá očekávání funkce
  6. 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í:

  1. Adresa brokeru: Ověřte, že URL/IP brokeru je správná
  2. Port: Zkontrolujte číslo portu (1883 pro nešifrované, 8883 pro TLS)
  3. Autentizace: Ověřte uživatelské jméno/heslo, pokud je vyžadováno
  4. TLS/SSL: Ujistěte se, že certifikáty jsou platné a důvěryhodné
  5. Firewall: Zkontrolujte, zda port není blokován
  6. 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í:

  1. Názvy témat: Ověřte, že téma odběratele přesně odpovídá tématu vydavatele
  2. Úroveň QoS: Zkuste QoS 1 nebo 2 místo 0
  3. Wildcardy: Zkontrolujte správné použití zástupných znaků témat (+ pro jednu úroveň, # pro více úrovní)
  4. Uložené zprávy: Vydavatel může nastavit příznak retain pro uchování poslední zprávy
  5. Č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í:

  1. Zkontrolujte připojení: Ujistěte se, že je senzor správně připojen
  2. 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
  3. Kalibrace: Některé senzory vyžadují kalibraci (vlhkost půdy, světlo)
  4. Restart napájení: Odpojte a znovu připojte senzor
  5. 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í:

  1. 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
  2. Zkontrolujte povlak senzoru: Senzory vlhkosti mohou degradovat, pokud je povlak poškozen
  3. 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í:

  1. Umístění senzoru: Vyhněte se přímému slunečnímu svitu, zdrojům tepla nebo průvanu
  2. Doba zahřátí: Nechte senzor 2 sekundy po zapnutí před čtením
  3. Frekvence čtení: DHT senzory potřebují čas mezi čteními (minimálně 2 sekundy)
  4. Kontrola kondenzace: Kondenzace může ovlivnit naměřené hodnoty
  5. 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í:

  1. Povolit rozhraní kamery:
    sudo raspi-config
    
    Přejděte do Interface Options → Camera → Enable
  2. 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
  3. Aktualizujte firmware:
    sudo apt update
    sudo apt full-upgrade
    sudo reboot
    
  4. 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í:

  1. Zaostření: Sundejte ochrannou fólii z čočky, nastavte ostření pokud je možné
  2. Osvětlení: Zajistěte dostatečné osvětlení
  3. Nastavení kamery: Upravte expozici, ISO, vyvážení bílé v kódu
  4. Stabilita: Udržujte kameru stabilní, použijte stativ pokud je potřeba
  5. 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í:

  1. Zkontrolujte připojení: Ověřte správné připojení audio zařízení
  2. Test hardwaru:
    • Reproduktor: speaker-test -t wav -c 2
    • Mikrofon: arecord -l pro seznam, arecord test.wav pro záznam
  3. Nastavení hlasitosti: Zkontrolujte a upravte hlasitost:
    alsamixer
    
  4. Vyberte audio zařízení: Určete správné zařízení v kódu
  5. 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í:

  1. Nainstalujte ovladače:
    git clone https://github.com/HinTak/seeed-voicecard
    cd seeed-voicecard
    sudo ./install.sh
    sudo reboot
    
  2. Zkontrolujte instalaci: arecord -l by měl zobrazit ReSpeaker
  3. Aktualizujte firmware: Některé verze Pi OS vyžadují aktualizaci ovladačů
  4. 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í:

  1. Nastavte Python interpreter: Command Palette → "Python: Select Interpreter" → vyberte venv
  2. Restartujte VS Code po výběru interpreteru
  3. Zkontrolujte nastavení: V settings.json př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í:

  1. Ověřte, že je kód uložen (zkontrolujte tečku na kartě souboru)
  2. Zkontrolujte běžící Python: which python nebo where python
  3. Pro Wio Terminal: Ujistěte se, že kód je nahrán přes PlatformIO (klikněte na tlačítko upload)
  4. Pro Raspberry Pi: Přihlaste se přes SSH do Pi a spusťte kód tam
  5. Zkontrolujte výstupní okno na chyby

Problém: IntelliSense nezobrazuje funkce knihoven

Příznaky: Autocomplete pro importované moduly nefunguje

Řešení:

  1. Ujistěte se, že knihovna je nainstalovaná v aktuálním prostředí
  2. Obnovte okno VS Code
  3. Zkontrolujte správnost Python interpreteru
  4. 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í:

  1. 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
  2. Zkontrolujte instalaci Pythonu: Ověřte správnou instalaci
  3. Použijte plnou cestu: Zkuste python3 -m venv .venv s 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í:

  1. Ověřte aktivaci venv: Příkazový řádek by měl ukazovat (.venv)
  2. Zkontrolujte umístění pip: which pip by měl ukazovat na .venv/bin/pip
  3. Přeinstalujte v rámci venv: Aktivujte venv a spusťte pip install <balíček>
  4. 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í:

  1. Nepřesouvejte venv: Smažte a znovu vytvořte v novém umístění
  2. Použijte requirements.txt:
    pip freeze > requirements.txt
    pip install -r requirements.txt
    
  3. 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í:

  1. Aktualizujte pip:
    pip install --upgrade pip
    
  2. Nainstalujte nástroje pro sestavení:
    • Ubuntu/Debian: sudo apt install build-essential python3-dev
    • macOS: xcode-select --install
    • Windows: Nainstalujte Visual Studio Build Tools
  3. Zkontrolujte internetové připojení
  4. Zkuste jiný index balíčků: pip install --index-url https://pypi.org/simple/ <balíček>
  5. 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í:

  1. Používejte nové virtuální prostředí pro každý projekt
  2. Aktualizujte balíčky: pip install --upgrade <balíček>
  3. Zkontrolujte požadavky: Použijte pip check k nalezení konfliktů
  4. 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í:

  1. Snižte frekvenci čtení senzorů: Nečtěte senzory příliš často
  2. Optimalizujte smyčky: Vyhněte se zbytečnému čekání, použijte sleep() nebo zpoždění
  3. Problémy s pamětí:
    • Zavřete zbytečné programy
    • Uvolněte místo na disku
    • Sledujte pomocí top nebo htop na Pi
  4. Rychlost SD karty: Použijte rychlejší SD kartu nebo SSD pro Raspberry Pi
  5. 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í:

  1. 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)
  2. 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í:

  1. 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í)
  2. Přetečení bufferu: Zvyšte velikost bufferů v kódu
  3. Spolehlivost sítě: Implementujte logiku opakování a ošetření chyb
  4. 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í:

  1. Najděte proces používající port: lsof -i :<port> nebo netstat -ano | findstr :<port>
  2. 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í:

  1. Aktualizujte certifikáty: pip install --upgrade certifi
  2. Zkontrolujte správný systémový čas: date
  3. 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í:

  1. Používejte konzistentní odsazení (4 mezery jsou standard v Pythonu)
  2. Nastavte editor na používání mezer místo tabulátorů
  3. VS Code: Nastavte "editor.insertSpaces": true a "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:

  1. Jděte na GitHub Issues
  2. Klikněte na "New Issue"
  3. 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ě

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

  1. Zálohujte: Pravidelné zálohy fungujících SD karet/kódu
  2. Dokumentujte změny: Poznamenejte, co funguje, v komentářích
  3. Verzovací systém: Používejte git pro sledování změn v kódu
  4. Testujte postupně: Testujte malé změny před jejich sloučením
  5. Čtěte chybové zprávy: Často přesně řeknou, co je špatně
  6. Pravidelně aktualizujte: Udržujte software/firmware aktuální
  7. Používejte kvalitní komponenty: Vyhněte se levným kabelům/zdrojům napájení
  8. Stabilní napájení: Používejte vhodný napájecí zdroj (zejména u Pi)

Vývojový pracovní postup

  1. Začněte jednoduše: Začněte s příkladem kódu, který funguje
  2. Jedna změna najednou: Snazší najít, co způsobí chybu
  3. Často testujte: Objevíte chyby brzy
  4. Udržujte pořádek: Logicky organizujte soubory a kód
  5. 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.