Raspberry Pi – GPIO pin status instellen bij opstarten
Het kan voorkomen dat bepaalde GPIO pinnen hoog of laag worden gemaakt bij het opstarten van de Raspberry Pi, dit is bijvoorbeeld lastig als er dan onverwacht geschakeld wordt via een relaisbord, het kan voorkomen worden door bij het opstarten meteen de pinnen al te configureren.
De pinnen configureren kan met “Wiringpi” (/usr/bin/gpio), dit is voor geïnstalleerd op de Raspberry Pi.
Maak bijvoorbeeld voor de pin configuratie een BASH bestand aan “/home/pi/setupgpio.sh” met de volgende inhoud:
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh /usr/bin/gpio write 0 1 /usr/bin/gpio write 1 1 /usr/bin/gpio write 2 1 /usr/bin/gpio mode 0 output /usr/bin/gpio mode 1 output /usr/bin/gpio mode 2 output echo "GPIO ports setup" |
Hierboven worden de GPIO pinnen 1, 2 en 3 hoog gemaakt, de releais zijn dan uit bij het opstarten.
Dit BASH script moet gestart worden bij het opstarten van de Raspberry Pi, open daarvoor het bestand “/etc/rc.local” met het commando:
sudo nano /etc/rc.local
En voeg deze regel toe voor de “exit 0“:
/home/pi/setupgpio.sh
Sla het bestand op (CTRL+O -> ENTER), en sluit NANO af (CTRL+X -> ENTER)
Het kan ook eenvoudig met een bash commando:
1 |
sed -i -e '$i \/home/pi/setupgpio.sh\n' /etc/rc.local |
$ betekend de laatste lijn, i betekend voor de huidige lijn, zodoende is $i invoegen voor de laatste lijn.
Bij het opstarten wordt het BASH script ingelezen en de pinnen blijven laag!
Ps. de Wiringpi pinnen zijn anders dan de BCM pin nummering, houd daar rekening mee!
Bron:
raspberrypi.org