Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Ja Raspberry Pi Pico W palaidāt ļoti ilgu laiku, pastāv iespēja, ka galu galā pamanīsit, ka programma vairs nedarbojas.

Viens no iemesliem, kāpēc programmas ilgstoši neizdodas, ir Wi-Fi uzticamība. Ja jūsu Wi-Fi savienojums kļūst neuzticams, Pico W pirmais instinkts ir avārija.

Apskatīsim, kā mēs varam padarīt Pico W izturīgāku programmā MicroPython.

Kas izraisa Wi-Fi uzticamību Pico W?

Jūsu Wi-Fi savienojums tiek atvienots daudzas reizes dienā. Tālrunī vai datorā to ir grūti uztvert, jo operētājsistēmas un programmatūra ir izskaidrojušas šo garantēto Wi-Fi tīklu trūkumu.

Izmantojot Pico W, vienkāršs skripts, kas savieno un ienes datus, avarētu, ja jūsu Pico W zaudētu savienojumu. Vienīgais risinājums ir to stingri atiestatīt, pavelkot strāvu.

Ja jūsu projektā ir nepieciešams reģistrēt datus stundām ilgi, jūs nevēlaties pastāvīgi uzraudzīt pārtraukumus.

Kļūdu apstrāde ir galvenais, lai nodrošinātu, ka programma var izdzīvot sliktu savienojumu dēļ.

Vai Wi-Fi signāla stipruma uzlabošana palīdzēs?

Jūs varētu apsvērt vai jums vajadzētu izmantot tīkla tīklu lai palielinātu signāla stiprumu. Jā, tas palīdzēs, taču ne tādā mērā, lai izvairītos no gadījumiem, kad savienojums pasliktinās.

Vienā eksperimentā mēs novietojām Pico W vietā mājas otrajā stāvā un otru Pico W blakus Wi-Fi maršrutētājam. Rezultātu atšķirība ir tāda, ka otrā stāva ierīce atvienojās agrāk nekā Pico W, kas atrodas tuvāk maršrutētājam. Arī pēdējam beidzot bija pārtraukts savienojums, par ko liecina nepilnības datu vākšanā.

Diemžēl, lai gan signāla stipruma uzlabošana samazina problēmu, tas to neatrisina. Tāpēc apskatīsim dažas metodes, kā rakstīt elastīgāku kodu.

Programmatūras pievienošanas un atvienošanas metode

Ja jūsu projektam nepieciešama tikai vienvirziena saziņa, šī metode tam būtu lieliski piemērota. Daži piemēri varētu būt temperatūras reģistrētāji, kas jādarbina ilgu laiku, bet tikai laiku pa laikam reģistrē datus.

Tādējādi tiek atrisināta avāriju problēma, kad Pico W uzskata, ka tas ir savienots, taču, mēģinot nosūtīt datus galapunktam, tas saprot, ka tas ir bezsaistē, un pēc tam sāk avāriju.

Šīs metodes atslēga ietver procedūru, kurā jūsu programma darbojas bezgalīgā ciklā. Šajā cilpā ir funkcija, kas darbosies pēc noteikta laika. Šī funkcija savienos Pico W ar Wi-Fi, veiks savu darbu (piemēram, nosūtīs datus uz serveri), pēc tam atvienosies.

Programmatūras cietā atiestatīšana

MicroPython cietās atiestatīšanas koda izmantošana var palīdzēt nodrošināt, ka jūsu Pico W darbosies pat tad, ja jūs neiejauksieties. Skatiet mūsu ievads MicroPython ja jums nepieciešama palīdzība, palaidiet šo komandu:

imports mašīna
mašīna.atiestatīt()

Pieņemsim, ka pusnaktī pazūd savienojums, kamēr guļat. Ja jums nebija programmatūras cietās atiestatīšanas, jums no rīta programma būtu jāatiestata manuāli. Tas var izraisīt astoņu stundu datu reģistrēšanas zudumu.

Ja jums ir programmatūras cietā atiestatīšana, ko esat ievietojis kļūdu apstrādes koda blokā, Pico W atiestatīs pats.

Negatīvā puse ir tāda, ka pēc cietās atiestatīšanas jūsu programmas stāvoklis tiks zaudēts, un, ja programma avarē, programmatūras cietā atiestatīšana netiks aktivizēta.

Izmantojiet Pico W iebūvēto sargsuņa taimeri

Aparatūras sargsuņa taimeris būtībā ir ierīce, kas atiestatītu jūsu Pico W, ja tā nedarbosies. Watchdog taimeri ir atpakaļskaitīšanas taimeri. Ja viņi saņem signālu, pirms atpakaļskaitīšanas laiks sasniedz nulli, atpakaļskaitīšana tiek atiestatīta. Tomēr, ja atpakaļskaitīšana sasniedz nulli, Pico W tiks atiestatīts.

Programmā MicroPython pamata kods ir šāds:

no mašīna imports WDT
wdt = WDT(taimauts=1000) #taimauts ir ms
wdt.pabarot() #atiestataatpakaļskaitīšana

Jūs varat apmeklēt MicroPython WDT dokumentācija lai uzzinātu vairāk un arī Pico oficiālie SDK dokumenti C++ norādījumiem.

Padariet savu Pico W savienojumu bumbvedīgu

Lai jūsu Pico W nodrošinātu vislabāko iespēju bezgalīgi darboties ar Wi-Fi savienojumu, jums būs jāveic vairākas darbības.

Pirmkārt, pārliecinieties, vai Wi-Fi savienojums ir pietiekami spēcīgs. Lai gan kods var mazināt dažas problēmas ar Wi-Fi, atkarībā no izmantotās metodes dažkārt tas var izraisīt programmas stāvokļa vai datu punktu zudumu.

Otrkārt, programmai ir jābūt kādai metodei, kā atgūties no pārtrauktiem Wi-Fi savienojumiem, lai jūs varētu turpināt pakalpojumu.

Veicot šīs darbības, varat būt pārliecināti par uzticamāku Pico W savienojumu.