Das Raspberry Pi verfügt über 17 frei programmierbare GPIO Pins. Diese können als Eingabe- oder Ausgabeleitung verwendet werden. Wird die Leitung zur Ausgabe verwendet so liegt an ihrem GPIO Pin eine Spannung von 3,3V an (logisch 1). Wird die Leitung als Eingang verwendet kann logisch eine 1 gelesen werden wenn eine Spannung von 3,3 Volt anliegt. Hier finden Sie eine übersicht der GPIO Pins.
Um die GPIO Ausgabe zu testen empfiehlt sich die Visualisierung der Schaltzustände mit einer Leuchtdiode. Diese kann wie in folgender Grafik angeschlossen werden:
GPIO Ansteuerung per Shell
Die GPIO können über Dateien im Verzeichnis „/sys/class/gpio/“ angesteuert werden. Dies muss mit Root-Rechten geschehen. Entweder werden die Befehle direkt als root ausgeführt oder mit vorgestelltem sudo. Sind Sie als User „pi“ angemeldet kann mit su root zum Root User gewechselt werden.
Nach dem Systemstart sind die GPIO Pins zunächst als Eingang geschaltet und müssen mit „Export“ und Direction out als Ausgang definiert werden. Mit folgenden Befehlen kann der GPIO Pin 2 aus der oberen Schaltung geschaltet werden:
$ cd /sys/class/gpio $ echo "2" > export $ echo "out" > gpio2/direction GPIO auf an (3,3V Spannung) $ echo "1" > gpio2/value GPIO auf aus(keine Spannung) $ echo "0" > gpio2/value
GPIO Ansteuerung per WiringPi
Alternativ zur direkten Ansteuerung kann das Programm WiringPi installiert werden. Der Vorteil von WiringPi liegt darin das keine Rootrechte zum Schalten der GPIPO Pins benötigt werden. Eine Anleitung zum Installieren von WiringPi findet sich auf der Projektseite.
Eingang auslesen gpio -g read 2 GPIO Pin als Ausgang definieren gpio -g mode 2 out Ausgang setzen gpio -g write 2 1
GPIO Ansteuerung per PHP mit WiringPi
Mit WiringPi und dem PHP Befehl „shell_exec“ können die GPIO Pins auf einfache Weise über eine Webseite geschaltet werden.
$val = trim(@shell_exec("/usr/local/bin/gpio -g read 2")); $val = trim(@shell_exec("/usr/local/bin/gpio -g write 2 1"));
GPIO Ansteuerung per Java und Pi4J
Unter Java können die GPIO Pins komfortable mit der Libraray Pi4J angesprochen werden. Das Programm jgRaspiGPIO nutzt die Library und ist mit Quelcode verfügbar.