Hallo Leute,
wie der Titel schon vermuten läßt würde ich gerne eine LED an meinem Raspberry während der Ausführung eines Bashscriptes blinken lassen. Leider bekomme ich das auch mit viel googlen nicht hin.
Ich habe mir folgendes Script erstellt:
Während dieses Script läuft soll die am Anfang stehende LED blinken. Wenn ich das ganze allerdings per While-Schleife mache, dann komm ich ja nicht zu meinem eignentlichen Code.
Hatte das mal versucht:
Hat vielleicht jemand eine Lösung wie ich das in meinem Script gelöst bekomme?
wie der Titel schon vermuten läßt würde ich gerne eine LED an meinem Raspberry während der Ausführung eines Bashscriptes blinken lassen. Leider bekomme ich das auch mit viel googlen nicht hin.
Ich habe mir folgendes Script erstellt:
Code:
#!/bin/bash
# Betriebslicht anschalten
sudo echo "1" >/sys/class/gpio/gpio23/value
# Um Mehrfachzugriff auf Datenbank zu verhindern hier ein Sleep
sleep 5
# Datenbank zum letzten Wert von Temp0 und Temp1 abfragen
tempraw=$(rrdtool lastupdate /home/pi/datenbank.rrd)
# Letzten Wert aus Temp0 auslesen
temp0=`echo $tempraw | awk '{print $4}'`
temp0scale=`echo "scale=2; $temp0 / 1" | bc`
# Letzten Wert aus Temp1 auslesen
temp1=`echo $tempraw | awk '{print $5}'`
temp1scale=`echo "scale=2; $temp1 / 1" | bc`
# Zeitdaten für spätere Prüfung erstellen
last=`head -n 1 /home/pi/.letzteschaltung.txt`
now=`date +%s`
future=`echo "${last} + 120" | bc`
# Ermittelte Temperaturen
compare1=`echo "${temp0scale} <= 22.00" | bc`
compare2=`echo "${temp0scale} < 12.00" | bc`
compare3=`echo "${temp0scale} > 35.00" | bc`
# Schalttemperatur unterschritten
if [ $compare1 -eq "1" ]
then
echo Testausgabe: ${temp0scale}°C, schalte AN
echo 1 > /home/pi/.schaltzustand.txt
echo $now > /home/pi/.letzteschaltung.txt
# Schaltung mehrfach auslösen
sudo /home/pi/programs/raspberry-remote/send 10101 1 1
sudo /home/pi/programs/raspberry-remote/send 10101 1 1
sudo /home/pi/programs/raspberry-remote/send 10101 1 1
# Schaltlicht anschalten
sudo echo "1" >/sys/class/gpio/gpio25/value
# Schalttemperatur überschritten, Zeit bereit erreicht
elif [ ${now} -gt ${future} ]
then
echo Testausgabe: ${temp0scale}°C um ${now}, schalte AUS
echo 0 > /home/pi/.schaltzustand.txt
# Schaltung mehrfach auslösen
sudo /home/pi/programs/raspberry-remote/send 10101 1 0
sudo /home/pi/programs/raspberry-remote/send 10101 1 0
sudo /home/pi/programs/raspberry-remote/send 10101 1 0
# Schaltlicht ausschalten
sudo echo "0" >/sys/class/gpio/gpio25/value
# Schalttemperatur überschritten, Zeit noch nicht erreicht
else
echo Testausgabe: ${temp0scale}°C, ist größer, Zeit nicht erfüllt WARTEN
fi
# Mindesttemperatur nicht erreicht
if [ $compare2 -eq "1" ]
then
echo Versende Mindesttemperatur Warnung
/home/pi/programs/yowsup/yowsup-cli demos --config /home/pi/programs/yowsup/config --send 491724210080 "WARNUNG: Die Temperatur im Frühbeet beträgt weniger als 12°C"
/home/pi/programs/yowsup/yowsup-cli demos --config /home/pi/programs/yowsup/config --send 491704633793 "WARNUNG: Die Temperatur im Frühbeet beträgt weniger als 12°C"
# Maximaltemperatur überschritten
elif [ $compare3 -eq "1" ]
then
echo Versende Maximaltemperatur Warnung
/home/pi/programs/yowsup/yowsup-cli demos --config /home/pi/programs/yowsup/config --send 491724210080 "WARNUNG: Die Temperatur im Frühbeet beträgt mehr als 35°C"
/home/pi/programs/yowsup/yowsup-cli demos --config /home/pi/programs/yowsup/config --send 491704633793 "WARNUNG: Die Temperatur im Frühbeet beträgt mehr als 35°C"
fi
Während dieses Script läuft soll die am Anfang stehende LED blinken. Wenn ich das ganze allerdings per While-Schleife mache, dann komm ich ja nicht zu meinem eignentlichen Code.
Hatte das mal versucht:
Code:
#!/bin/sh
while true; do
echo "1" > /sys/class/gpio/gpio17/value
sleep 0.5;
echo "0" > /sys/class/gpio/gpio17/value
sleep 0.5;
done
Hat vielleicht jemand eine Lösung wie ich das in meinem Script gelöst bekomme?