RaspBerry Pi 3, botón de apagado con Python #1

Los usuarios de raspberry pi estamos acostumbrados a la falta de un botón de encendido y apagado. Pero como placa de desarrollo que son estos pequeños ordenadores podemos aprovecharnos de sus pines. Y así no tendremos que apagar nuestra raspberry desde el símbolo del sistema ni de malas maneras tirando del cable o apagado el botón de la regleta.

Aprenderemos a fabricarnos nuestro propio botón para gestionar nuestro encendido y apagado de nuestro pequeño ordenador. Necesitaremos la librería de Python GPIO, para gestionar los pines de esta mediante Python. Una protoboard para todas las conexiones, cables, un botón y una resistencia de 330 Ohms.

Esquema del circuito para nuestra Raspberry Pi

En la siguiente imagen podemos ver un pequeño esquema de lo que tiene que ser nuestro circuito:

Circuito Raspberry y Protoboard
Conexiones Raspberry Pi y protoboard

Lo que podemos ver en la imagen con pocas palabras sería lo siguiente. Usaremos el pin de salida 3.3V y un pin GND, también el pin GPIO nº4 (BCM). Cuando se pulsa el botón se crea un cortocircuito entre el pin 3.3V y GND así que he puesto una resistencia de 330 Ohms para no achicharrar la placa.

Vale ahora comenzaremos con los Scripts en Python que tendremos que tener en nuestro diminuto PC.

Script con interrupts:
# Importamos los modulos para enviar comandos al sistema y acceder a los pines GPIO
from subprocess import call
import RPi.GPIO as gpio
# Definimos una funcion para que el script no se detenga
def loop():
raw_input()
# Definimos una funcion que se ejecutará cuando se llame a la interrupción
def shutdown(pin):
call(‘halt’, shell=False)
gpio.setmode(gpio.BOARD) # Ponemos la placa en modo BOARD
gpio.setup(4, gpio.IN) # Configuramos el pin 4 como entrada
# Configuramos una interrupción para cuando se aprete el boton
gpio.add_event_detect(4, gpio.RISING, callback=shutdown, bouncetime=200)
loop() # Iniciamos la función para que el script siga en marcha

Ahora tenemos que automatizar este script para que nuestra Raspberry lo ejecute cuando pulsemos nuestro botón y siempre lo tengamos disponible.

Automatización Script Raspberry

El problema de este sistema esta en que deberemos iniciar el script manualmente desde consola cada vez que arranquemos la Raspberry así que vamos a automatizar el proceso. Abrimos un terminal y escribimos:

sudo nano /etc/rc.local

Una vez abierto escribimos “sudo python scriptBoton.py” justo antes de “exit 0” quedando así:

sudo python scriptBoton.py
exit 0

Ahora podemos reiniciar o apagar nuestra raspberry sin problemas ya que la próxima vez que arranque se iniciará automáticamente el script.

Si te ha gustado, traeremos muchos más tutoriales enfocado a nuestros pequeños ordenadores. Con esta pequeña serie de tutoriales aprenderás a sacarle el máximo partido a tus raspberry pi. Y enconarás formas de alargar la vida de esta.

No olvides ver nuestro tutorial de como puedes construir tu propio servidor Nas con nuestra Raspberry Pi.

¿Conoces nuestras redes sociales?

¿Aún no nos sigues? Puedes hacerlo a través del Instagram de Miguel. También en mi Instagram tendrás noticias diarias. De igual modo, en mi Twitter verás opiniones de actualidad. Al igual que en el Twitter oficial de Easy Smart Tech. Incluso puedes estar al día en nuestro canal de Telegram.