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/sl/TROUBLESHOOTING.md

28 KiB

Vodnik za odpravljanje težav

Ta vodnik vam pomaga rešiti pogoste težave pri delu s kurikulom IoT for Beginners. Težave so organizirane po kategorijah za lažjo navigacijo.

Kazalo vsebine


Težave z namestitvijo

Namestitev Pythona

Težava: Verzija Pythona je prestara

Napaka: Zaželen je Python 3.6 ali novejši

Rešitev:

  1. Prenesite najnovejši Python 3 z python.org
  2. Med namestitvijo na Windows označite "Add Python to PATH"
  3. Preverite namestitev:
    python3 --version
    

Težava: Več različic Pythona povzroča konflikte

Simptomi: Zažene se napačna verzija Pythona, paketi se nameščajo na napačno mesto

Rešitev:

  • Windows: Uporabite py -3 namesto python za eksplicitno uporabo Pythona 3
  • macOS/Linux: Uporabite python3 namesto python
  • Vedno ustvarite in uporabljajte virtualna okolja za projekte

Težava: Ukaz pip ni najden

Napaka: 'pip' ni prepoznan kot notranji ali zunanji ukaz

Rešitev:

  1. Poskusite pip3 namesto pip
  2. Ali uporabite python -m pip ali python3 -m pip
  3. Poskrbite, da je Python dodan v PATH (ponovno namestite Python in izberite možnost)

VS Code in razširitve

Težava: Razširitev Pylance ne deluje

Simptomi: Ni Python IntelliSense, samodejnega dopolnjevanja kode ali preverjanja tipov

Rešitev:

  1. Odprite ukazno paleto VS Code (Ctrl+Shift+P ali Cmd+Shift+P)
  2. Zaženite "Python: Select Interpreter"
  3. Izberite pravi Python interpreter (virtualno okolje, če ga uporabljate)
  4. Znova naložite okno VS Code

Težava: VS Code ne zazna virtualnega okolja

Simptomi: Izbran napačen Python interpreter

Rešitev:

  1. Poskrbite, da ste aktivirali virtualno okolje v terminalu
  2. Odprite ukazno paleto in zaženite "Python: Select Interpreter"
  3. Izberite interpreter iz mape .venv
  4. Preverite, da spodnji levi status bar prikazuje pravilno verzijo Pythona

PlatformIO (Wio Terminal)

Težava: Namestitev PlatformIO ne uspe

Napaka: Različne napake med namestitvijo PlatformIO

Rešitev:

  1. Poskrbite, da je VS Code posodobljen
  2. Najprej namestite C/C++ razširitev
  3. Po namestitvi PlatformIO znova zaženite VS Code
  4. Preverite internetno povezavo (PlatformIO prenaša velike datoteke)

Težava: PlatformIO ne zazna plošče

Simptomi: Ne morete prenesti kode na Wio Terminal

Rešitev:

  1. Poskusite z drugim USB kablom (nekateri kabli so samo za polnjenje)
  2. Preverite Upravitelja naprav (Windows) ali ls /dev/tty* (macOS/Linux)
  3. Namestite ali posodobite USB gonilnike
  4. Poskusite z drugim USB priključkom
  5. Hitro dvakrat povlecite gumb za vklop na Wio Terminalu v položaj bootloaderja

Težava: Napake pri prevajanju v PlatformIO

Napaka: fatal error: Arduino.h: No such file or directory

Rešitev:

  1. Izbrišite mapo .pio v vašem projektu
  2. Iz ukazne palete poženite "PlatformIO: Rebuild"
  3. Poskrbite, da platformio.ini vsebuje pravilno konfiguracijo plošče:
    [env:seeed_wio_terminal]
    platform = atmelsam
    board = seeed_wio_terminal
    framework = arduino
    

Grove knjižnice

Težava: Uvoz Grove knjižnice ne uspe na Raspberry Pi

Napaka: ModuleNotFoundError: No module named 'grove'

