¿Cómo ejecutar un programa al iniciar la Raspberry Pi?
Comentariosⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
A veces necesitamos ejecutar un programa o una línea de comando cuando se inicia nuestra Raspberry Pi.
Este es particularmente el caso cuando fabricamos un objeto para la automatización del hogar y queremos lanzar automáticamente un programa cuando el objeto está conectado.
En este tutorial veremos una forma muy sencilla de lanzar un programa al iniciar la Raspberry.
El material que vamos a utilizar.
En este tutorial solo necesitamos:
Si desea completar este tutorial sin poder acceder directamente a la Raspberry Pi, también necesitará una PC que pueda leer tarjetas SD o usar un adaptador.
Inicie un programa cuando la Raspberry Pi se inicie con rc.local.
Para Mac OS y Windows, deberá poder acceder a la partición rootfs si desea hacerlo desde su PC. Para hacer esto, vea nuestro tutorial para leer una partición de Linux desde Mac y Windows.
La forma más fácil de iniciar un programa al iniciar la Raspberry Pi es usar el archivo /etc/rc.local
.
Este archivo contiene un conjunto de comandos que se ejecutarán justo antes de que Raspberry Pi haya terminado de iniciarse.
Para iniciar un programa cuando se inicia la Raspberry Pi, solo necesita modificar el archivo /etc/rc.local
en la tarjeta SD (desde el Pi, o modificando el archivo /etc/rc.local
en la partitura rootfs
desde la tarjeta conectada a su PC).
Para iniciar el programa, solo busque la línea:
exit 0
en el archivo y agregue la línea de comando que llama a su programa antes de la línea exit
.
Por ejemplo, si quiero llamar a un script de Python 3 llamado example.py
y ubicado en la carpeta /home/pi
en el inicio, reemplazaré la línea de salida 0 con:
/usr/bin/python3 /home/pi/example.py
Cabe señalar algunos puntos importantes.
Primer punto, el programa será ejecutado por el usuario root
y por tanto tendrá todos los derechos. ¡Ten cuidado con lo que estás haciendo!
Segundo punto, siempre debe usar rutas absolutas y no relativas, el comportamiento de las rutas relativas es impredecible.
En tercer y último punto, su programa debe devolver el control al script o la Raspberry Pi nunca podrá terminar de arrancar. Si su programa realiza un bucle infinito, debe ejecutarlo en segundo plano agregando un &
después de ordenar. En nuestro caso esto daría:
/usr/bin/python3 /home/pi/example.py &
¡Su programa ahora se ejecutará correctamente al iniciar la Raspberry Pi!