Raspberry GPIO
Allgemein
Der Zugriff auf die Aus- und Eingänge unter Linux allgemein erfolgt via GPIO Filesystem unter /sys/class/gpio/. Dies gilt für sämtliche Plattformen, für die Linux einen entsprechenden GPIO Kernel Treiber bereitstellt.
Export eines Pins
Damit ein Pin via GPIO Filesystem ansprechbar ist, muss dieser erst exportiert werden. Z.B. Pin 17 beim Raspberry PI:
echo "17" > /sys/class/gpio/export
Dadurch wird ein Directory mit Namen sys/class/gpio/gpio17 angelegt (Symlink), das folgende Dateien und Links aufweist:
active_low device direction edge power subsystem uevent value
Pin als Ausgang
Über das File "direction" wird festgelegt, ob der jeweilige Pin als Ausgang oder Eingang verwendet werden soll. Als Ausgang wird er folgendermaßen definiert:
echo "out" > /sys/class/gpio/gpio17/direction
Setzen des Zustands des Pins erfolgt via "value" file:
echo "1" > /sys/class/gpio/gpio17/value echo "0" > /sys/class/gpio/gpio17/value
um den Pin entweder auf HIGH bzw. LOW zu setzen
Pin als Eingang
echo "in" > /sys/class/gpio/gpio17/direction
Der Zustand des Pins kann mittels "value" File abgefragt werden:
cat /sys/class/gpio/gpio17/value
Unexport
Wenn der Zugriff auf einen Pin nicht mehr erforderlich ist, kann ein Pin wieder deaktiviert werden:
echo "17" > /sys/class/gpio/unexport