Rešitev:

  1. Ponovno namestite Grove knjižnice:
    cd ~
    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .
    
  2. Če uporabljate virtualno okolje, boste morda morali knjižnice namestiti globalno ali kopirati
  3. Preverite, da je I2C omogočen: sudo raspi-config nonint do_i2c 0

Težava: Grove senzor ni zaznan

Napaka: IOError: [Errno 121] Remote I/O error

Rešitev:

  1. Preverite fizične povezave (zagotovite, da je Grove kabel popolnoma vstavljen)
  2. Potrdite, da je senzor povezan na pravilen vhod (analogni, digitalni, I2C, UART)
  3. Zaženite i2cdetect -y 1, da preverite, ali se naprava pojavi na I2C vodilu
  4. Poskusite z drugim Grove kablom
  5. Preverite, da je Grove Base Hat pravilno nameščen na Raspberry Pi GPIO pinih

Težave s strojno opremo

Raspberry Pi

Težava: Raspberry Pi se ne zažene

Simptomi: Ni prikaza, ni aktivnosti LED, ali mavrični zaslon

Rešitev:

  1. Preverite napajanje: Uporabite uradni 5V 3A USB-C napajalnik za Pi 4
  2. Težave z SD kartico:
    • Formatirajte SD kartico in ponovno namestite Raspberry Pi OS
    • Poskusite z drugo SD kartico (uporabite priporočene znamke)
    • Preverite, da je SD kartica pravilno vstavljena
  3. Preverite HDMI povezavo: Preizkusite oba HDMI priključka na Pi 4, uporabite HDMI priključek, ki je bližje napajanju

Težava: Ne morete se povezati preko SSH na Raspberry Pi

Simptomi: Povezava je zavrnjena ali poteče čas

Rešitev:

  1. Omogočite SSH:
    • Pri pisanju SD kartice z Raspberry Pi Imagerjem konfigurirajte SSH v naprednih opcijah
    • Ali ustvarite prazno datoteko z imenom ssh (brez pripone) v zagonski particiji
  2. Poiščite IP naslov Pi-ja:
    • Preverite naprave povezane na vaš usmerjevalnik
    • Uporabite ping raspberrypi.local (če deluje mDNS)
    • Uporabite orodja za skeniranje omrežja, kot so nmap ali Angry IP Scanner
  3. Preverite omrežje:
    • Poskrbite, da je Pi na istem omrežju kot vaš računalnik
    • Poskusite z ethernet povezavo namesto WiFi
  4. Preverite uporabniško ime in geslo (privzeto: uporabnik pi, geslo raspberry)

Težava: Grove Base Hat ni zaznan

Simptomi: Senzorji ne delujejo, napake I2C

Rešitev:

  1. Poskrbite, da je Base Hat pravilno nameščen na vseh GPIO pinih
  2. Preverite za upognjene pine na Pi-ju ali Base Hat-u
  3. Omogočite I2C vmesnik:
    sudo raspi-config nonint do_i2c 0
    sudo reboot
    
  4. Preverite, da I2C deluje: i2cdetect -y 1

Težava: Raspberry Pi deluje počasi

Simptomi: Počasna uporabniška lupina, počasni odzivi

Rešitev:

  1. Preverite hitrost SD kartice (uporabite razred 10 ali boljšo, ali SSD preko USB)
  2. Oprostite diskovni prostor: df -h za preverjanje, izbrišite nepotrebne datoteke
  3. Zmanjšajte količino pomnilnika za GPU v raspi-config, če ne uporabljate intenzivno kamere/zaslona
  4. Zaprite nepotrebne aplikacije
  5. Razmislite o nadgradnji na Pi 4 z več RAM-a, če uporabljate Pi 3 ali starejši

Wio Terminal

Težava: Zaslon Wio Terminal ostane prazen

Simptomi: Ni prikaza po nalaganju kode

