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
- raspi_-_get_gpio_demo.bash
#!/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?