Paso 6: Activar el dispositivo de vigilancia integrado
Desde la Pi se va a ejecutar solo en nuestra aplicación, es importante que se reinicie automáticamente después de que de repente se congeló por cualquier razón.
Afortunadamente, el Raspberry Pi BCM2835 SoC (sistema en tarjeta) tiene basado en hardware "perro guardián" a bordo. El significado de un perro guardián está bien explicado aquí. Es básicamente un contador que cuenta desde un valor inicial a cero. Al llega a cero, el temporizador perro guardián entiende que el sistema se cuelga para arriba y lo devuelve.
Por lo tanto, el temporizador de vigilante se debe actualizar periódicamente con un nuevo valor para que deje de llegar a cero y provocar un reset. En otras palabras, el RasPi tiene para alimentar a su perro guardián periódicamente con un latido del software corriente. Cuando el RasPi está encerrado haciendo una determinada tarea y por lo tanto no puede actualizar el temporizador del vigilante más, el temporizador inevitablemente llegará a cero y se producirá un reset.
Un demonio es necesario para el envío de los latidos del corazón. No usamos Linux listo para su uso watchdog-daemon pero un wrapper en python para interfaz con el perro guardián-el demonio en Linux como se describe aquí. Que nos permite activar y desactivar el demonio de guardián e iniciar los latidos del corazón de nuestro script de python.
Cargamos el módulo de extensión watchdogdev para Python, es decir, la envoltura de python:
CD/root
apto-conseguir instalar python-dev (ya estaba hecho cuando se configura el GPIO del Pi)
apt-get install python-pip
PIP instalar watchdogdev
Reiniciando el sistema y cargar el módulo del núcleo de vigilancia con los siguientes comandos
reiniciar el sistema
modprobe bcm2708_wdog
se creará el archivo "perro guardián" en la carpeta "/ dev".
Tenemos que añadir una línea "bcm2708_wdog" al archivo "/ etc/modules" para dejar la carga RasPi el módulo la siguiente vez las botas del sistema.
nano/etc/modules (agregue la línea "bcm2708_wdog")