{{entry>Raspberry_Pi/raspi gpio bash;-}} {{tag>Raspberry_Pi raspi gpio bash}} ====== 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?