Raspberry Pi
Tutorial de Rapberry Pi en español.
- Juan Antonio Villalpando -
Volver al índice del tutorial
____________________________
3B.- Apagar la Raspberry Pi mediante un Pulsador.
______________________________
1.- Conexión.
- 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 8 (es el GPIO14) y GND.
- Conectamos el Pulsador. Cargamos el siguiente código y probamos su funcionamiento.
______________________________
2.- Código.
- En el directorio /home/pi he creado este archivo: apagar.py
|
#!/bin/python
# Apagar Raspberry con un Botón en los terminales 8 y GND. El terminal 8 es el GPIO14.
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.IN, pull_up_down = GPIO.PUD_UP)
def Apagar(channel):
os.system("sudo shutdown -h now")
GPIO.add_event_detect(8, GPIO.FALLING, callback = Apagar, bouncetime = 2000)
while 1:
time.sleep(1)
|
- Para que funcione debemos ejecutar el script apagar.py.
______________________________
3.- 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 /home/pi/apagar.py &
|
#!/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
/usr/bin/python3 /home/pi/apagar.py &
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
|
- Para guardar: Ctrl O
- Para confirmar: Enter
- Para salir: Ctrl X
- 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 pulsemos el Pulsador, se apagará nuestra Raspberry.
______________________________
______________________________
______________________________
- Servicio.
- Otra manera para el el archivo apagar.py arranque en el inicio, sería ejecutarlo como Servicio.
- Creamos apagar.service en:
sudo nano /lib/systemd/system/apagar.service
/lib/systemd/system/apagar.service
|
[Unit]
Description=apaga pulsador en 8
[Service]
ExecStart=/home/pi/apagar.sh
[Install]
WantedBy=multi-user.target
User=pi
|
- Luego creamos este otro:
sudo nano /home/pi/apagar.sh
|
#!/bin/bash python /home/pi/apagar.py
|
______________________________
- Encender.
- La placa del Raspberry tiene un par de taladros RUN en donde podemos soldar un pulsador para encenderlo después de un shutdown.
- En mi caso lo enciendo tocando brevemente las dos zonas con un cablecito.
_______________________________________________________________________________________
- Otra forma con botón de apagado y encendido.
https://howchoo.com/g/mwnlytk3zmm/how-to-add-a-power-button-to-your-raspberry-pi
___________________________________________________
|