Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Ako ste svoj Raspberry Pi Pico W koristili jako dugo, velike su šanse da ćete na kraju primijetiti da vaš program više ne radi.

Jedan od razloga zašto programi ne uspijevaju tijekom dugog vremenskog razdoblja uključuje pouzdanost Wi-Fi mreže. Ako vaš Wi-Fi postane nepouzdan, prvi instinkt Pica W je da se sruši.

Pogledajmo kako možemo učiniti Pico W otpornijim u MicroPythonu.

Što uzrokuje Wi-Fi pouzdanost na Pico W?

Vaš Wi-Fi se prekida mnogo puta dnevno. Teško je to uočiti na telefonu ili računalu jer su operativni sustavi i softver odgovorni za ovaj zajamčeni nedostatak Wi-Fi mreža.

S Pico W, jednostavna skripta koja se povezuje i dohvaća podatke srušila bi se ako vaš Pico W izgubi vezu. Jedino rješenje je hard reset povlačenjem napajanja.

Ako vaš projekt zahtijeva bilježenje podataka satima, ne želite stalno nadzirati prekide rada.

Rješavanje pogrešaka je ključ za osiguravanje da vaš program može preživjeti kroz loše veze.

instagram viewer

Hoće li poboljšanje jačine Wi-Fi signala pomoći?

Možda razmišljate trebate li koristiti mesh mrežu za povećanje jačine signala. Da, pomoći će, ali ne u mjeri u kojoj možete izbjeći scenarije u kojima dolazi do prekida veze.

U jednom smo eksperimentu postavili Pico W na mjesto na drugom katu kuće, a drugi Pico W pokraj Wi-Fi rutera. Razlika u ishodu je u tome što se uređaj na drugom katu odspojio ranije nego Pico W koji se nalazi bliže usmjerivaču. Potonji je na kraju također imao prekinutu vezu, što se odražava u prazninama u prikupljanju podataka.

Nažalost, iako poboljšanje jačine signala smanjuje problem, ne rješava ga. Dakle, pogledajmo neke metode za pisanje otpornijeg koda.

Softverska metoda povezivanja i odspajanja

Ako vaš projekt zahtijeva samo jednosmjernu komunikaciju, ova bi metoda bila savršena za to. Neki primjeri bi bili programi za bilježenje temperature koji se moraju pokretati kroz dulje vremensko razdoblje, ali bilježe podatke samo s vremena na vrijeme.

Ovo rješava problem rušenja do kojih dolazi kada vaš Pico W misli da je povezan, ali kada pokuša poslati podatke na krajnju točku, shvati da je izvan mreže, a zatim se ruši.

Ključ ove metode uključuje proceduru u kojoj se vaš program izvodi u beskonačnoj petlji. Unutar ove petlje nalazi se funkcija koja će se pokrenuti nakon što istekne određeno vrijeme. Ova funkcija će povezati Pico W na Wi-Fi, obaviti svoj posao (npr. poslati podatke na poslužitelj), a zatim prekinuti vezu.

Softver Hard Reset

Korištenje MicroPythonovog hard reset koda može vam pomoći da osigurate da će vaš Pico W raditi čak i ako ne intervenirate. Pogledajte naše uvod u MicroPython ako trebate pomoć, pokrenite ovu naredbu:

uvoz mašina
mašina.resetirati()

Recimo da izgubite vezu u ponoć dok spavate. Ako niste imali hard reset softvera, morali biste ručno resetirati program ujutro. To može uzrokovati osam sati gubitka podataka.

Ako imate softverski hard reset, koji ste stavili u svoj blok koda za obradu pogrešaka, Pico W će se sam resetirati.

Loša strana ovoga je da će se nakon hard reseta stanje vašeg programa izgubiti i ako se vaš program sruši, neće se pokrenuti hard reset softvera.

Upotrijebite Pico W ugrađeni Watchdog Timer

Hardverski nadzorni mjerač vremena u osnovi je uređaj koji bi resetirao vaš Pico W ako ne radi ispravno. Watchdog timeri su mjerači vremena za odbrojavanje. Ako dobiju signal prije nego što odbrojavanje dosegne nulu, tada se odbrojavanje poništava. Međutim, ako odbrojavanje dosegne nulu, poništit će Pico W.

U MicroPythonu, osnovni kod je takav:

iz mašina uvoz WDT
wdt = WDT(timeout=1000) #timeout je u ms
wdt.hraniti() #resetiraodbrojavanje

Možeš posjetiti MicroPython WDT dokumentacija naučiti više i također Picoovi službeni SDK dokumenti za C++ smjernice.

Neka vaš Pico W Connection bude otporan na bombe

Da biste svom Pico W dali najbolju priliku da neograničeno radi na Wi-Fi vezi, morat ćete učiniti više stvari.

Prvo provjerite je li Wi-Fi veza dovoljno jaka. Iako kod može ublažiti neke izazove s Wi-Fi-jem, ovisno o korištenoj metodi, ponekad može rezultirati izgubljenim stanjem programa ili izgubljenim podatkovnim točkama.

Drugo, program mora imati neku metodu za oporavak od prekida Wi-Fi veze kako biste mogli nastaviti pružati uslugu.

S ovim koracima možete biti sigurni u pouzdanije povezivanje s Pico W.