Apagado seguro con pulsador
Inicio
Es conveniente apagar la Raspberry Pi, con el comando:
sudo shutdown -h now
ya que si la apagamos quitándole la alimentación, puede ocurrir que se averíe el arranque del sistema.
En este ejemplo vamos a poner un Pulsador entre el terminal 40 (es el GPIO21) y GND (39).
Conectamos el Pulsador. Cargamos el siguiente código y probamos su funcionamiento.
Script de Apagado
En el directorio / he creado este archivo: .apagar.py
sudo nano /.apagar.py
Añadimos el siguiente código:
#!/bin/python
# Apagar Raspberry con un Botón en los terminales 40 y GND. El terminal 40 es el GPIO21.
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40, GPIO.IN, pull_up_down = GPIO.PUD_UP)
def Apagar(channel):
os.system("sudo shutdown -h now")
GPIO.add_event_detect(40, GPIO.FALLING, callback = Apagar, bouncetime = 2000)
while 1:
time.sleep(1)
Activación del script en el arranque del sistema
- Podemos configurar para que el script .apagar.py, se ejecute "automáticamente" cuando arranque el sistema, para ello vamos a:
sudo nano /etc/rc.local
y escribimos esta línea:
/usr/bin/python3 /.apagar.py &
Guardamos y hacemos un reinicio manual, para que .apagar.py se ejecute en el inicio
sudo shutdown -r now
A partir de este momento, cada vez que accionemos el Pulsador, se apagará nuestra Raspberry.
Se recuerda que esto solo apaga el sistema, pero la raspberry sigue prendida, luego solo basta desconectarla.