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.

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.