Raspberry Pi / GPIO

Die GPIOs müssen Initialisiert werden

Im Unterverzeichnis des jeweiligen GPIOs kann in der direction Datei definiert werden ob der Pin als Ein- (in) oder Ausgang (out) fungieren soll.

Aus der Datei value kann im Modus Eingang der aktuelle Wert (High (1) oder Low (0)) ausgelesen werden. Im Modus Ausgang kann hier eine 1 oder 0 hineingeschrieben werden um den Pegel des Pins zu beeinflussen.

Projektidee: Über GPIO Aktionen auf dem Pi auslösen

** Umsetzung als Bashscript**

#!/bin/bash # RasPi I/O-Ports (GPIO) einfach auslesen mit BASH, ein simples Beispiel-Script # Benutze I/O-Ports ports="21 22" # INIT for port in ${ports} ; do echo "${port}" > /sys/class/gpio/export echo "in" >"/sys/class/gpio/gpio${port}/direction" done # /INIT # Schleife zum permanenten auslesen und anzeigen while [ true ] ; do for port in ${ports} ; do v=$(< "/sys/class/gpio/gpio${port}/value") #echo "Debug: ${port} = ${v}" if [ ${v} = 1 ] ; then echo "Pin: ${port}: An" else echo "Pin: ${port}: Aus" fi done sleep 1s done # /Schleife zum permanenten auslesen und anzeigen # FIN

Zukünftig: Eventuell über Cron abfragen um die Stabilität zu erhöhen

Zukünftig: Eventuell über Systemd?