Raspberry Pi – GPIO Pins schalten

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:

Anschluss einer LED an die Raspberry GPIO Pins

Anschluss einer LED an die Raspberry GPIO Pins

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.

geposted: 29. November 2013 | aktualisiert: 3. Mai 2014 | Autor: Marcus Hottenrott
Kategorie(n): Raspberry Pi

Weitere themennahe Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.