Raspberry Pi och Arduino: bygga tillförlitliga system med WatchDog timer (1 / 6 steg)
Steg 1: Introduktion till WatchDog timer
Introduktion till WatchDog timer
Datorer förlorar ibland sin väg. En power glitch, RFI (radiofrekvensstörningar), hängande kringutrustning, eller helt enkelt dålig planering kan orsaka små datorn att hänga orsakar din ansökan att misslyckas. Det händer hela tiden. Hur ofta har du till pånyttfödd din PC? Inte särskilt ofta, men en gång i medan din Mac eller PC frysa vilket gör att du har makten växlar datorn. Raspberry Pi kommer ibland frysa på grund av en uppgift inte frigöra uttag eller konsumera andra systemresurser och från power supply fluktuationer. Arduinos frysa ibland på grund av spänningsfall på kraftledningen eller ett kort strömavbrott eller löpande ute om systemresurser som RAM och/eller stack utrymme, som är en mycket begränsad resurs i en Arduino. Ibland även programmerare (gasp!) göra misstag.
Se WatchDog Timer och dator blockdiagram ovan.
I små datorer, kan du ge enheten möjlighet att återhämta sig från fel genom att använda vad som kallas en WatchDog Timer (WDT). En WDT är en elektronisk timer som används för att upptäcka och återställa från fel dator. Om datorn inte nollställa timern (även kallad "klappa hunden") på WDT innan den WDT timern går ut, används den WDT signalen ska initieras antingen korrigerande åtgärder eller helt enkelt starta om datorn.
Användning av en WatchDog Timer gör projektet datorn mer tillförlitliga? Svaret är Ja. Korrekt användning av en WatchDog timer kan göra datorn starta om när det försvinner. Ett känt problem med vissa Python bibliotek på Raspberry Pi är att några av dessa bibliotek ordentligt inte släppa sockets och efter en lång tid (dagar allmänt - inte veckor) Raspberry Pi kommer hänga eller thrash eftersom det är medel. Ett korrekt utformade program kunde upptäcka detta och starta om datorn, men en WatchDog Timer kan användas till att täcka en hel mängd synder med ett svep.
I Projektet Curacao, vi använder en WatchDog Timer för att återställa den batteri Power vakthund vid en brownout eller en RFI upprörd händelse.
I vår WeatherPi Instructable stängs () vi använder WatchDog Timer så att Raspberry Pi kraften efter "nu shutdown -h" stopp och även att upptäcka datorn att gå vilse. Mer reliablity!