Ak ste Raspberry Pi Pico W používali veľmi dlho, je pravdepodobné, že si nakoniec všimnete, že váš program už nefunguje.
Jedným z dôvodov, prečo programy zlyhávajú počas dlhého časového obdobia, je spoľahlivosť Wi-Fi. Ak sa vaše Wi-Fi stane nespoľahlivým, prvým inštinktom Pico W je zlyhať.
Pozrime sa, ako môžeme urobiť Pico W odolnejším v MicroPythone.
Čo spôsobuje spoľahlivosť Wi-Fi na Pico W?
Vaša sieť Wi-Fi sa odpojí mnohokrát za deň. Je ťažké to vnímať na telefóne alebo PC, pretože operačné systémy a softvér spôsobili tento zaručený nedostatok Wi-Fi sietí.
S Pico W by jednoduchý skript, ktorý sa pripája a získava údaje, zrútil, ak by váš Pico W stratil pripojenie. Jediným riešením je tvrdý reset vytiahnutím napájania.
Ak váš projekt vyžaduje zaznamenávanie údajov na celé hodiny, nechcete neustále monitorovať výpadky.
Spracovanie chýb je kľúčom k zabezpečeniu toho, aby váš program prežil aj cez slabé pripojenia.
Pomôže zlepšenie sily signálu Wi-Fi?
Možno uvažujete či by ste mali použiť mesh sieť na zvýšenie sily signálu. Áno, pomôže to, ale nie do takej miery, aby ste sa vyhli scenárom, pri ktorých dôjde k poklesu spojenia.
V jednom experimente sme umiestnili Pico W na miesto na druhom poschodí domu a ďalšie Pico W vedľa smerovača Wi-Fi. Rozdiel vo výsledku je v tom, že zariadenie na druhom poschodí sa odpojilo skôr ako Pico W umiestnené bližšie k routeru. Posledne menovanému sa nakoniec tiež prerušilo spojenie, čo sa odrážalo v medzerách v zhromažďovaní údajov.
Bohužiaľ, zlepšenie sily signálu problém zmenšuje, ale nerieši. Poďme sa teda pozrieť na niektoré metódy na písanie odolnejšieho kódu.
Metóda pripojenia a odpojenia softvéru
Ak váš projekt vyžaduje iba jednosmernú komunikáciu, táto metóda by bola preň ideálna. Niektoré príklady by mohli byť záznamníky teploty, ktoré je potrebné spustiť počas dlhého časového obdobia, ale údaje zaznamenávajú iba raz za čas.
Toto rieši problém zlyhaní, ku ktorému dochádza, keď si váš Pico W myslí, že je pripojený, ale keď sa pokúsi odoslať údaje do koncového bodu, zistí, že je offline, a potom zlyhá.
Kľúč k tejto metóde zahŕňa procedúru, v ktorej váš program beží v nekonečnej slučke. V rámci tejto slučky je funkcia, ktorá sa spustí po uplynutí určitého času. Táto funkcia pripojí Pico W k Wi-Fi, vykoná svoju prácu (napr. odošle dáta na server) a potom sa odpojí.
Softvérový tvrdý reset
Použitie kódu tvrdého resetovania MicroPythonu vám môže pomôcť zabezpečiť, že váš Pico W bude fungovať, aj keď nezasiahnete. Pozrite si naše úvod do MicroPythonu ak potrebujete pomoc, spustite tento príkaz:
importovať stroj
stroj.resetovať()
Povedzme, že stratíte spojenie o polnoci, keď spíte. Ak by ste nemali softvérový tvrdý reset, museli by ste ráno program manuálne resetovať. Môže to spôsobiť osemhodinovú stratu protokolovania údajov.
Ak máte softvérový tvrdý reset, ktorý ste vložili do bloku kódu na spracovanie chýb, Pico W sa resetuje sám.
Nevýhodou je, že po tvrdom resete sa stav vášho programu stratí a ak váš program zlyhá, tvrdý reset softvéru sa nespustí.
Použite vstavaný časovač Watchdog v Pico W
Hardvérový strážny časovač je v podstate zariadenie, ktoré by resetovalo váš Pico W v prípade jeho poruchy. Časovače Watchdog sú odpočítavacie časovače. Ak dostanú signál skôr, ako odpočítavanie dosiahne nulu, odpočítavanie sa vynuluje. Ak však odpočítavanie dosiahne nulu, potom sa Pico W resetuje.
V MicroPythone je základný kód takýto:
od stroj importovať WDT
wdt = WDT(časový limit=1000) #timeout je v ms
wdt.kŕmiť() #resetujeodpočítavanie
Môžeš navštíviť Dokumentácia WDT od MicroPythonu dozvedieť sa viac a tiež Oficiálne dokumenty SDK spoločnosti Pico pre pokyny v jazyku C++.
Zabezpečte, aby bolo pripojenie Pico W odolné voči bombám
Ak chcete dať vášmu Pico W tú najlepšiu šancu na neobmedzený chod na Wi-Fi pripojení, budete musieť urobiť viacero vecí.
Najprv sa uistite, že pripojenie Wi-Fi je dostatočne silné. Aj keď kód môže zmierniť niektoré problémy s Wi-Fi, v závislosti od použitej metódy môže niekedy viesť k strate stavu programu alebo strate dátových bodov.
Po druhé, program musí mať nejakú metódu na obnovenie z prerušených pripojení Wi-Fi, aby ste mohli pokračovať v službe.
Po vykonaní týchto krokov si môžete byť istí spoľahlivejším pripojením vášho Pico W.