Ejecutar script python automáticamente al encender la Raspberry Pi

Cuando se programa en Python en la Raspberry, casi siempre es necesario que los programas o script se ejcuten automáticamente en el boot de la Raspberry, puesto que esta tarjeta de desarrollo estará controlando otros circuitos o dispositivos electrónicos y no siempre el programador estará ahí para volver a iniciar el script de control. Para lograr la ejecución automática puedes seguir los siguientes pasos:

1. Crear un script de Python

En este ejemplo escribiremos un script para controlar un LED, el programa encenderá y apagará el LED cada segundo de manera contínua.

Para crear y editar el archivo escribimos:

$ touch control.py
$ nano control.py

El contenido del script para el ejemplo será el siguiente:

from gpiozero import LED
from time import sleep

led = LED(17)

while Tru:
 print("Encendiendo LED")
 led.on()
 sleep(1)
 print("Apagando led")
 led.off()
 sleep(1)

2. Modificar el archivo rc.local

Este archivo se encuentra en la ruta /etc/rc.local y se ejecuta con permisos de superusuario (root) durante el proceso de arranque del sistema operativo. El archivo rc.local permite a los usuarios agregar comandos o scripts personalizados que se ejecutan automáticamente al inicio del sistema, como la configuración de la red, la configuración de permisos, la carga de módulos del kernel, entre otros.

Los comandos o scripts que se agregan al archivo rc.local se ejecutan una sola vez al inicio del sistema, por lo que es importante tener en cuenta que cualquier tarea que requiera ejecución recurrente o planificación debe ser manejada por otros servicios del sistema, como cron.

$ sudo nano /etc/rc.local

El archivo editado debe quedar de la siguiente forma:

#!/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

python3  /home/pi/Desktop/control.py
exit 0

El path /home/pi/Desktop/control.py dependerá de dónde se guardó el script.

Nota: cualquier comando que se añada al archivo debe ir antes de exit 0

3. Reiniciar la Raspberry

Para comprobar que el script se ejecuta automáticamente será necesario reiniciar la Raspberry.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo no será publicada.


*