Hallo zusammen,
ich muss zugeben das ich in dieser Programmiersprache gerade ein wenig blöd anstelle.
Folgenden Script nutze ich, um bei einem Input ein Programm/Aktion auszulösen.
Bash
#!/bin/bash
# Das Pin als Eingang definieren
echo "4" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio4/direction
# Den Zustand des Eingangs lesen
previous=$(cat /sys/class/gpio/gpio4/value)
# Endlose Schleife
while true
do
# Den Zustand des Eingangs lesen
pin=$(cat /sys/class/gpio/gpio4/value)
# Wenn der Eingang von 0 auf 1 gewechselt hat
if [ $pin -gt $previous ]
then
# Das Programm starten
echo "Hier das Programm starten"
else
# Eine halbe Sekunde schlafen, damit der Prozessor nicht heissläuft
sleep 0.5
fi
# Der aktuelle Wert wird der alte Wert für den nächsten Durchlauf
previous=$pin
done
Alles anzeigen
Nun möchte ich aber, dass diese Programm erst startet, wenn der Eingang mindestens 20sec anliegt. Sollte mal nur 10sec der Eingang 1 haben soll nichts passieren.
Kann mir hier jemand weiter helfen?
Hab schon versucht mit sleep Befehlen weiter zukommen und bin gescheitert
Wäre nett wenn mal einer drüber schauen kann.
Vielen Dank, Zero-G
Edit: Sorry gerade gesehen das mein Beitrag hier im falschen Forum ist. War nicht meine Absicht