Rešitev:

  1. Preverite, ali koda inicializira zaslon (knjižnica TFT_eSPI)
  2. Posodobite firmware Wio Terminala iz Seeed Wiki
  3. Dodajte kodo za inicializacijo zaslona:
    #include <TFT_eSPI.h>
    TFT_eSPI tft;
    tft.begin();
    tft.fillScreen(TFT_BLACK);
    
  4. Poskusite naložiti primer iz PlatformIO za test strojne opreme

Težava: WiFi ne deluje na Wio Terminalu

Simptomi: Ni mogoče vzpostaviti WiFi povezave, napake omrežja

Rešitev:

  1. Posodobite WiFi firmware: Sledite navodilu za posodobitev WiFi firmware Wio Terminal
  2. Preverite WiFi podatke za prijavo: Poskrbite, da sta SSID in geslo pravilna
  3. WiFi pas: Wio Terminal podpira samo 2.4GHz WiFi (ne 5GHz)
  4. Jakost signala: Premaknite se bližje usmerjevalniku
  5. Nastavitve usmerjevalnika: Nekatera podjetniška/WPA-Enterprise omrežja morda ne delujejo

Težava: Računalnik ne zazna Wio Terminala

Simptomi: USB naprava ni zaznana

Rešitev:

  1. Poskusite z drugim USB kablom: Uporabite podatkovni kabel, ne samo polnilnega
  2. Vstopite v način bootloaderja: Hitro povlecite gumb za vklop dvakrat navzdol
    • Modra LED naj utripa, naprava se pojavi kot "Arduino" v Upravitelju naprav
  3. Namestite gonilnike (Windows):
  4. Poskusite z drugim USB priključkom: Izogibajte se USB stikalom, uporabite neposredno povezavo
  5. Posodobite sistemske USB gonilnike

Težava: Senzorji na Wio Terminalu ne delujejo

Simptomi: Grove senzorji ne beležijo podatkov

Rešitev:

  1. Preverite povezave Grove kabla
  2. Preverite, da uporabljate pravilen Grove vhod (levo ali desno)
  3. Vključite ustrezne knjižnice za senzor
  4. Preverite zahteve napajanja senzorja
  5. Testirajte senzor s primerom kode iz knjižnice

Virtualna naprava (CounterFit)

Težava: Aplikacija CounterFit se ne zažene

Napaka: Različne Python napake ob zagonu CounterFit

Rešitev:

  1. Poskrbite, da je virtualno okolje aktivirano
  2. Namestite/ponovno namestite CounterFit:
    pip install CounterFit
    
  3. Preverite, da vrata 5000 niso že v uporabi:
    • Windows: netstat -ano | findstr :5000
    • macOS/Linux: lsof -i :5000
  4. Ubijte proces, ki uporablja vrata 5000, ali uporabite druga vrata:
    counterfit --port 5001
    

Težava: Povezava do CounterFit iz kode ne uspe

Napaka: Povezava zavrnjena ali potekel čas

Rešitev:

  1. Preverite, da CounterFit teče: Odprite brskalnik na http://127.0.0.1:5000
  2. Preverite, da URL povezave v kodi ustreza naslovu CounterFit
  3. Preverite, da požarni zid ne blokira povezave
  4. Poskusite znova zagnati tako CounterFit aplikacijo kot vašo kodo

Težava: Senzorji se ne prikažejo v CounterFit

Simptomi: Ustvarjeni senzorji se ne prikažejo v uporabniškem vmesniku CounterFit

Rešitev:

  1. Ustvarite senzorje v uporabniškem vmesniku CounterFit pred zagonom kode
  2. Osvežite stran brskalnika
  3. Preverite, da tip senzorja ustreza temu, kar pričakuje koda
  4. Počistite predpomnilnik brskalnika

Težave s povezljivostjo

WiFi povezava

Težava: Naprava se ne more povezati z WiFi

Simptomi: Povezava poteče, preverjanje pristnosti ni uspelo

