Če ste svoj Raspberry Pi Pico W izvajali zelo dolgo, obstaja velika verjetnost, da boste sčasoma opazili, da se vaš program ne izvaja več.
Eden od razlogov, zakaj programi v daljšem časovnem obdobju ne uspejo, je zanesljivost Wi-Fi. Če vaš Wi-Fi postane nezanesljiv, je Pico W prvi instinkt, da se zruši.
Poglejmo, kako lahko naredimo Pico W bolj odporen v MicroPythonu.
Kaj povzroča zanesljivost Wi-Fi na Pico W?
Vaš Wi-Fi prekine povezavo večkrat na dan. Na telefonu ali osebnem računalniku je to težko zaznati, ker so operacijski sistemi in programska oprema odgovorni za to zagotovljeno pomanjkljivost omrežij Wi-Fi.
Pri Pico W bi se preprost skript, ki se povezuje in pridobiva podatke, zrušil, če bi vaš Pico W izgubil povezavo. Edina rešitev je, da ga strojno ponastavite s potegom napajanja.
Če vaš projekt zahteva beleženje podatkov več ur naenkrat, ne želite nenehno spremljati izpadov.
Obravnavanje napak je ključ do zagotavljanja, da lahko vaš program preživi zaradi slabih povezav.
Ali bo izboljšanje moči signala Wi-Fi pomagalo?
Morda razmišljate ali naj uporabite zapleteno omrežje za povečanje moči signala. Da, pomagalo bo, vendar ne do te mere, da bi se lahko izognili scenarijem, kjer pride do prekinitve povezave.
V enem poskusu smo Pico W postavili na lokacijo v drugem nadstropju hiše, drugega Pico W pa poleg Wi-Fi usmerjevalnika. Razlika v rezultatu je, da je naprava v drugem nadstropju prekinila povezavo prej kot Pico W, ki je bližje usmerjevalniku. Tudi slednji je imel sčasoma prekinjeno povezavo, kar se odraža v vrzeli pri zbiranju podatkov.
Na žalost izboljšanje moči signala zmanjša težavo, vendar je ne reši. Oglejmo si torej nekaj metod za pisanje bolj prožne kode.
Metoda povezovanja in odklopa programske opreme
Če vaš projekt zahteva samo enosmerno komunikacijo, bi bila ta metoda kot nalašč za to. Nekateri primeri so zapisovalniki temperature, ki jih je treba izvajati dlje časa, vendar podatke zabeležijo le občasno.
To reši težavo z zrušitvami, ko vaš Pico W misli, da je povezan, ko pa poskuša poslati podatke na končno točko, ugotovi, da je brez povezave, nato pa se zruši.
Ključ do te metode vključuje postopek, pri katerem se vaš program izvaja v neskončni zanki. V tej zanki je funkcija, ki se bo zagnala po preteku določenega časa. Ta funkcija bo Pico W povezala z Wi-Fi, opravila svoje delo (npr. poslala podatke na strežnik) in nato prekinila povezavo.
Programska oprema Hard Reset
Uporaba kode za trdo ponastavitev MicroPython vam lahko pomaga zagotoviti, da bo vaš Pico W deloval, tudi če ne posredujete. Oglejte si naše uvod v MicroPython če potrebujete pomoč, zaženite ta ukaz:
uvoz stroj
stroj.ponastaviti()
Recimo, da izgubite povezavo opolnoči, ko spite. Če ne bi imeli strojne ponastavitve programske opreme, bi morali zjutraj ročno ponastaviti program. To lahko povzroči osemurno izgubo beleženja podatkov.
Če imate strojno ponastavitev programske opreme, ki ste jo vstavili v blok kode za obravnavo napak, se bo Pico W ponastavil sam.
Slaba stran tega je, da se po trdi ponastavitvi stanje vašega programa izgubi in če se program zruši, se strojna ponastavitev programske opreme ne sproži.
Uporabite vgrajeni nadzorni časovnik Pico W
Strojni nadzorni časovnik je v bistvu naprava, ki bi ponastavila vaš Pico W, če ne deluje pravilno. Nadzorni časovniki so odštevalniki časa. Če prejmejo signal, preden odštevanje doseže nič, se odštevanje ponastavi. Če pa odštevanje doseže nič, bo ponastavil Pico W.
V MicroPythonu je osnovna koda takšna:
od stroj uvoz WDT
wdt = WDT(časovna omejitev=1000) #timeout je v ms
wdt.hraniti() #ponastaviodštevanje
Lahko obiščete Dokumentacija WDT za MicroPython izvedeti več in tudi Picovi uradni dokumenti SDK za navodila za C++.
Naj bo vaš Pico W Connection odporen proti bombam
Če želite svojemu Picu W dati najboljšo možnost, da neomejeno deluje prek povezave Wi-Fi, boste morali narediti več stvari.
Najprej se prepričajte, da je povezava Wi-Fi razmeroma močna. Čeprav lahko koda ublaži nekatere izzive z Wi-Fi, lahko odvisno od uporabljene metode včasih povzroči izgubljeno stanje programa ali izgubljene podatkovne točke.
Drugič, program mora imeti neko metodo za obnovitev po prekinitvi povezav Wi-Fi, da lahko zagotovite nadaljnjo storitev.
S temi koraki ste lahko prepričani v zanesljivejšo povezljivost vašega Pico W.