3 modi per eseguire un programma o uno script Raspberry Pi all’avvio
Raspberry Pi è un computer minuscolo ed economico che è disponibile in molte forme e dimensioni e facilita tutta una serie di applicazioni, che vanno da qualcosa di semplice come imparare a programmare a complessi progetti di automazione domestica; l’ambito di utilizzo è illimitato.
Una delle tante caratteristiche che rendono il Raspberry Pi così versatile è la sua capacità di eseguire tutti i tipi di programmi, proprio come un normale computer. In effetti, non solo, puoi persino scrivere i tuoi script – per qualunque obiettivo tu abbia in mente – ed eseguirli sul Pi.
[amazon bestseller=”raspberry pi”]
Perché dovresti eseguire un programma all’avvio?
Sebbene il Raspberry Pi sia in grado di eseguire tutti i tipi di programmi, è comunque necessario eseguire manualmente questi programmi ogni volta che si desidera eseguirli. Chiaramente, questo approccio comporta un passaggio aggiuntivo. E anche se non pone molti inconvenienti, ci sono casi in cui avresti bisogno di un programma da eseguire subito dopo l’avvio del Raspberry Pi.
Ad esempio, immagina di utilizzare il tuo Raspberry Pi per monitorare i prezzi delle azioni: in cui esegui uno script ogni giorno quando il tuo Pi si avvia, estrae le informazioni da risorse predefinite e le presenta a un display.
Qui, nonostante razionalizzi il processo di monitoraggio dei prezzi delle azioni, devi comunque eseguire lo script ogni giorno. Tuttavia, grazie all’automazione, è possibile eliminare l’input manuale dall’equazione facendo in modo che il tuo Pi esegua lo script automaticamente all’avvio.
È per situazioni come queste in cui si desidera eseguire un programma all’avvio.
Come eseguire un programma all’avvio
Esistono diversi modi per eseguire un programma all’avvio su Raspberry Pi. Per questa guida, tuttavia, imparerai come utilizzare tre di questi metodi efficaci e facili da seguire.
Nota: abbiamo utilizzato questi metodi per eseguire il nostro script Python e puoi farlo con uno qualsiasi dei tuoi script o anche con i programmi integrati su Raspberry Pi. Assicurati solo di utilizzare il metodo giusto per eseguire il tuo programma.
1. il file rc.local
rc.local è un file amministrato dal sistema che viene eseguito dopo l’avvio di tutti i servizi di sistema, ovvero dopo il passaggio a un livello di esecuzione multiutente. È il metodo più semplice per far funzionare i programmi all’avvio su sistemi Linux. Ma c’è un avvertimento: puoi usare questo metodo solo per programmi senza elementi GUI (interfaccia utente grafica) poiché rc.local viene eseguito prima dell’avvio del sistema a finestre di Raspberry Pi.
Per impostare un programma in modo che venga eseguito all’avvio, è necessario modificare il file rc.local e aggiungere comandi ad esso. Ecco come farlo.
- Apri il terminale e digita il seguente comando per aprire il file rc.local: sudo nano /etc/rc.local .
- Nel file rc.local, inserisci la seguente riga di codice prima della riga “exit 0”: python3 /home/pi/PiCounter/display.py & .
- Qui, sostituisci PiCounter / display.py con il nome del tuo programma / script. Inoltre, assicurati di utilizzare il percorso assoluto del programma e non il percorso relativo. Notare che il comando termina con il simbolo della e commerciale (&).
- Questo per informare il sistema che il programma che stiamo pianificando viene eseguito continuamente, quindi non dovrebbe attendere il completamento dello script prima di avviare la sequenza di avvio. Tieni presente che la mancata aggiunta della e commerciale nel comando causerà l’esecuzione dello script per sempre e il tuo Pi non si avvierà mai.
- Successivamente, premi CTRL + O per salvare il file. Nel terminale, inserisci sudo reboot .
Una volta avviato, il tuo Pi dovrebbe eseguire automaticamente il programma. Se, per qualche motivo, si desidera interrompere l’esecuzione del programma all’avvio, modificare nuovamente il file rc.local per rimuovere la riga appena aggiunta.
2. Cron per pianificare un programma
Cron è un’utilità di configurazione e pianificazione dei lavori su sistemi simili a Unix. Ti consente di pianificare i programmi che desideri eseguire a intervalli fissi o periodicamente.
La funzionalità di Cron si basa sul daemon crond, che è un servizio in background che esegue programmi pianificati nel crontab. Tutti i programmi pianificati sul sistema risiedono nella tabella dei lavori cron (o crontab).
Quindi dovrai modificare questa tabella per aggiungere una pianificazione per il programma che desideri eseguire all’avvio. Ecco come:
- Apri la CLI sul tuo Raspberry Pi e inserisci crontab -e per modificare la tabella cron job (crontab). Se stai aprendo crontab per la prima volta, dovrai selezionare un editor. Puoi scegliere il tuo editor preferito o continuare con Nano. In entrambi i casi, inserisci il nome dell’editor e premi Invio .
- Per inserire una voce nella tabella cron, inserisci il comando: @reboot python3 /home/pi/PiCounter/display.py & . Nel tuo comando, assicurati di sostituire il nome del programma e il suo percorso.
- Premi CTRL + O per scrivere la riga nel crontab.
- Digita sudo reboot nel terminale per riavviare il tuo Pi.
Cron dovrebbe ora eseguire il tuo programma ogni volta che il tuo Pi si avvia. Se vuoi interrompere questa pianificazione, elimina il comando in crontab.
3. Eseguire programmi GUI all’avvio con avvio automatico
L’avvio automatico è il modo migliore per eseguire i programmi Raspberry Pi basati su GUI all’avvio. Funziona assicurando che sia il sistema X Window che l’ambiente desktop LXDE siano disponibili prima che il sistema esegua uno dei programmi pianificati.
Se si dispone di uno script che viene eseguito in modalità finestra o si desidera eseguire uno qualsiasi dei programmi / applicazioni basati su GUI all’avvio sul Raspberry Pi, è necessario programmarli per l’esecuzione utilizzando l’avvio automatico. Ecco i passaggi per farlo.
- Innanzitutto, apri il terminale e inserisci il seguente comando per creare un file .desktop nella directory di avvio automatico: sudo nano /etc/xdg/autostart/display.desktop . Abbiamo usato display.desktop come nome del file, ma puoi nominare il tuo file desktop come preferisci.
- Nel file .desktop, aggiungi le seguenti righe di codice:
[Desktop Entry] Name=PiCounter Exec=/usr/bin/python3 /home/pi/PiCounter/display.py
- In questo file, sostituire il valore per il campo Nome con il nome del progetto / script. Allo stesso modo, abbiamo aggiunto il nostro programma display.py da eseguire ogni volta che si avvia il Raspberry Pi.
- Tuttavia, puoi sostituirlo con qualsiasi programma che desideri eseguire. In effetti, puoi persino pianificare l’esecuzione di un programma di terze parti, come il browser Chrome; in tal caso, il file .desktop dovrebbe includere il codice seguente:
[Desktop Entry] Name=Chrome Exec=chromium-browser
- Successivamente, premi CTRL + O per salvare il file, quindi inserisci sudo reboot per riavviare il Pi.
Non appena il tuo Pi si avvia, anche il tuo programma GUI dovrebbe avviarsi automaticamente. Nel caso in cui desideri interrompere l’esecuzione del programma all’avvio, vai semplicemente alla cartella di avvio automatico e rimuovi il file .desktop appena creato.
Esecuzione riuscita di un programma all’avvio su Raspberry Pi
Sebbene ci siano molti modi per eseguire un programma all’avvio su sistemi basati su Linux, i metodi che abbiamo menzionato in questa guida dovrebbero aiutarti con la pianificazione dei programmi sul Raspberry Pi.
Quindi, indipendentemente dal tipo di programma che desideri eseguire – script personalizzato o un’applicazione di terze parti – questi metodi dovrebbero coprirti. Inoltre, dovresti essere in grado di ridurre il passaggio aggiuntivo richiesto per eseguire il programma ogni volta che lo desideri.