28 KiB
Vodič za rješavanje problema
Ovaj vodič pomaže vam u rješavanju uobičajenih problema pri radu s IoT curriculumom za početnike. Problemi su organizirani po kategorijama radi lakše navigacije.
Sadržaj
- Problemi s instalacijom
- Problemi s hardverom
- Problemi s povezivošću
- Problemi sa senzorima i aktuatorima
- Problemi s razvojnom okolinom
- Problemi s performansama
- Česte poruke o greškama
- Dobivanje pomoći
Problemi s instalacijom
Instalacija Pythona
Problem: Verzija Pythona je prestara
Greška: Potrebna je verzija Python 3.6 ili novija
Rješenje:
- Preuzmite najnoviji Python 3 s python.org
- Tijekom instalacije na Windowsu označite "Add Python to PATH"
- Provjerite instalaciju:
python3 --version
Problem: Više verzija Pythona uzrokuje konflikte
Simptomi: Pokreće se pogrešna verzija Pythona, paketi se instaliraju na krivu lokaciju
Rješenje:
- Windows: Koristite
py -3umjestopythonza eksplicitno pokretanje Python 3 - macOS/Linux: Koristite
python3umjestopython - Uvijek kreirajte i koristite virtualna okruženja za projekte
Problem: Naredba pip nije pronađena
Greška: 'pip' nije prepoznata kao interna ili vanjska naredba
Rješenje:
- Pokušajte s
pip3umjestopip - Ili koristite
python -m pipilipython3 -m pip - Provjerite je li Python dodan u PATH (ponovno instalirajte i uključite opciju)
VS Code i dodaci
Problem: Pylance dodatak ne radi
Simptomi: Nema Python IntelliSense, dovršetka koda ili provjere tipova
Rješenje:
- Otvorite Command Palette u VS Code (
Ctrl+Shift+PiliCmd+Shift+P) - Pokrenite "Python: Select Interpreter"
- Odaberite ispravan Python interpreter (virtualno okruženje ako koristite)
- Ponovno učitajte VS Code prozor
Problem: VS Code ne prepoznaje virtualno okruženje
Simptomi: Odabrani je krivi Python interpreter
Rješenje:
- Provjerite jeste li aktivirali virtualno okruženje u terminalu
- Otvorite Command Palette i pokrenite "Python: Select Interpreter"
- Odaberite interpreter iz
.venvmape - Provjerite statusnu traku (dolje lijevo) gdje treba pisati ispravna verzija Pythona
PlatformIO (Wio Terminal)
Problem: Instalacija PlatformIO ne uspijeva
Greška: Razne greške tijekom instalacije PlatformIO
Rješenje:
- Provjerite je li VS Code ažuriran
- Prvo instalirajte C/C++ dodatak
- Ponovno pokrenite VS Code nakon instalacije PlatformIO
- Provjerite internet vezu (PlatformIO preuzima velike datoteke)
Problem: PlatformIO ne prepoznaje ploču
Simptomi: Ne može se poslati kod na Wio Terminal
Rješenje:
- Isprobajte drugi USB kabel (neki su samo za punjenje)
- Provjerite Device Manager (Windows) ili
ls /dev/tty*(macOS/Linux) - Instalirajte ili ažurirajte USB drivere
- Isprobajte drugi USB port
- Brzo dvaput pomaknite prekidač za napajanje na Wio Terminalu da uđete u bootloader mod
Problem: Greške u kompilaciji na PlatformIO
Greška: fatal error: Arduino.h: No such file or directory
Rješenje:
- Obrišite
.piomapu u projektu - Pokrenite "PlatformIO: Rebuild" iz Command Palette
- Provjerite je li
platformio.inis ispravnom konfiguracijom ploče:[env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino
Grove biblioteke
Problem: Neuspješan import Grove biblioteke na Raspberry Pi
Greška: ModuleNotFoundError: No module named 'grove'
Rješenje:
- Ponovno instalirajte Grove biblioteke:
cd ~ git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . - Ako koristite virtualno okruženje, možda trebate instalirati globalno ili kopirati biblioteke
- Provjerite je li I2C omogućen:
sudo raspi-config nonint do_i2c 0
Problem: Grove senzor nije prepoznat
Greška: IOError: [Errno 121] Remote I/O error
Rješenje:
- Provjerite fizičke veze (provjerite je li Grove kabel potpuno umetnut)
- Provjerite je li senzor povezan na ispravan port (analogni, digitalni, I2C, UART)
- Pokrenite
i2cdetect -y 1da vidite pojavljuje li se uređaj na I2C busu - Isprobajte drugi Grove kabel
- Provjerite je li Grove Base Hat pravilno postavljen na GPIO pinove Raspberry Pi
Problemi s hardverom
Raspberry Pi
Problem: Raspberry Pi se ne pali
Simptomi: Nema prikaza, nema aktivnosti LED-a ili ekran je u duginim bojama
Rješenje:
- Provjerite napajanje: Koristite službeni 5V 3A USB-C napajanje za Pi 4
- Problemi sa SD karticom:
- Formatirajte SD karticu i ponovno instalirajte Raspberry Pi OS
- Isprobajte drugu SD karticu (koristite preporučene marke)
- Provjerite je li SD kartica pravilno umetnuta
- Provjerite HDMI vezu: Isprobajte oba HDMI porta na Pi 4, koristite port bliže napajanju
Problem: Ne može se spojiti na Raspberry Pi putem SSH-a
Simptomi: Veza odbijena ili je isteklo vrijeme
Rješenje:
- Omogućite SSH:
- Prilikom pisanja OS na SD karticu uz Raspberry Pi Imager, konfigurirajte SSH u naprednim opcijama
- Ili kreirajte praznu datoteku nazvanu
ssh(bez ekstenzije) u boot particiji
- Pronađite IP adresu Pi-ja:
- Provjerite spojene uređaje na vašem routeru
- Koristite
ping raspberrypi.local(ako mDNS radi) - Koristite alate za skeniranje mreže kao
nmapili Angry IP Scanner
- Provjerite mrežu:
- Provjerite da je Pi na istoj mreži kao računalo
- Pokušajte kabelsku vezu umjesto WiFi-ja
- Provjerite korisničko ime/lozinku (zadano: korisnik
pi, lozinkaraspberry)
Problem: Grove Base Hat nije prepoznat
Simptomi: Senzori ne rade, I2C greške
Rješenje:
- Provjerite je li Base Hat pravilno postavljen na sve GPIO pinove
- Provjerite ima li savijenih pinova na Pi-ju ili Base Hatu
- Omogućite I2C sučelje:
sudo raspi-config nonint do_i2c 0 sudo reboot - Provjerite radi li I2C:
i2cdetect -y 1
Problem: Raspberry Pi radi sporo
Simptomi: Sučelje zaostaje, spora reakcija
Rješenje:
- Provjerite brzinu SD kartice (koristite Class 10 ili bolju, ili SSD preko USB-a)
- Oslobodite prostor na disku:
df -hza provjeru, izbrišite nepotrebne datoteke - Smanjite memoriju za GPU u
raspi-configako ne koristite intenzivno kameru/prikaz - Zatvorite nepotrebne aplikacije
- Razmislite o nadogradnji na Pi 4 s većom količinom RAM-a ako koristite Pi 3 ili stariji
Wio Terminal
Problem: Ekran Wio Terminala ostaje prazan
Simptomi: Nema prikaza nakon učitavanja koda
Rješenje:
- Provjerite pokreće li kod inicijalizaciju zaslona (TFT_eSPI knjižnica)
- Ažurirajte firmver Wio Terminala s Seeed Wiki
- Dodajte kod za inicijalizaciju zaslona:
#include <TFT_eSPI.h> TFT_eSPI tft; tft.begin(); tft.fillScreen(TFT_BLACK); - Pokušajte učitati primjer iz PlatformIO za testiranje hardvera
Problem: WiFi ne radi na Wio Terminalu
Simptomi: Ne može se spojiti na WiFi, mrežne greške
Rješenje:
- Ažurirajte WiFi firmver: Slijedite Wio Terminal WiFi firmver vodič
- Provjerite WiFi pristupne podatke: Provjerite jesu li SSID i lozinka ispravni
- WiFi frekvencija: Wio Terminal podržava samo 2.4GHz WiFi (ne 5GHz)
- Jačina signala: Približite se routeru
- Postavke routera: Neki enterprise/WPA-Enterprise mreže možda neće raditi
Problem: Wio Terminal nije prepoznat na računalu
Simptomi: USB uređaj nije detektiran
Rješenje:
- Isprobajte drugi USB kabel: Koristite kabel za podatke, ne samo za punjenje
- Uđite u bootloader mod: Brzo dvaput pomaknite prekidač za napajanje prema dolje
- Plava LED treba pulsirati, uređaj se prikazuje kao "Arduino" u Device Manageru
- Instalirajte drivere (Windows):
- Preuzmite i instalirajte Seeed USB driver
- Isprobajte drugi USB port: Izbjegavajte USB hubove, koristite direktnu vezu
- Ažurirajte USB drivere sustava
Problem: Senzori ne rade na Wio Terminalu
Simptomi: Grove senzori ne evidentiraju podatke
Rješenje:
- Provjerite veze Grove kabela
- Provjerite koristite li ispravan Grove port (lijevi ili desni)
- Uključite odgovarajuće knjižnice za senzor
- Provjerite zahtjeve senzora za napajanje
- Testirajte senzor s primjerom iz knjižnice
Virtualni uređaj (CounterFit)
Problem: CounterFit aplikacija se ne pokreće
Greška: Razne Python greške pri pokretanju CounterFit
Rješenje:
- Provjerite je li virtualno okruženje aktivirano
- Instalirajte/ponovno instalirajte CounterFit:
pip install CounterFit - Provjerite nije li port 5000 već zauzet:
- Windows:
netstat -ano | findstr :5000 - macOS/Linux:
lsof -i :5000
- Windows:
- Ubijte proces koji koristi port 5000 ili koristite drugi port:
counterfit --port 5001
Problem: Ne može se spojiti na CounterFit iz koda
Greška: Veza odbijena ili isteklo vrijeme
Rješenje:
- Provjerite radi li CounterFit: otvorite preglednik na
http://127.0.0.1:5000 - Provjerite URL veze u kodu da odgovara adresi CounterFit-a
- Provjerite da firewall ne blokira vezu
- Pokušajte ponovno pokrenuti CounterFit aplikaciju i vaš kod
Problem: Senzori se ne pojavljuju u CounterFitu
Simptomi: Kreirani senzori se ne prikazuju u korisničkom sučelju
Rješenje:
- Kreirajte senzore u korisničkom sučelju CounterFit prije pokretanja koda
- Osvježite stranicu preglednika
- Provjerite odgovara li tip senzora onome što kod očekuje
- Očistite cache preglednika
Problemi s povezivošću
WiFi veza
Problem: Uređaj se ne može spojiti na WiFi
Simptomi: Vremensko ograničenje veze, neuspjela autentikacija
Rješenje:
- Provjerite SSID i lozinku: Provjerite jesu li pristupni podaci ispravni
- WiFi frekvencija: Većina IoT uređaja podržava samo 2.4GHz (ne 5GHz)
- Postavke routera:
- Onemogućite AP izolaciju ako je uključena
- Koristite WPA2-PSK zaštitu (izbjegavajte WPA3, WEP ili otvorene mreže)
- Provjerite je li DHCP omogućen
- Skrivene mreže: Ako je SSID skriven, možda ćete ga morati eksplicitno konfigurirati
- Jačina signala: Približite uređaj routeru
- Interferencija: Drugi uređaji, mikrovalne pećnice ili zidovi mogu smetati
Problem: WiFi veza često pada
Simptomi: Prekinuta i uspostavljena veza
Rješenje:
- Provjerite stabilnost routera, razmislite o ponovnom pokretanju
- Ažurirajte firmver uređaja
- Koristite statičku IP adresu umjesto DHCP-a
- Smanjite udaljenost do routera ili dodajte WiFi extender
- Provjerite je li smetnja od drugih uređaja
- Provjerite je li napajanje dovoljno (posebno za Raspberry Pi)
Cloud servisi
Problem: Ne može se spojiti na Azure IoT Hub
Greška: Neuspjela autentikacija, veza odbijena
Rješenje:
- Provjerite pristupne podatke:
- Provjerite je li connection string ispravan
- Provjerite da nema dodatnih razmaka ili prijeloma linije u connection stringu
- Provjerite registraciju uređaja: Uređaj mora biti registriran u IoT Hubu
- Firewall/proxy: Osigurajte dopuštenje izlaznog MQTT (port 8883) ili HTTPS (port 443)
- Regija IoT Huba: Provjerite je li IoT Hub aktivan i nije u drugoj regiji koja uzrokuje latenciju
- Ograničenja kvota: Provjerite niste li premašili limite besplatnog nivoa
- Testirajte vezu:
az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice
Problem: Azure Functions se ne pokreću
Simptomi: Poruke se šalju, ali funkcija se ne izvršava
Rješenje:
- Provjerite radi li Function App (nije zaustavljen)
- Provjerite connection string u postavkama Function App-a
- Provjerite zapise funkcije u Azure Portalu
- Osigurajte ispravnu konfiguraciju endpointa kompatibilnog s Event Hubom
- Provjerite format poruke odgovara očekivanjima funkcije
- Provjerite plan usluge Function App-a (potrošnja vs. dedikirano)
MQTT
Problem: MQTT veza ne uspijeva
Greška: Veza odbijena, autentikacija nije uspjela
Rješenje:
- Adresa brokera: Provjerite je li URL/IP brokera točan
- Port: Provjerite broj porta (1883 za nešifrirano, 8883 za TLS)
- Autentikacija: Provjerite korisničko ime/lozinku ako je potrebno
- TLS/SSL: Osigurajte da su certifikati važeći i pouzdani
- Vatrozid: Provjerite da port nije blokiran
- Testirajte s MQTT klijentom: Koristite MQTT Explorer ili mosquitto_pub/sub za testiranje
Problem: MQTT poruke se ne primaju
Simptomi: Poruke su objavljene, ali ih pretplatnici ne primaju
Rješenje:
- Nazivi tema: Provjerite podudara li se tema pretplatnika točno s temom izdavača
- Razina QoS: Pokušajte s QoS 1 ili 2 umjesto 0
- Wildcard znakovi: Provjerite koriste li se wildcards ispravno (
+za jednu razinu,#za višerazinsku) - Zadržane poruke: Izdavač može postaviti zastavicu retenzije za zadržavanje zadnje poruke
- Vrijeme veze: Osigurajte da se pretplatnik spoji prije nego što su poruke objavljene
Problemi sa senzorima i aktuatorima
Grove senzori
Problem: Senzor vraća netočne vrijednosti
Simptomi: Očitavanja su 0, -1 ili besmislene vrijednosti
Rješenje:
- Provjerite veze: Osigurajte da je senzor pravilno spojen
- Ispravan port: Provjerite je li senzor na ispravnom tipu porta:
- Analogni senzori → Analogni portovi (A0, A2, A4)
- Digitalni senzori → Digitalni portovi (D5, D16, D18, itd.)
- I2C senzori → I2C portovi
- Kalibracija: Neki senzori trebaju kalibraciju (vlažnost tla, svjetlo)
- Isključivanje/uključivanje: Isključite i ponovno priključite senzor
- Datasheet senzora: Provjerite specifikacije i zahtjeve senzora
Problem: Kapacitivni senzor vlage tla uvijek čita vlažno
Simptomi: Senzor mjeri visoku vlažnost čak i kad je suho
Rješenje:
- Potrebna kalibracija: Senzori tla zahtijevaju kalibraciju:
- Očitati vrijednost na zraku (suha referenca)
- Očitati vrijednost u vodi (vlažna referenca)
- Mapirati očitanja između tih vrijednosti
- Provjerite zaštitni sloj senzora: Vlažni senzori mogu se oštetiti ako je zaštita oštećena
- Postavljanje: Osigurajte da je senzor u potpunosti umetnut u tlo
Problem: Netočna očitanja senzora temperature/vlage
Simptomi: DHT11/DHT22 prikazuje pogrešnu temperaturu ili vlažnost
Rješenje:
- Postavljanje senzora: Izbjegavajte direktno sunčevo svjetlo, izvore topline ili protok zraka
- Vrijeme zagrijavanja: Dajte senzoru 2 sekunde nakon uključivanja prije očitanja
- Učestalost očitanja: DHT senzori trebaju vrijeme između očitanja (barem 2 sekunde)
- Provjerite kondenzaciju: Može utjecati na očitanja
- Kvaliteta senzora: DHT11 je manje precizan od DHT22
Kamera
Problem: Kamera nije prepoznata na Raspberry Pi-ju
Greška: mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'
Rješenje:
- Omogućite kameru:
Idite na Interface Options → Camera → Enablesudo raspi-config - Provjerite vrpcu: Provjerite je li kabel kamere pravilno umetnut
- Plava strana okrenuta prema USB portovima na Pi Zero
- Plava strana okrenuta od USB portova na Pi 4
- Ažurirajte firmware:
sudo apt update sudo apt full-upgrade sudo reboot - Testirajte kameru:
raspistill -o test.jpg
Problem: Slike s kamere su loše kvalitete
Simptomi: Mutne, tamne ili isprane slike
Rješenje:
- Fokus: Uklonite zaštitnu foliju s leće, podesite fokus ako je moguće
- Osvjetljenje: Osigurajte dovoljno svjetla
- Postavke kamere: Podesite ekspoziciju, ISO, balans bijele u kodu
- Stabilnost: Držite kameru mirno, koristite stalak ako je potrebno
- Rezolucija: Nemojte prekoračiti maksimalnu rezoluciju kamere
Mikrofon i zvučnik
Problem: Nema audio ulaza/izlaza
Simptomi: Mikrofon ne snima, zvučnik ne reproducira
Rješenje:
- Provjerite veze: Provjerite jesu li audio uređaji ispravno spojeni
- Testirajte hardver:
- Zvučnik:
speaker-test -t wav -c 2 - Mikrofon:
arecord -lza popis,arecord test.wavza snimanje
- Zvučnik:
- Postavke glasnoće: Provjerite i podesite glasnoću:
alsamixer - Izaberite audio uređaj: Odredite ispravan audio uređaj u kodu
- Problemi s upravljačkim programima: Ažurirajte ALSA ili ponovo instalirajte audio drivere
Problem: ReSpeaker hat ne radi
Simptomi: Audio uređaj nije prepoznat
Rješenje:
- Instalirajte drivere:
git clone https://github.com/HinTak/seeed-voicecard cd seeed-voicecard sudo ./install.sh sudo reboot - Provjerite instalaciju:
arecord -lbi trebao prikazati ReSpeaker - Ažurirajte firmware: Neke verzije Pi OS trebaju ažuriranje drivera
- Provjerite spajanje: Osigurajte da je hat pravilno spojena na GPIO pinove
Problemi razvojnog okruženja
VS Code
Problem: Terminal automatski ne aktivira virtualno okruženje
Simptomi: Terminal se otvara, ali venv nije aktiviran
Rješenje:
- Postavite Python interpreter: Command Palette → "Python: Select Interpreter" → Odaberite venv
- Ponovno pokrenite VS Code nakon odabira interpretera
- Provjerite postavke: U
settings.jsondodajte:"python.terminal.activateEnvironment": true
Problem: Kod se ne izvršava na uređaju
Simptomi: Kod se pokreće, ali nema učinka na uređaju
Rješenje:
- Provjerite je li kod spremljen (provjerite točku na kartici datoteke)
- Provjerite koji Python se koristi:
which pythoniliwhere python - Za Wio Terminal: Provjerite da je kod učitan preko PlatformIO-a (kliknite tipku za učitavanje)
- Za Raspberry Pi: SSH na Pi i pokrenite kod tamo
- Provjerite izlazni prozor za greške
Problem: IntelliSense ne prikazuje funkcije biblioteke
Simptomi: Nema automatskog dovršavanja za uvezene module
Rješenje:
- Provjerite je li biblioteka instalirana u trenutno aktivnom okruženju
- Ponovno učitajte VS Code prozor
- Provjerite da je Python interpreter ispravan
- Instalirajte tipove ako su dostupni:
pip install types-<naziv-biblioteke>
Python virtualna okruženja
Problem: Ne može kreirati virtualno okruženje
Greška: The virtual environment was not created successfully
Rješenje:
- Instalirajte modul venv:
- Ubuntu/Debian:
sudo apt install python3-venv - macOS: Trebao bi biti uključen s Pythonom
- Windows: Ponovno instalirajte Python sa svim komponentama
- Ubuntu/Debian:
- Provjerite instalaciju Pythona: Provjerite da je Python pravilno instaliran
- Koristite puni put: Pokušajte
python3 -m venv .venvs eksplicitnim pozivom python3
Problem: Paketi se instaliraju na krivo mjesto
Simptomi: Greška pri uvozu nakon instalacije paketa
Rješenje:
- Provjerite je li venv aktivan: Prompt naredbenog retka treba prikazivati
(.venv) - Provjerite lokaciju pip-a:
which piptreba pokazivati na.venv/bin/pip - Ponovno instalirajte u venv: Aktivirajte venv pa
pip install <package> - Ne koristite sudo s pip u virtualnom okruženju
Problem: Virtualno okruženje nije prenosivo
Simptomi: Venv ne radi nakon premještanja ili na drugom računalu
Rješenje:
- Nemojte premještati venv: Izbrišite i ponovo napravite na novoj lokaciji
- Koristite requirements.txt:
pip freeze > requirements.txt pip install -r requirements.txt - Ponovo kreirajte venv:
python3 -m venv .venv source .venv/bin/activate # ili activate.bat na Windowsu pip install -r requirements.txt
Ovisnosti
Problem: Instalacija paketa ne uspijeva
Greška: Razne pip greške tijekom instalacije
Rješenje:
- Ažurirajte pip:
pip install --upgrade pip - Instalirajte alate za izgradnju:
- Ubuntu/Debian:
sudo apt install build-essential python3-dev - macOS:
xcode-select --install - Windows: Instalirajte Visual Studio Build Tools
- Ubuntu/Debian:
- Provjerite internetsku vezu
- Koristite drugi package index:
pip install --index-url https://pypi.org/simple/ <package> - Instalirajte specifičnu verziju:
pip install <package>==<version>
Problem: Sukobi ovisnosti
Greška: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed
Rješenje:
- Koristite novo virtualno okruženje za svaki projekt
- Ažurirajte pakete:
pip install --upgrade <package> - Provjerite zahtjeve: Koristite
pip checkza pronalaženje sukoba - Instalirajte kompatibilne verzije: Navedite raspon verzija u requirements.txt
Problemi s izvedbom
Problem: Kod radi sporo
Simptomi: Kašnjenja, timeouti, neodzivno ponašanje
Rješenje:
- Smanjite učestalost očitanja senzora: Nemojte osjetnike čitati prečesto
- Optimizirajte petlje: Izbjegavajte aktivno čekanje, koristite sleep() ili kašnjenja
- Problemi s memorijom:
- Zatvorite nepotrebne aplikacije
- Oslobodite prostor na disku
- Pratite s
topilihtopna Pi-ju
- Brzina SD kartice: Koristite bržu SD karticu ili SSD za Raspberry Pi
- Mrežna kašnjenja: Koristite asinhrone operacije za mrežne pozive
Problem: Nedostatak memorije
Greška: MemoryError ili zamrzavanje sustava
Rješenje:
- Za Raspberry Pi:
- Zatvorite nepotrebne aplikacije
- Povećajte swap prostor
- Koristite laganiji OS (Lite verzija)
- Nadogradite RAM (Pi 4 ima opcije 2/4/8GB)
- Za Wio Terminal:
- Smanjite veličine bafera
- Koristite manje slike
- Optimizirajte korištenje stringova
- Provjerite curenje memorije (neoslobodjena memorija)
Problem: Gubitak ili oštećenje podataka
Simptomi: Nedostajuće poruke, oštećene datoteke
Rješenje:
- Problemi sa SD karticom:
- Koristite kvalitetne SD kartice (izbjegavajte jeftine/lažne)
- Redovito pravite sigurnosne kopije
- Ispravno isključivanje (nemojte isključivati napajanje sile)
- Preljev bafera: Povećajte veličine bafera u kodu
- Pouzdanost mreže: Implementirajte logiku ponovnog pokušaja i obradu grešaka
- Kvaliteta usluge: Koristite MQTT QoS 1 ili 2 za važne poruke
Uobičajene poruke o greškama
ModuleNotFoundError: No module named 'X'
Uzrok: Paket nije instaliran ili virtualno okruženje nije aktivirano
Rješenje:
pip install X
Prvo osigurajte da je virtualno okruženje aktivirano.
Permission denied na Linux/macOS
Uzrok: Potrebna povišena dopuštenja ili problem s dopuštenjima datoteke
Rješenje:
- Za sistemske operacije: Koristite
sudo - Za pip: NE koristite sudo s venv, prvo aktivirajte venv
- Za serijski port: Dodajte korisnika u dialout grupu:
sudo usermod -a -G dialout $USER, zatim odjavite/prijavite se
OSError: [Errno 98] Address already in use
Uzrok: Port je već zauzet od strane drugog procesa
Rješenje:
- Pronađite proces koji koristi port:
lsof -i :<port>ilinetstat -ano | findstr :<port> - Ubijte proces ili koristite drugačiji port u svom kodu
SSL: CERTIFICATE_VERIFY_FAILED
Uzrok: Neuspjeh verifikacije SSL certifikata
Rješenje:
- Ažurirajte certifikate:
pip install --upgrade certifi - Provjerite je li sustavno vrijeme točno:
date - Samo za razvoj (ne za proizvodnju): Onemogućite verifikaciju u kodu
IndentationError: unexpected indent
Uzrok: Problemi s indentacijom u Pythonu (miješanje tabova i razmaka)
Rješenje:
- Koristite dosljednu indentaciju (4 razmaka je standard za Python)
- Konfigurirajte uređivač da koristi razmake umjesto tabova
- VS Code: Postavite
"editor.insertSpaces": truei"editor.tabSize": 4
UnicodeDecodeError ili UnicodeEncodeError
Uzrok: Problemi s kodiranjem znakova
Rješenje:
# Prilikom čitanja datoteka
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
# Prilikom pisanja datoteka
with open('file.txt', 'w', encoding='utf-8') as f:
f.write(content)
Dobivanje pomoći
Ako ste isprobali ove korake za rješavanje problema i još uvijek imate poteškoća:
1. Provjerite postojeće izvore
- Dokumentacija: Pregledajte README i upute za lekcije
- Vodiči za hardver: Provjerite hardware.md za hardverske informacije
- Seeed Studio Wiki: Seeed Studio Wiki za Grove komponente
2. Pretražite slične probleme
- GitHub Issues: Pretražite postojeće probleme
- Stack Overflow: Pretražite poruke o greškama
- Forumi uređaja: Provjerite Raspberry Pi forume ili Arduino forume
3. Kreirajte GitHub Issue
Ako ne možete pronaći rješenje:
- Idite na GitHub Issues
- Kliknite "New Issue"
- Navedite:
- Jasni opis problema
- Korake za reprodukciju
- Poruke o greškama (puni tekst)
- Verzije hardvera i softvera
- Što ste već pokušali
- Snimke zaslona ako su relevantne
4. Pridružite se zajednici
- Discord: Microsoft Foundry Discord
- Microsoft Learn: Microsoft Learn IoT
5. Pružite dobre izvještaje o bugovima
Dobar izvještaj o bugovima uključuje:
- Okruženje: OS, verzija Pythona, korišteni hardver
- Koraci za reproduciranje: Točni koraci koji uzrokuju problem
- Očekivano ponašanje: Što bi se trebalo dogoditi
- Stvarno ponašanje: Što se zapravo događa
- Poruke o pogrešci: Kompletan tekst pogreške, ne snimke zaslona
- Kod: Minimalni primjer koda koji reproducira problem
Savjeti za prevenciju
Opće najbolje prakse
- Napravite sigurnosne kopije: Redovite sigurnosne kopije radnih SD kartica/koda
- Dokumentirajte promjene: Zabilježite što radi u komentarima
- Kontrola verzija: Koristite git za praćenje promjena koda
- Testirajte inkrementalno: Testirajte male promjene prije kombiniranja
- Čitajte poruke o pogrešci: Često vam kažu točno što nije u redu
- Redovito ažurirajte: Održavajte softver/firmware ažurnim
- Koristite kvalitetne komponente: Izbjegavajte jeftine kabele/napajanja
- Stabilno napajanje: Koristite odgovarajuće napajanje (posebno za Pi)
Radni tijek razvoja
- Započnite jednostavno: Počnite s primjerom koda koji radi
- Jedna promjena odjednom: Lakše je pronaći što je uzrok problema
- Često testirajte: Otkrivajte probleme rano
- Održavajte urednost: Organizirajte datoteke i kod logično
- Komentirajte kod: Vaša buduća verzija će vam biti zahvalna
Ovaj vodič za rješavanje problema održava zajednica. Ako pronađete rješenje za problem koji ovdje nije naveden, razmislite o doprinosu kako biste pomogli drugima!
Izjava o odricanju od odgovornosti: Ovaj dokument preveden je korištenjem AI usluge prevođenja Co-op Translator. Iako nastojimo postići točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili kriva tumačenja koja proizlaze iz korištenja ovog prijevoda.