Für die Webcam vom Verein war ich die letzten Tage auf der Suche, möglichst einfach bestimmen zu können, ob wir im momentan Tag oder Nacht haben. Dazu sollte auch ein gewisses Offset einstellbar sein um auch Bilder bei Dämmerung aufzunehmen.
Das ganze sollte dann als Shell-Script Zyklisch aufgerufen werden.
Datenquelle
Zu Hilfe wird hierfür der Yahoo-Apis für Wetter genommen. Unter www.weather.yahoo.com Sucht ihr eure gewünschte Stadt und Notiert euch die Idee, die im URL ausgelöst wird:
Hier bei Frankfurt wäre es die 650272
Script
Nun der Script: Diesen irgendwo ablegen und ausführbar machen!
LOCATION=650272 SUNSET12H=`curl -s http://weather.yahooapis.com/forecastrss?w=${LOCATION}|grep astronomy|awk -F" '{print $4}'` SUNSET24H=`date --date="${SUNSET12H}" +%T` sunset=$(date --date "${SUNSET24H}" +%s) #+%R SUNRISE12H=`curl -s http://weather.yahooapis.com/forecastrss?w=${LOCATION}|grep astronomy|awk -F" '{print $2}'` SUNRISE24H=`date --date="${SUNRISE12H}" +%T` sunrise=$(date --date "${SUNRISE24H}" +%s) if [ $sunrise -le $now ] && [ $sunset -ge $now ]; then echo "Es ist Tag!" //DO-SOMETHING else echo "Es ist Nacht!" fi
Wer in sehr Nördlichen oder Südlichen Orten wohnt, sollte sich noch eine Abfrage überlegen die den Code abfangen, wenn es im Sommer gar nicht dunkel wird! 😉
Offset
Wenn das Ereignis schon zur Dämmerung ausgeführt werden soll, ist natürlich ein Offset notwendig! Dies kann in Linux sehr einfach erstellt werden.
sunrise=$(date --date "${SUNRISE24H} 90 minutes ago" +%s) //Von der Zeit 90.Minuten subtrahieren
Am besten hier ein wenig ausprobieren!
Ergebnis
Siehe da! Die Linux Maschine weiß nun ob es Tag oder Nacht ist.
Da die meisten Raspberry Pi’s etc. meist eh mit dem Internet verbunden sind, ist dies eine einfache Möglichkeit. Alternativen per Geo. Berechnung wären selbstverständlich auch möglich! Wer Ideen hat, kann natürlich auch eine Stufe drauf setzten! Hier ein paar Ideen:
http://lexikon.astronomie.info/zeitgleichung/
Schreibe einen Kommentar