Qu'est ce qu'un Watchdog ? Comment l'utiliser sur la Beaglebone ?

Introduction

Le Watchdog (chien de garde) est un mécanisme de surveillance présent dans de nombreux systèmes informatiques, y compris la BeagleBone Black. Son objectif principal est de surveiller le fonctionnement du système et de prendre des mesures en cas d’anomalie ou de blocage.

La BeagleBone Black est un micro-ordinateur basé sur un processeur ARM. Elle est utilisée dans de nombreux projets embarqués et peut fonctionner de manière autonome, par exemple dans des systèmes de contrôle ou d’automatisation.

Le Watchdog de la BeagleBone Black est un composant matériel intégré qui peut être configuré et activé via des logiciels. Il est conçu pour surveiller en permanence l’exécution du programme principal. Si le Watchdog ne reçoit pas de signaux réguliers provenant du programme, il considère cela comme une anomalie ou un blocage et prend des mesures pour remédier à la situation.

L’utilité du Watchdog réside dans sa capacité à détecter les situations où le programme principal ne fonctionne plus correctement ou est bloqué. Il peut s’agir de boucles infinies, de plantages logiciels, de blocages matériels, ou d’autres situations où le programme cesse de répondre.

Lorsqu’une telle situation est détectée, le Watchdog peut prendre différentes mesures en fonction de la configuration. Par exemple, il peut redémarrer le système, exécuter un script de récupération, ou générer une alerte pour signaler l’incident.

 

Mise en place du Watchdog

On va maintenant vous proposer deux solutions pour mettre en place le Watchdogs sur BeagleBone Black. Celui-ci fonctionne avec un fichier situé dans “” que vous devez ouvrir et écrire un caractère quelconque en moins de 60 secondes.  Ceci permet de détecter que la carte fonctionne toujours. Une fois le premier caractère écrit le watchdog est activé.

Si un nouveau caractère n’est pas écrit dans les 60 secondes alors la carte va redémarrer.

Ceci peut -être très utile si par exemple vous avez écrit un programme et que vous souhaitez que la carte beaglebone redémarre si celui-ci plante : il suffit d’ouvrir le fichier watchdog à l’intérieur de votre programme. Si vous programme plante alors que le fichier watchdog ne sera plus ouvert et la carte va naturellement redémarrer.

Pour pouvoir mettre en place le watchdog, on va créer un fichier bash qui va l’activer. pour cela on ouvre le terminal sur la beaglebone :

 

Dans le terminal on crée un fichier bash :

nano script_watchdog.script_watchdog

Voici le programme ajouter dans votre fichier bash :

#!/bin/bash
for (( ; ;))
do 
   cat > /dev/watchdog
done

Vous pouvez ensuite lancer ce script avec cette ligne :

./script_watchdog.sh

Comment lancer le script au démarrage de la carte ?

Pour lancer le script au démarrage de la carte, il faut l’ajouter dans le fichier “rc.local“. Voici la commande à effectuer dans le terminal :

sudo nano /etc/rc.local

Voici ce que vous devez ajouter dans le fichier “rc.local” pour automatiser le programme :

cd /home/debian/Desktop
./script_watchdog.sh

Inclure le Watchdog dans vos programmes !

Cela peut-être très utile d’inclure le watchdog dans votre programme afin de faire redémarrer votre carte si votre programme plante.

Pour cela il suffit d’ouvrir le fichier watchdog à l’intérieur de votre programme. Si vous programme plante alors le fichier watchdog ne sera plus ouvert et la carte va naturellement redémarrer.

Voic un exemple de fonction que vous pouvez mettre dans votre programme python :

def watchdogs() : 
    fichier=open("/dev/watchdog","w")
    fichier.write("e")
    fichier.close()
watchdog()

Conclusion

 

En résumé, le Watchdog de la BeagleBone Black est un mécanisme de surveillance essentiel qui aide à garantir la fiabilité et la disponibilité du système. Il est utilisé pour détecter les anomalies et les blocages, et prendre des mesures appropriées pour rétablir le bon fonctionnement du système.