Hi,
da ich jedesmal, wenn ich meinen RasPi neu aufsetze (passier eher selten ;)), vergessen habe, an welchem Pin mein Taster angeschlossen ist, lese ich mit
die Pins aus, drücke den Taster und lese nochmal aus. Aber in dem Wust im Terminal die Änderung zu finden, ist mühsam.
Also schnell ein Script geschnitzt, das den "gpio readall" immer im Kreis rum ausführt.
!/bin/sh
clear #Bildschirm leeren
tput home #Cursor auf position 0:0 setzen
while true
do
gpio readall #GPIO auslesen und anzeigen
tput home
done
Dieses Script kann ich dann nur mit Ctrl-C beenden.
Ich würde es aber gerne mit "q" beenden.
Als Eingabemöglichkeit habe ich folgendes gefunden:
Beides zusammen geklöppelt (mit trivialer Änderung der Schleife von while auf until):
#!/bin/sh
clear #Bildschirm leeren
tput home #Cursor auf position 0:0 setzen
INPUT='' #Variable leer vorbelegen
until [ "$INPUT" = "q" ]
do
stty raw -echo #Terminal auf raw setzen
INPUT=`dd count=1 bs=1 2> /dev/null` #Tastatur auslesen
stty -raw echo #Terminal wieder auf "normal"
gpio readall #GPIO auslesen und anzeigen
tput home
done
stty -raw echo
clear
Alles anzeigen
Leider wartet mein Script jetzt beim "dd count ..." immer noch auf einen Tastendruck.
Ich kann es zwar laufen lassen mit einem Druck auf irgendeine Taste außer "q", aber ich würde es halt gerne dauerhaft ohne Tastendruck laufen lassen.
Hat einer von Euch eine Idee (oder noch besser eine Lösung)?