Rešitev:

  1. Preverite SSID in geslo: Preverite, da so podatki za prijavo pravilni
  2. WiFi pas: Večina IoT naprav podpira samo 2.4GHz (ne 5GHz)
  3. Nastavitve usmerjevalnika:
    • Onemogočite AP izolacijo, če je omogočena
    • Uporabite WPA2-PSK varnost (izogibajte se WPA3, WEP ali odprtim omrežjem)
    • Poskrbite, da je DHCP omogočen
  4. Skrito omrežje: Če je SSID skrit, boste morda morali eksplicitno nastaviti omrežje
  5. Jakost signala: Premaknite napravo bližje usmerjevalniku
  6. Motnje: Druge naprave, mikrovalovne pečice ali stene lahko povzročajo motnje

Težava: WiFi povezava pogosto pade

Simptomi: Prekinjena povezava

Rešitev:

  1. Preverite stabilnost usmerjevalnika in razmislite o ponovnem zagonu
  2. Posodobite firmware naprave
  3. Uporabljajte statični IP namesto DHCP
  4. Zmanjšajte razdaljo do usmerjevalnika ali dodajte WiFi ojačevalnik
  5. Preverite, ali motijo druge naprave
  6. Preverite, da je napajanje ustrezno (še posebej za Raspberry Pi)

Oblačne storitve

Težava: Ni mogoče povezati se do Azure IoT Hub

Napaka: Preverjanje pristnosti ni uspelo, povezava zavrnjena

Rešitev:

  1. Preverite poverilnice:
    • Preverite, da je povezovalni niz pravilen
    • Poskrbite, da ni dodatnih presledkov ali prelomov vrstic v povezovalnem nizu
  2. Preverite registracijo naprave: Naprava mora biti registrirana v IoT Hub-u
  3. Požarni zid/proxy: Poskrbite, da je dovoljen odhodni promet MQTT (vrata 8883) ali HTTPS (vrata 443)
  4. Regija IoT Huba: Poskrbite, da IoT Hub obratovalno deluje in ni v drugi regiji, ki povzroča zakasnitve
  5. Omejitve količine: Preverite, ali so prekoračene omejitve brezplačne stopnje
  6. Preizkus povezave:
    az iot hub device-identity show-connection-string --hub-name YourIoTHub --device-id YourDevice
    

Težava: Azure Functions se ne sproži

Simptomi: Sporočila so poslana, funkcija pa ni izvršena

Rešitev:

  1. Preverite, da applika funkcij deluje (ni ustavljena)
  2. Preverite povezovalni niz v nastavitvah Azure Functions
  3. Preverite dnevniške zapise funkcije v Azure portalu
  4. Preverite, da je konfiguriran združljiv endpoint Event Huba
  5. Preverite, da oblika sporočila ustreza pričakovanjem funkcije
  6. Preverite načrt storitve Azure Functions (poraba ali namenski načrt)

MQTT

Težava: Povezava MQTT ne uspe

Napaka: Povezava zavrnjena, preverjanje pristnosti spodletelo

Rešitev:

  1. Naslov posrednika: Preverite, ali je URL/IP posrednika pravilen
  2. Vrata: Preverite številko vrat (1883 za nešifrirano, 8883 za TLS)
  3. Preverjanje pristnosti: Preverite uporabniško ime/geslo, če je zahtevano
  4. TLS/SSL: Zagotovite, da so certifikati veljavni in zaupanja vredni
  5. Požarni zid: Preverite, da vrata niso blokirana
  6. Test z MQTT odjemalcem: Uporabite MQTT Explorer ali mosquitto_pub/sub za testiranje

Težava: Sporočila MQTT niso prejeta

Simptomi: Sporočila so bila objavljena, vendar jih naročniki niso prejeli

