====== Configuration du watchdog ======
Fichier ''/etc/rc.local''
Editer le fichier avec la commande (ajouter en fin de fichier AVANT ''exit 0'' )
sudo nano /etc/rc.local
#WATCHDOG
echo "12" > /sys/class/gpio/export &
sleep 2
echo out > /sys/class/gpio/gpio12/direction
Ce code sera utilisé pour tester le fonctionnement correct du chien de garde (watchdog) installé sur la carte "SvxLink Card".
Le temps de démarrage du boot étant supérieur à 10 secondes, il est conseillé de régler le temps de détection (timeout) au maximum.
Comme l'indique le tableau ci-dessous issu de la ficher produit du MAX6369, les 3 cavaliers SET0, SET1 et SET2 sont fermés (souder les trois paires de carrés)
{{ :undefined:watchdog_svxlink_card.jpg?direct&300 |Watchdog details}}
Le code suivant va permettre de générer un état bistable de période 2 secondes sur l'entrée du watchdog.
#!/usr/bin/python
import time
from RPi import GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(32, GPIO.OUT)
while True:
inputval1 = GPIO.output(32, False)
time.sleep(1)
inputval1 = GPIO.output(32, True)
time.sleep(1)
Alors que le programme est lancé avec la commande
sudo python test-watchdog.py
Depuis une deuxième console connecté au Raspberry Pi, avec la commande bash (console) suivante, on vérifie que la sortie commute effectivement
while true; gpio read 26; done
{{ :documents:tests-watchdog.gif |}}
Le jumper de validation doit être mis en place pour ssurer la mise en marche du watchdog.
===== Essais du watchdog =====
On simule à présent le plantage programme en stoppant l'exécution du code python test-watchdog.py en faisant CTRL-C.
Entre 180 et 300 secondes, le watchdog va redémarrer le Raspberry Pi. Les connexions de console sont à relancer.