Reboot – Shutdown, 1 tasto 2 funzioni

Fin dal primo utilizzo ci siamo accorti che il RPi è sprovvisto del pulsante di accensione e spegnimento.

Per quanto riguarda il pulsante di accensione, troverete un altro articolo nel blog che spiega come installarlo. –> Tasto Reset / Power On

Per lo spegnimento, invece, il discorso è un po’ più complesso. Non è consigliabile togliere direttamente l’alimentazione poiché si rischia di corrompere il file system della scheda SD. Per spegnere il RPi in modo corretto bisogna collegarsi tramite VNC (in modalità grafica) o tramite SSH (in riga di comando) e scrivere “sudo shutdown -h now”. Se non si ha la possibilità di accedere in remoto al RPi è un vero problema. La soluzione è quella di creare un tasto fisico con un piccolo script per gestire questa funzione.

Per la parte hardware è necessario un LED e una resistenza da 220 Ω da collegare tra GND e GPIO 27 e un pulsante normale aperto (NO) da collegare tra GND e GPIO 17. Ad ogni modo i GPIO possono essere cambiati a seconda delle nostre esigenze, ma non si deve dimenticare di cambiarli anche nello script.

shut_r_h

La particolarità di questo script è che abbiamo un pulsante con duplice funzione, quella di riavvio (reboot) e quella di spegnimento (shutdown).

Se si preme il pulsante per un tempo inferiore a 3 secondi lo script esegue il riavvio, se invece il pulsante viene premuto per più di 3 secondi lo script esegue lo spegnimento. Il LED ci darà conferma del processo in corso, indicandoci con un solo lampeggio che è stato lanciato il comando di reboot, mentre con tre lampeggi che è stato dato il comando di shutdown.

20170728_000704

Lo script è presente al seguente link

http://ref080.dstargateway.org/file/shut_r_h.zip

Una volta scaricato lo copiamo nella directory /home/pi/ de-comprimiamo il file con

unzip shut_r_h.zip

dopodichè entriamo nel file rc.local con il seguente comando

sudo nano /etc/rc.local

a questo punto scriviamo la seguente stringa sopra l’ultima riga (exit 0) per rendere eseguibile lo script ad ogni accensione

python /home/pi/shut_r_h.py &

73 de IZ8TXC Eugenio