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.
752 lines
29 KiB
752 lines
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](../..)
|
|
- [VS Code a rozšíření](../..)
|
|
- [PlatformIO (Wio Terminal)](../..)
|
|
- [Knihovny Grove](../..)
|
|
- [Hardwarové problémy](../..)
|
|
- [Raspberry Pi](../..)
|
|
- [Wio Terminal](../..)
|
|
- [Virtuální zařízení (CounterFit)](../..)
|
|
- [Problémy s připojením](../..)
|
|
- [Připojení k WiFi](../..)
|
|
- [Cloudové služby](../..)
|
|
- [MQTT](../..)
|
|
- [Problémy se senzory a akčními členy](../..)
|
|
- [Senzory Grove](../..)
|
|
- [Kamera](../..)
|
|
- [Mikrofon a reproduktor](../..)
|
|
- [Problémy s vývojovým prostředím](../..)
|
|
- [VS Code](../..)
|
|
- [Virtuální prostředí Pythonu](../..)
|
|
- [Závislosti](../..)
|
|
- [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í:**
|
|
1. Stáhněte si nejnovější Python 3 z [python.org](https://www.python.org/downloads/)
|
|
2. Při instalaci na Windows zaškrtněte „Add Python to PATH“
|
|
3. Ověřte instalaci:
|
|
```bash
|
|
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:
|
|
```ini
|
|
[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:
|
|
```bash
|
|
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í:
|
|
```bash
|
|
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](https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/)
|
|
3. Přidejte inicializační kód displeje:
|
|
```cpp
|
|
#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](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/)
|
|
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):**
|
|
- Stáhněte a nainstalujte [Seeed USB ovladač](https://wiki.seeedstudio.com/Driver_for_Seeeduino/)
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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í:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
sudo apt update
|
|
sudo apt full-upgrade
|
|
sudo reboot
|
|
```
|
|
4. **Otestujte kameru:**
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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:
|
|
```json
|
|
"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:**
|
|
```bash
|
|
pip freeze > requirements.txt
|
|
pip install -r requirements.txt
|
|
```
|
|
3. **Znovu vytvořte venv:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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í:**
|
|
```bash
|
|
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í:**
|
|
```python
|
|
# 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](README.md) a instrukce lekce
|
|
- **Průvodce hardwarem:** Podívejte se na [hardware.md](hardware.md) pro informace o hardwaru
|
|
- **Seeed Studio Wiki:** [Seeed Studio Wiki](https://wiki.seeedstudio.com/) pro komponenty Grove
|
|
|
|
### 2. Vyhledejte podobné problémy
|
|
- **GitHub Issues:** Vyhledejte [existující problémy](https://github.com/microsoft/IoT-For-Beginners/issues)
|
|
- **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](https://github.com/microsoft/IoT-For-Beginners/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ě
|
|
- **Discord:** [Microsoft Foundry Discord](https://discord.gg/nTYy5BXMWG)
|
|
- **Microsoft Learn:** [Microsoft Learn IoT](https://docs.microsoft.com/learn/browse/?products=azure-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
|
|
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í](CONTRIBUTING.md), abyste pomohli ostatním!*
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**Prohlášení o vyloučení odpovědnosti**:
|
|
Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/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.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |