Una de las cosas que peor le sientan a nuestra Raspberry Pi es el apagar quitando la corriente, para ello vamos a montar un sistema que apague la pI al pulsar o cruzar mediante un jumper los pines 39 GND y 37 GPIO 26
Crearemos el fichero piShutdown.py
#boton de apagado en los pines 39 GND y 37 GPIO 26 from gpiozero import Button import time import os contador = 0 stopButton = Button(26) while True: if stopButton.is_pressed: time.sleep(0.5) if stopButton.is_pressed: os.system("echo mmc0 >/sys/class/leds/led0/trigger") os.system("/bin/bash /home/antonio/scripts/sapagado.sh") time.sleep(1) os.system("shutdown now -h") time.sleep(0.5) contador = contador + 1 if contador > 9: contador = 0 # On os.system("echo 1 >/sys/class/leds/led0/brightness") else: # Off os.system("echo 0 >/sys/class/leds/led0/brightness")
Básicamente comprueba si se ha pulsado el GPIO 26 , y si se ha pulsado lo vuelve a comprobar al medio segundos , si es así devuelve el control del led de actividad a mmc0 , luego llama a un script que no enviara un mensaje por Telegram y luego procede a hacer un apagado seguro de la Raspberry pi
Mientras no se pulse el botón de apagado el led de actividad se apagara y hará un parpadeo de 500 ms cada 5 segundos
y el script sapagado.sh contendrá lo siguiente
curl -s -X POST https://api.telegram.org/bot"687657145443yiuu23:AAGZ-y0JLtiuyiuyi545454ZURxciyuiyue54545c14W73oMfsiyuiyfdsTt9K8"/sendMessage -d chat_id="4434540345919" -d text="🔌🔌🔌 Se ha pulsado el boton de apagar en la placa : $(echo $HOSTNAME | awk '{ print $1}') 🔌🔌🔌"
y para que arranque automaticamente modificaremos el fichero /etc/rc.local
sudo nano /etc/rc.local
dejandolo mas o menos asi
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi #boton de apagado en los pines 39 GND y 37 GPIO 26 sudo python3 /home/antonio/piShutdown.py & exit 0
Y con esto y un bizcocho ………