Hallo,
Ich habe ein kleines skript, dass bei Betätigung der Türklingel einen Rundruf an die Fritzbox machen soll.
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)
cd ./sipcmd-master
# 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"
./sipcmd -P sip -p 5061 -u 623 -c 123456 -w 192.168.0.2 -x "c**59"
echo "Hier das Programm beenden"
else
# Eine halbe Sekunde schlafen, damit der Prozessor nicht heissläuft
sleep 0.1
fi
# Der aktuelle Wert wird der alte Wert für den nächsten Durchlauf
previous=$pin
done
Alles anzeigen
Leider funktionert das skript nur so lange wie ich auf meinem Computer eine PuTTY-Session zum Raspberry geöffnet habe. Sobald ich die Session schließe, startet dass Skript bei Betätigung des Tasters nicht mehr.
Ich hab das skript auch in die rc.local oder als crontab eingetragen, sodass es nach einem Neustart startet. Leider funktionert auch dieser Weg nicht.
Versuche dann "noch mal" zu starten, bekomme ich den Fehler.