Stap 6: Activeren van de ingebouwde Watchdog
Aangezien de Pi is gonna worden uitgevoerd zonder toezicht in onze applicatie, is het belangrijk om het automatisch opnieuw opgestart nadat het plotseling bevroor voor een of andere reden te hebben.
Gelukkig heeft de Raspberry Pi's BCM2835 SoC (systeem op kaart) een hardware-based "waakhond" aan boord. De betekenis van een waakhond is goed uitgelegd hier. Het is eigenlijk een timerfunctie waarmee van sommige aanvankelijke waarde tot nul worden geteld. Wanneer nul wordt bereikt, wordt de watchdog-timer begrijpt dat het systeem is opgehangen en stelt, worden hersteld.
De watchdog-timer moet daarom regelmatig worden bijgewerkt met een nieuwe waarde om het bereiken van nul en veroorzaken een reset te stoppen. Met andere woorden, heeft de RasPi te voeden de watchdog periodiek met een hartslag van de lopende software. Wanneer de RasPi is opgesloten in het doen van een bepaalde taak en dus niet meer de watchdog-timer bijwerken, de timer zal onvermijdelijk bereiken nul en een reset zal plaatsvinden.
Een daemon is vereist voor het verzenden van de hartslag. Gebruik de Linux kant-en-klare watchdog-daemon maar een python wrapper voor interface bevatten met de Linux watchdog-daemon niet wij als beschreven hier. Waarmee ons te activeren en deactiveren van de watchdog-daemon en te zetten van de hartslag van onze python script.
We laden de watchdogdev uitbreidingsmodule voor Python, d.w.z. de python wrapper:
CD/root
install apt-get install python-dev (was al gedaan bij het opzetten van de GPIO voor de Pi)
sudo apt-get install python-pip
PIP installeren watchdogdev
Opnieuw opstarten van het systeem en het laden van de watchdog kernelmodule met de volgende opdrachten
opnieuw opstarten
modprobe bcm2708_wdog
zal het bestand maken "watchdog" in de map "/ dev".
We moeten een regel "bcm2708_wdog" toe te voegen aan het bestand '/ etc/modules' om te laten de RasPi belasting de module de volgende tijd het systeem laarzen.
nano/etc/modules (toevoegen van de regel "bcm2708_wdog")