Rešitev:

  1. Imena tem: Preverite, da se tema naročnika natančno ujema s temo založnika
  2. Raven QoS: Poskusite QoS 1 ali 2 namesto 0
  3. Divje karte: Preverite pravilno uporabo tematskih divjih kart (+ za eno raven, # za več ravni)
  4. Zadržana sporočila: Založnik lahko nastavi zastavico za zadrževanje, da ohrani zadnje sporočilo
  5. Čas povezave: Zagotovite, da se naročnik poveže pred objavo sporočil

Težave s senzorji in aktuatorji

Grove Senzorji

Težava: Senzor vrača nepravilne vrednosti

Simptomi: Meritve so 0, -1 ali nesmiselne vrednosti

Rešitev:

  1. Preverite povezave: Zagotovite, da je senzor pravilno povezan
  2. Prava vrata: Preverite, da je senzor na pravem tipu vrat:
    • Analogni senzorji → Analogna vrata (A0, A2, A4)
    • Digitalni senzorji → Digitalna vrata (D5, D16, D18, itd.)
    • I2C senzorji → I2C vrata
  3. Kalibracija: Nekateri senzorji potrebujejo kalibracijo (vlaga v tleh, svetloba)
  4. Ponovni zagon: Odklopite in ponovno priklopite senzor
  5. Datasheet senzorja: Preverite specifikacije in zahteve senzorja

Težava: Kapacitivni senzor vlage v tleh vedno meri mokro

Simptomi: Senzor meri visoko vlažnost tudi, ko je suho

Rešitev:

  1. Potrebna kalibracija: Senzorji za zemeljsko vlago zahtevajo kalibracijo:
    • Meritev v zraku (suh referenčni nivo)
    • Meritev v vodi (mokri referenčni nivo)
    • Preslikava meritve med tema vrednostma
  2. Preverite zaščito senzorja: Vlažni senzorji se lahko poslabšajo, če je prevleka poškodovana
  3. Postavitev: Zagotovite, da je senzor popolnoma vstavljen v tla

Težava: Meritve temperature/vlage so nepravilne

Simptomi: DHT11/DHT22 prikazuje napačno temperaturo ali vlago

Rešitev:

  1. Postavitev senzorja: Izogibajte se neposredni sončni svetlobi, virom toplote ali pretoku zraka
  2. Čas segrevanja: Senzorju dovolite 2 sekundi po vklopu, preden berete
  3. Pogostost merjenja: DHT senzorji potrebujejo čas med meritvami (vsaj 2 sekundi)
  4. Preverite kondenzacijo: Lahko vpliva na meritve
  5. Kakovost senzorja: DHT11 je manj natančen kot DHT22

Kamera

Težava: Kamera ni zaznana na Raspberry Pi

Napaka: mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera'

Rešitev:

  1. Omogočite vmesnik kamere:
    sudo raspi-config
    
    Pojdite na Interface Options → Camera → Enable
  2. Preverite trak kabla: Zagotovite, da je kabel kamere pravilno vstavljen
    • Modra stran gleda proti USB priključkom na Pi Zero
    • Modra stran gleda stran od USB priključkov na Pi 4
  3. Posodobite firmware:
    sudo apt update
    sudo apt full-upgrade
    sudo reboot
    
  4. Preizkusite kamero:
    raspistill -o test.jpg
    

Težava: Slike iz kamere so nizke kakovosti

Simptomi: Zamegljene, temne ali izprane slike

Rešitev:

  1. Fokus: Odstranite zaščitno folijo s leče, prilagodite fokus, če je nastavljiv
  2. Osvetlitev: Zagotovite ustrezno osvetlitev
  3. Nastavitve kamere: Prilagodite osvetlitev, ISO, bel balans v kodi
  4. Stabilnost: Držite kamero mirno, uporabite stojalo, če je potrebno
  5. Ločljivost: Ne presežite največje ločljivosti kamere

Mikrofon in zvočnik

Težava: Ni avdio vhoda/izhoda

Simptomi: Mikrofon ne snema, zvočnik ne predvaja

Rešitev:

  1. Preverite povezave: Preverite, ali so avdio naprave pravilno priključene
  2. Test strojne opreme:
    • Zvočnik: speaker-test -t wav -c 2
    • Mikrofon: arecord -l za seznam, arecord test.wav za snemanje
  3. Nastavitve glasnosti: Preverite in prilagodite glasnost:
    alsamixer
    
  4. Izberite avdio napravo: V kodi navedite pravilno avdio napravo
  5. Težave z gonilniki: Posodobite ALSA ali ponovno namestite avdio gonilnike

Težava: ReSpeaker hat ne deluje

Simptomi: Avdio naprava ni zaznana

Rešitev:

  1. Namestite gonilnike:
    git clone https://github.com/HinTak/seeed-voicecard
    cd seeed-voicecard
    sudo ./install.sh
    sudo reboot
    
  2. Preverite namestitev: arecord -l bi moral našteti ReSpeaker
  3. Posodobite firmware: Nekatere različice Pi OS potrebujejo posodobitve gonilnikov
  4. Preverite priklop: Zagotovite, da je hat pravilno priključen na GPIO pin-e

Težave z razvojnim okoljem

VS Code

Težava: Terminal se ne aktivira samodejno v virtualnem okolju

Simptomi: Terminal se odpre, vendar virtualno okolje ni aktivirano

Rešitev:

  1. Nastavite Python interpreter: Command Palette → "Python: Select Interpreter" → Izberite venv
  2. Ponovno zaženite VS Code po izbiri interpreterja
  3. Preverite nastavitve: V settings.json dodajte:
    "python.terminal.activateEnvironment": true
    

Težava: Koda ne teče na napravi

Simptomi: Koda teče, a na napravi se nič ne zgodi

Rešitev:

  1. Preverite, da je koda shranjena (preverite piko na zavihku datoteke)
  2. Preverite, kateri Python teče: which python ali where python
  3. Za Wio Terminal: Zagotovite nalaganje kode preko PlatformIO (kliknite gumb za nalaganje)
  4. Za Raspberry Pi: Prijavite se prek SSH na Pi in tam zaženite kodo
  5. Preverite okno z izhodom za napake

Težava: IntelliSense ne prikazuje funkcij knjižnice

Simptomi: Ni samodejnega dopolnjevanja za uvožene module

Rešitev:

  1. Zagotovite, da je knjižnica nameščena v tekočem okolju
  2. Ponovno naložite okno VS Code
  3. Preverite, da je Python interpreter pravilen
  4. Namestite type stube, če so na voljo: pip install types-<ime-knjižnice>

Python virtualna okolja

Težava: Ne morem ustvariti virtualnega okolja

Napaka: The virtual environment was not created successfully

Rešitev:

  1. Namestite venv modul:
    • Ubuntu/Debian: sudo apt install python3-venv
    • macOS: Vključen v Python
    • Windows: Znova namestite Python z vsemi komponentami
  2. Preverite namestitev Pythona: Zagotovite, da je Python pravilno nameščen
  3. Uporabite polno pot: Poskusite python3 -m venv .venv z izrecnim klicem python3

Težava: Paketi nameščeni na napačnem mestu

Simptomi: Napaka pri uvozu po namestitvi paketa

Rešitev:

  1. Preverite aktivacijo venv: Ukazna vrstica naj kaže (.venv)
  2. Preverite lokacijo pip: which pip naj kaže na .venv/bin/pip
  3. Ponovno namestite v venv: Aktivirajte venv, nato pip install <package>
  4. Ne uporabljajte sudo s pip v virtualnem okolju

Težava: Virtualno okolje ni prenosljivo

Simptomi: Venv ne deluje po premiku ali na drugem računalniku

Rešitev:

  1. Ne premikajte venv: Izbrišite ga in ustvarite novega na novi lokaciji
  2. Uporabite requirements.txt:
    pip freeze > requirements.txt
    pip install -r requirements.txt
    
  3. Znova ustvarite venv:
    python3 -m venv .venv
    source .venv/bin/activate  # ali activate.bat na Windows
    pip install -r requirements.txt
    

Odvisnosti

Težava: Namestitev paketa ne uspe

Napaka: Različne napake pip med namestitvijo

Rešitev:

  1. Posodobite pip:
    pip install --upgrade pip
    
  2. Namestite orodja za gradnjo:
    • Ubuntu/Debian: sudo apt install build-essential python3-dev
    • macOS: xcode-select --install
    • Windows: Namestite Visual Studio Build Tools
  3. Preverite povezavo z internetom
  4. Poskusite drug repozitorij paketov: pip install --index-url https://pypi.org/simple/ <package>
  5. Namestite specifično različico: pip install <package>==<version>

Težava: Konflikti odvisnosti

Napaka: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed

Rešitev:

  1. Uporabite sveže virtualno okolje za vsak projekt
  2. Posodobite pakete: pip install --upgrade <package>
  3. Preverite zahteve: Uporabite pip check za iskanje konfliktov
  4. Namestite združljive različice: V zahtevah določite razpon različic v requirements.txt

Težave s hitrostjo

Težava: Koda teče počasi

Simptomi: Zamude, prekinitve, neodzivno vedenje

Rešitev:

  1. Zmanjšajte frekvenco branja senzorjev: Ne berite senzorjev preveč pogosto
  2. Optimizirajte zanke: Izogibajte se čakanju, uporabite sleep() ali zakasnitve
  3. Težave z pomnilnikom:
    • Zaprite nepotrebne aplikacije
    • Oprostite prostor na disku
    • Spremljajte z top ali htop na Pi
  4. Hitrost SD kartice: Uporabite hitrejšo SD kartico ali SSD za Raspberry Pi
  5. Odzivnost omrežja: Uporabljajte asinhrone operacije za omrežne klice

Težava: Napake zaradi pomanjkanja pomnilnika

Napaka: MemoryError ali zamrznitev sistema

Rešitev:

  1. Za Raspberry Pi:
    • Zaprite nepotrebne aplikacije
    • Povečajte swap prostor
    • Uporabite lažjo različico OS (Lite verzija)
    • Nadgradite RAM (Pi 4 ima 2/4/8GB opcije)
  2. Za Wio Terminal:
    • Zmanjšajte velikosti predpomnilnikov
    • Uporabljajte manjše slike
    • Optimizirajte uporabo nizov
    • Preverite puščanje pomnilnika (neprostejen pomnilnik)

Težava: Izguba ali korupcija podatkov

Simptomi: Manjkajoča sporočila, poškodovane datoteke

Rešitev:

  1. Težave s SD kartico:
    • Uporabljajte kakovostne SD kartice (izogibajte se poceni/ponarejenim)
    • Redni varnostni prenosi
    • Čisto zaustavitev (ne izključujte napajanja nenadoma)
  2. Prelivanje predpomnilnika: Povečajte velikosti predpomnilnikov v kodi
  3. Zanesljivost omrežja: Uvedite logiko ponovnih poskusov in obdelavo napak
  4. Kakovost storitve: Za pomembna sporočila uporabite MQTT QoS 1 ali 2

Pogoste napake

ModuleNotFoundError: No module named 'X'

Vzrok: Paket ni nameščen ali virtualno okolje ni aktivirano

Rešitev:

pip install X

Najprej zagotovite aktivacijo virtualnega okolja.

Permission denied na Linux/macOS

Vzrok: Potrebna so povišana dovoljenja ali težave z dovoljenji datotek

Rešitev:

  • Za sistemske operacije: uporabite sudo
  • Za pip: NE uporabljajte sudo z venv, najprej aktivirajte venv
  • Za serijski port: Dodajte uporabnika v skupino dialout: sudo usermod -a -G dialout $USER, nato odjavite/prijavite se

OSError: [Errno 98] Address already in use

Vzrok: Vrata že uporablja drug proces

Rešitev:

  1. Poiščite proces, ki uporablja vrata: lsof -i :<port> ali netstat -ano | findstr :<port>
  2. Ubijte proces ali v kodi uporabite drugačna vrata

SSL: CERTIFICATE_VERIFY_FAILED

Vzrok: Neuspešna preveritev SSL certifikata

Rešitev:

  1. Posodobite certifikate: pip install --upgrade certifi
  2. Preverite pravilen čas sistema: date
  3. Samo za razvoj (ne produkcija): Onemogočite preverjanje v kodi

IndentationError: unexpected indent

Vzrok: Težave z zamiki v Pythonu (mešanje tabulatorjev in presledkov)

Rešitev:

  1. Uporabite dosledne zamike (4 presledki so standard v Pythonu)
  2. Nastavite urejevalnik, da uporablja presledke namesto tabulatorjev
  3. VS Code: Nastavite "editor.insertSpaces": true in "editor.tabSize": 4

UnicodeDecodeError ali UnicodeEncodeError

Vzrok: Težave s kodiranjem znakov

Rešitev:

# Med branjem datotek
with open('file.txt', 'r', encoding='utf-8') as f:
    content = f.read()

# Med pisanjem datotek
with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(content)

Iskanje pomoči

Če ste poskusili te korake za odpravljanje težav in še vedno imate težave:

1. Preverite obstoječe vire

  • Dokumentacija: Preglejte README in navodila za lekcije
  • Vodiči za strojno opremo: Preverite hardware.md za informacije, specifične za strojno opremo
  • Seeed Studio Wiki: Seeed Studio Wiki za Grove komponente

2. Iščite podobne težave

  • GitHub Issues: Iščite obstoječe težave
  • Stack Overflow: Iščite po sporočilih o napakah
  • Forumi za naprave: Preverite forume Raspberry Pi ali Arduino

3. Ustvarite GitHub issue

Če ne najdete rešitve:

  1. Pojdite na GitHub Issues
  2. Kliknite "New Issue"
  3. Navedite:
    • Jasno opis težave
    • Korake za ponovitev težave
    • Sporočila o napakah (celotno besedilo)
    • Verzije strojne/ programske opreme
    • Kaj ste že poskusili
    • Posnetke zaslona, če so pomembni

4. Pridružite se skupnosti

5. Zagotovite dobre bug report-e

Dober bug report vsebuje:

  • Okolje: OS, različica Pythona, uporabljena strojna oprema
  • Koraki za ponovitev: Natančni koraki, ki povzročijo težavo
  • Pričakovano vedenje: Kaj bi se moralo zgoditi
  • Dejansko vedenje: Kaj se dejansko zgodi
  • Sporočila o napakah: Celotno besedilo napake, brez posnetkov zaslona
  • Koda: Minimalen primer kode, ki reproducira težavo

Nasveti za preprečevanje

Splošne dobre prakse

  1. Varnostne kopije: Redno varnostno kopirajte delujoče SD kartice/kodo
  2. Dokumentirajte spremembe: Zapišite, kaj deluje v komentarjih
  3. Nadzor različic: Uporabljajte git za sledenje spremembam kode
  4. Testirajte postopoma: Preizkušajte manjše spremembe pred združevanjem
  5. Berite sporočila o napakah: Pogosto povedo natanko, kaj je narobe
  6. Redno posodabljajte: Ohranjajte programsko opremo/firmware posodobljeno
  7. Uporabljajte kakovostne komponente: Izogibajte se poceni kablom/napajalnikom
  8. Stabilna napetost: Uporabljajte primerno napajanje (še posebej Pi)

Razvojni potek dela

  1. Začnite preprosto: Začnite z delujočo vzorčno kodo
  2. Po ena sprememba naenkrat: Lažje je odkriti, kaj povzroča napako
  3. Pogosto testirajte: Težave odpravite zgodaj
  4. Ohranite red: Logično organizirajte datoteke in kodo
  5. Komentirajte kodo: Vaša prihodnost vam bo hvaležna

Ta vodič za odpravljanje težav vzdržuje skupnost. Če najdete rešitev za težavo, ki tukaj ni navedena, razmislite o tem, da prispevate in pomagate drugim!


Omejitev odgovornosti: Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco Co-op Translator. Čeprav si prizadevamo za natančnost, vas opozarjamo, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Originalni dokument v njegovem izvirnem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Nismo odgovorni za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.