Imposta lo stato dei GPIO all'avvio del Raspberry Pi (metodo /sys/class/gpio)

Al riavvio, il Raspberry Pi imposta automaticamente lo stato GPIO su "in". Con questo script possiamo impostare il nostro stato personalizzato.

Per far sì che un comando o un programma venga eseguito all’avvio del Pi, puoi aggiungere comandi al file rc.local. Ciò è particolarmente utile se vuoi essere in grado di collegare il tuo Pi all’alimentazione headless e fargli eseguire un programma senza configurazione o avvio manuale.

Sul tuo Pi, modifica il file /etc/rc.local utilizzando l’editor che preferisci. Ad esempio:

sudo nano /etc/rc.local

Aggiungi i comandi sotto il commento, ma lascia la riga “exit 0” alla fine, quindi salva il file ed esci.
Inserisci il contenuto dello script seguendo questo esempio (devi adattarlo alle tue esigenze).

Infine salva il contenuto del file premendo CTRL + X (per uscire da nano), rispondi “Sì” alla richiesta di salvataggio, quindi conferma con INVIO.

#!/bin/sh -e
#
# rc.local
#

echo "8" > /sys/class/gpio/export
sleep 0.1
echo "out" > /sys/class/gpio/gpio8/direction
echo "0" > /sys/class/gpio/gpio8/value
sleep 0.1

echo "9" > /sys/class/gpio/export
sleep 0.1
echo "out" > /sys/class/gpio/gpio9/direction
echo "0" > /sys/class/gpio/gpio9/value
sleep 0.1

echo "10" > /sys/class/gpio/export
sleep 0.1
echo "out" > /sys/class/gpio/gpio10/direction
echo "1" > /sys/class/gpio/gpio10/value
sleep 0.1

echo "11" > /sys/class/gpio/export
sleep 0.1
echo "out" > /sys/class/gpio/gpio11/direction
echo "1" > /sys/class/gpio/gpio11/value

exit 0

Script di esempio

Imposta lo stato dei GPIO all'avvio del Raspberry Pi (metodo config.txt)

Questo metodo consente di impostare la modalità GPIO all'avvio.

Se il metodo /sys/class/gpio non funziona, puoi usare il nuovo metodo che usa il file config.txt

Modifica il file digitando nel terminale:
sudo nano /boot/firmware/config.txt

Aggiungi quanto segue alla fine del file:
gpio=8=op,dl

Infine, salva il contenuto del file premendo CTRL + X (per uscire da nano), rispondi “Sì” alla richiesta di salvataggio, quindi conferma con INVIO. Ora riavvia il dispositivo.

Puoi trovare maggiori informazioni qui:
https://www.raspberrypi.com/documentation/computers/config_txt.html#gpio-control

# Set GPIO8 to be an output
gpio=8=op,dl

# Set GPIO9 to be an output set to 1
gpio=9=op,dh

# Set GPIO10 and GPIO12 to be an output set to 1
gpio=10,12=op,dh

# Set GPIO15 to GPIO18 to be an output set to 1
gpio=15-18=op,dh

Esempio

Scorciatoie per Nano:

CTRL+6: Abilita la selezione del testo (Alternativa: ALT+SHIFT+A)

ALT+6: Copia (Alternativa: ALT+SHIFT+6)

CTRL+U: Incolla