Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Pokud jste Raspberry Pi Pico W provozovali velmi dlouho, je pravděpodobné, že si nakonec všimnete, že váš program již neběží.

Jedním z důvodů, proč programy selhávají po dlouhou dobu, je spolehlivost Wi-Fi. Pokud se vaše Wi-Fi stane nespolehlivou, prvním instinktem Pico W je havárie.

Podívejme se, jak můžeme udělat Pico W odolnějším v MicroPythonu.

Co způsobuje spolehlivost Wi-Fi na Pico W?

Vaše Wi-Fi se odpojuje mnohokrát za den. Je těžké to vnímat na vašem telefonu nebo PC, protože operační systémy a software způsobily tento zaručený nedostatek Wi-Fi sítí.

S Pico W by jednoduchý skript, který se připojuje a načítá data, zhroutil, pokud by vaše Pico W ztratilo připojení. Jediným řešením je tvrdý reset vytažením napájení.

Pokud váš projekt vyžaduje protokolování dat po celé hodiny, nechcete neustále sledovat výpadky.

Zpracování chyb je klíčem k zajištění toho, aby váš program přežil i přes špatná připojení.

Pomůže zlepšení síly signálu Wi-Fi?

Možná uvažujete zda byste měli používat síť typu mesh pro zvýšení síly signálu. Ano, pomůže to, ale ne do takové míry, že se můžete vyhnout scénářům, kdy dojde k výpadku spojení.

V jednom experimentu jsme umístili Pico W na místo ve druhém patře domu a další Pico W vedle Wi-Fi routeru. Rozdíl ve výsledku je v tom, že zařízení ve druhém patře se odpojilo dříve než Pico W umístěné blíže k routeru. I u posledně jmenovaného nakonec došlo k přerušení připojení, což se projevilo mezerami ve sběru dat.

Bohužel, zlepšení síly signálu problém snižuje, ale neřeší. Pojďme se tedy podívat na některé metody psaní odolnějšího kódu.

Metoda připojení a odpojení softwaru

Pokud váš projekt vyžaduje pouze jednosměrnou komunikaci, tato metoda by pro něj byla ideální. Některými příklady mohou být záznamníky teploty, které je třeba provozovat po dlouhou dobu, ale zaznamenávají data pouze jednou za čas.

Vyřeší se tím problém se zhroucením, ke kterému dochází, když si vaše Pico W myslí, že je připojené, ale když se pokusí odeslat data do koncového bodu, uvědomí si, že je offline, a poté se zhroutí.

Klíč k této metodě zahrnuje proceduru, kde váš program běží v nekonečné smyčce. V této smyčce je funkce, která se spustí po uplynutí určité doby. Tato funkce připojí Pico W k Wi-Fi, provede svou práci (např. odešle data na server) a poté se odpojí.

Softwarový tvrdý reset

Použití kódu pro tvrdý reset MicroPythonu vám může pomoci zajistit, že vaše Pico W bude fungovat, i když nezasáhnete. Podívejte se na naše úvod do MicroPythonu pokud potřebujete pomoc, spusťte tento příkaz:

import stroj
stroj.resetovat()

Řekněme, že ztratíte spojení o půlnoci, když spíte. Pokud byste neměli softwarový hard reset, museli byste program ráno ručně resetovat. To může způsobit osmihodinovou ztrátu protokolování dat.

Pokud máte softwarový tvrdý reset, který jste vložili do bloku kódu pro zpracování chyb, Pico W se resetuje sám.

Nevýhodou je, že po tvrdém resetu se stav vašeho programu ztratí a pokud váš program selže, tvrdý reset softwaru se nespustí.

Použijte vestavěný časovač hlídacího psa Pico W

Hardwarový hlídací časovač je v podstatě zařízení, které by resetovalo váš Pico W, pokud by selhal. Časovače Watchdog jsou odpočítávací časovače. Pokud dostanou signál dříve, než odpočítávání dosáhne nuly, odpočítávání se vynuluje. Pokud však odpočítávání dosáhne nuly, pak se Pico W resetuje.

V MicroPythonu je základní kód takový:

z stroj import WDT
wdt = WDT(časový limit=1000) #timeout je v ms
wdt.krmit() #resetujeodpočítávání

Můžeš navštívit Dokumentace WDT od MicroPythonu dozvědět se více a také Pico oficiální SDK dokumenty pro C++ pokyny.

Zajistěte, aby připojení Pico W bylo odolné proti bombám

Chcete-li dát vašemu Pico W tu nejlepší šanci běžet neomezeně dlouho na připojení Wi-Fi, budete muset udělat několik věcí.

Nejprve se ujistěte, že připojení Wi-Fi je dostatečně silné. I když kód může zmírnit některé problémy s Wi-Fi, v závislosti na použité metodě může někdy vést ke ztrátě stavu programu nebo ztrátě datových bodů.

Za druhé, program musí mít nějakou metodu, jak se zotavit z přerušených připojení Wi-Fi, abyste mohli pokračovat ve službě.

Díky těmto krokům si můžete být jisti spolehlivějším připojením vašeho Pico W.