Come eseguire un programma all'avvio del Raspberry Pi?
Commentiⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
A volte abbiamo bisogno di eseguire un programma o una riga di comando all'avvio del nostro Raspberry Pi.
Ciò è particolarmente vero quando produciamo un oggetto per la domotica e vogliamo avviare automaticamente un programma quando l'oggetto è connesso.
In questo tutorial vedremo un modo molto semplice per avviare un programma all'avvio del Raspberry.
Il materiale che useremo.
In questo tutorial abbiamo solo bisogno di:
Se vuoi completare questo tutorial senza poter accedere direttamente al Raspberry Pi, avrai bisogno anche di un PC in grado di leggere schede SD o utilizzare un adattatore.
Avvia un programma all'avvio del Raspberry Pi con rc.local.
Per Mac OS e Windows dovrai essere in grado di accedere alla partizione rootfs se vuoi farlo dal tuo PC. Per fare ciò, guarda il nostro tutorial per leggere una partizione Linux da Mac e Windows.
Il modo più semplice per avviare un programma all'avvio del Raspberry Pi è utilizzare il file /etc/rc.local
.
Questo file contiene una serie di comandi che verranno eseguiti appena prima che il Raspberry Pi abbia terminato l'avvio.
Per avviare un programma all'avvio del Raspberry Pi, è sufficiente modificare il file /etc/rc.local
sulla scheda SD (dal Pi o modificando il file /etc/rc.local
nella partitura rootfs
dalla scheda collegata al PC).
Per avviare il programma basta cercare la riga:
exit 0
nel file e aggiungi la riga di comando che chiama il tuo programma prima della riga exit
.
Ad esempio, se voglio chiamare uno script Python 3 denominato example.py
e si trova nella cartella /home/pi
all'avvio, sostituirò la riga di uscita 0 con:
/usr/bin/python3 /home/pi/example.py
Si dovrebbero notare alcuni punti importanti.
Primo punto, il programma verrà eseguito dall'utente root
e avrà quindi tutti i diritti. Stai attento a quello che stai facendo!
Secondo punto, dovresti sempre usare percorsi assoluti e non relativi, il comportamento dei percorsi relativi è imprevedibile.
Terzo e ultimo punto, il tuo programma deve restituire il controllo allo script o il Raspberry Pi non sarà mai in grado di completare l'avvio. Se il programma esegue un ciclo infinito, è necessario eseguirlo in background aggiungendo un file &
dopo l'ordinazione. Nel nostro caso questo darebbe:
/usr/bin/python3 /home/pi/example.py &
Il tuo programma verrà ora avviato correttamente all'avvio del Raspberry Pi!