Stap 1: Inleiding tot de WatchDog Timers
Inleiding tot de WatchDog Timers
Computers verliezen soms hun weg. Een macht glitch, RFI (Radio Frequency Interference), opknoping randapparatuur, of gewoon slechte programmering kan leiden tot kleine computer te hangen waardoor uw toepassing te mislukken. Het gebeurt de hele tijd. Hoe vaak hebt u om uw PC te rebooten? Niet heel vaak, maar eenmaal in terwijl je Mac of PC zal bevriezen waardoor je hebt aan de macht cyclus de computer. Raspberry Pi's zal soms bevriezen vanwege een taak niet vrijmaken van sockets of andere systeembronnen verbruiken en leveren schommelingen van de macht. Arduinos bevriezen soms gevolg van kortstondige schommelingen of onderbrekingen op de lijn van de macht of een korte stroomstoring of opraakt van systeembronnen, zoals RAM en/of stack ruimte, die een zeer beperkte hulpbron in een Arduino. Soms zelfs programmeurs (snik!) maken fouten.
Zie de WatchDog-Timer en Computer blokdiagram hierboven.
In kleine computers, kunt u het apparaat de kans om te herstellen van fouten met behulp van wat heet een WatchDog-Timer (WDT) geven. Een WDT is een elektronische timer die wordt gebruikt voor het detecteren en herstellen computer storingen. Als de computer niet opnieuw instellen van de timer (ook wel "klopte de hond" genoemd) op de WDT voordat de WDT timer verloopt, wordt de WDT signaal wordt gebruikt om te starten of corrigerende maatregelen of gewoon voor het opnieuw opstarten van de computer.
Het gebruik van een WatchDog-Timer maakt uw computer project betrouwbaarder? Het antwoord is Ja. Het juiste gebruik van een WatchDog-timer kunt maken met uw computer opnieuw opstarten wanneer het wordt verloren. Een bekend probleem met sommige Python-bibliotheken op de Raspberry Pi is dat sommige van die bibliotheken correct sockets niet vrijgeven en na een lange periode van tijd (dagen in het algemeen - geen weken) de Raspberry Pi zal hangen of thrash omdat er geen middelen. Een goed ontworpen programma kan detecteren deze en herstart de computer, maar een WatchDog-Timer kan worden gebruikt ter dekking van een hele menigte van zonden met één klap.
In Project Curacao, gebruiken we een WatchDog-Timer opnieuw instellen van de batterij Power Watchdog in geval van een brownout of een RFI overstuur gebeurtenis.
() We de WatchDog-Timer gebruiken om ervoor te zorgen dat de macht van de Raspberry Pi is in onze WeatherPi Instructable sluit af na stilstand "shutdown -h nu" en ook om op te sporen van de computer te verdwalen. Meer reliablity!