Alimentación y funcionamiento permanente de una Raspberry Pi

javun

  • Newbie
  • *
    • Mensajes: 16
    • Ver Perfil
Si queremos que una Raspberry funcione de manera confiable 24/7, hay algunas sutilezas...



UNA DE LAS SUTILEZAS HACE QUE EN UNA DE LAS RPI QUE TENGO, ESTO FUNCIONE BIEN, PERO JUSTO EN LA QUE NECESITO, ME RESETEE CONTINUAMENTE, GRRRRRRR - AVERIGUARE!

Por un lado el circuito de la RPI contiene un watchdog timer que se puede configurar para que la rebootee si se cuelga. Transcribo de un blog los pasos necesarios:

Código: [Seleccionar]
sudo modprobe bcm2835_wdt
echo "bcm2835_wdt" | sudo tee -a /etc/modules

sudo apt-get install watchdog
sudo update-rc.d watchdog defaults

sudo nano /etc/watchdog.conf

DESCOMENTAR (SACAR EL #)

#watchdog-device
#max-load-1

Y AGREGAR

watchdog-timeout = 7

GUARDAR, REBOOTEAR Y TESTEAR QUE FUNCIONE HACIENDO QUE LA RPI SE CUELGUE CON LA SIGUIENTE INSTRUCCION

:(){ :|:& };:   

Por otro lado, como es relativamente frecuente que se corte la energía, por lo menos donde vivo, tengo una UPS APC que me da una autonomía de entre 1 y 5 horas dependiendo de que esté usando.

Una de las cosas que me interesan es que la RPI se apague "ordenadamente" cuando se está por agotar la batería de la UPS, para evitar, en lo posible, que lo haga durante una escritura en la tarjeta SD, y que después tenga problemas al arrancar. Algo así me pasaba en un momento en que el servicor Node-Red no volvía a arrancar después de un corte porque se le estropeaba algún archivo de nodos.

Conectando la UPS por USB e instalando el servicio apcupsd, se puede configurar para que se apague la RPI por ej., dos minutos antes de que se agote la batería. Como beneficio adicional, se puede monitorear la UPS y la línea de 220V desde un nodo de Node-Red, como puse en el post Dos nodos interesantes para Node-RED

Si la batería se agota, y se va la tensión de 220, cuando vuelva, la RPI arrancará de nuevo.

Peeero, si justo cuando el proceso apcupsd apaga la RPI, y antes de que se apague la UPS, vuelve la tensión, no se termina ciclando la alimentación y no vuelve a arrancar la RPI.

Para lo cual, la solución que encontré es alimentar con una fuentecita china de 220VCA a 5VDC, un relé de 5V, que en su circuito normalmente abierto conecta el PIN5 de la RPI a GND. Con eso, la RPI bootea nuevamente. La solución sirve si no es necesario usar dicho pin, que es parte del puerto I2C, para otra cosa.

Engendro de reseteo para la eventualidad de que vuelva la energía en los dos minutos que pasan entre el shutdown preventivo de la RPI y que la UPS se apague efectivamente (prueba, por supuesto que hay que cablearlo más prolijo)...





« Última Modificación: octubre 02, 2018, 11:49:03 pm by javun »