Autorun en una Raspberry Pi


En esta entrada vamos a configurar Raspbian para que cuando arranque ejecute directamente un programa sin necesitad de ninguna  intervención manual (teclado, ratón pantalla),  en otras palabras vamos a crear un  autorun. Esta configuración de raspbian es necesaria si usamos Raspberry Pi para controlar remotamente un vehículo o robot, un sistema domótico, etc.

Lo primero que debemos comprobar es que el programa se ejecuta correctamente desde el terminal del sistema:

  • Hacer una copia de seguridad de su tarjeta SD
  • Comprobar los permisos del fichero. En LINUX, los permisos se clasifican en tres bloques que muestra con la siguiente secuencia: los del usuario propietario, los de los usuarios de su grupo y los del resto de usaurios. Cada uno de ellos puede: -No tener permiso, R-lectura, W-escritura y X-ejecución.
pi@raspberrypi:~ $ ls -l /home/pi/proyectos/Python/led_balancin.py
-rw-r--r-- 1 pi pi 1041 ene 27 15:49 /home/pi/proyectos/Python/led_balancin.py
  • Dar permisos de ejecución. Así no necesitaremos que lo ejecute el superusuario sudo o el creador del mismo.
pi@raspberrypi:~ $ sudo chmod +x /home/pi/proyectos/Python/led_balancin.py
pi@raspberrypi:~ $ ls -l /home/pi/proyectos/Python/led_balancin.py
-rwxr-xr-x 1 pi pi 1041 ene 27 15:49 /home/pi/proyectos/Python/led_balancin.py
  • Ejecutar el programa por terminal
pi@raspberrypi:~ $ python3 /home/pi/proyectos/Python/led_balancin.py
  • Hacer una copia de seguridad del archivo que vamos a modificar /etc/rc.local 
pi@raspberrypi:/etc $ sudo cp rc.local rc.bak
  • Modificar el archivo añadiendo el comando a ejecutar con & para que no influya en el arranque normal en caso de ser un bucle infinito y posibilitar el acceso a la Raspberry Pi. Puede comprobar el contenido con el comando cat rc.local
#!/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.

python3 /home/pi/proyectos/Python/led_balancin.py &

exit 0
  • Cruzar los dedos y  rearrancar la Raspberry pi

No hay comentarios:

Publicar un comentario

Antenas para la banda de 160m

Nueva temporada, nuevos retos, conseguir  QSO en la banda de 160m para lo cual es necesario una antena en condiciones Tipos Vertical Compact...