raspbian – Finn Christiansen https://blogarchive.finnchristiansen.de Softwareentwickler mit einer Vorliebe für freie Software und GNU / Linux Sat, 08 Dec 2018 16:50:58 +0000 de-DE hourly 1 https://wordpress.org/?v=5.1.1 https://blogarchive.finnchristiansen.de/wp-content/uploads/2017/01/cropped-FinnsBlog512-32x32.png raspbian – Finn Christiansen https://blogarchive.finnchristiansen.de 32 32 Mit sunwait bestimmen, ob es Tag oder Nacht ist https://blogarchive.finnchristiansen.de/2016/05/02/mit-sunwait-bestimmen-ob-es-tag-oder-nacht-ist/ https://blogarchive.finnchristiansen.de/2016/05/02/mit-sunwait-bestimmen-ob-es-tag-oder-nacht-ist/#comments Mon, 02 May 2016 07:20:24 +0000 https://www.finnchristiansen.de/?p=121 Continue reading ]]> Die Frage, ob es Tag oder Nacht ist, lässt sich in der Regel mit einem Blick aus dem Fenster beantworten. Manchmal genügt dies aber nicht und man möchte vielleicht die Ausführung bestimmer Skripte davon abhängig machen, ob es Tag oder Nacht ist. Bisher habe ich dazu eine Wetter API benutzt, die Sonnenaufgangs- und untergangszeiten liefert. Das ist aber ein wenig umständlich, setzt eine Internetverbindung voraus und ist nicht immer zuverlässig. Eine bessere Lösung bildet in meinen Augen sunwait, welches die Frage durch Berechnen beantwortet.

Installation

Unter Arch Linux ist die Installation meist einfach, da das Paket im Arch User Repository enthalten ist:

yaourt -S sunwait

Eigentlich möchte ich es aber auf einem Debian bzw. Raspbian einsetzen. Dort muss man es kurz herunterladen und kompilieren. Eine geforkte, etwas erweiterte Version namens sunwait4windows existiert und lässt sich auch unter Linux kompilieren und ausführen:

cd /usr/local/src
wget http://netcologne.dl.sourceforge.net/project/sunwait4windows/sunwait0-8.tar
tar xf sunwait0-8.tar
cd sunwait/0.8
make
cp sunwait /usr/local/bin

Benutzung

Die erste Hürde bei der Benutzung von sunwait ist die Ermittlung des Breiten- und Längengrades für den eigenen Standort. Hierzu habe ich OpenStreetMap verwendet, meinen Standort auf höchster Zoomstufe herausgesucht und mir die Daten aus der URL herauskopiert.

sunwait poll exit 52.01075N 8.54081E
# liefert DAY oder NIGHT in der Standardausgabe
# Exit-Code für DAY ist 2 und für NIGHT 3
if [ $? -eq 2 ]; 
then
    echo "Es ist Tag."
else
    echo "Es ist Nacht."
fi

Wer nicht nur herausfinden möchte, ob es Tag oder Nacht ist, sondern mit sunwait warten möchte, bis Sonnenaufgang oder -untergang eintreten, kann andere Modi wie z.B. wait anstatt poll verwenden. Die Hilfe kann angezeigt werden, indem sunwait ohne weitere Parameter aufgerufen wird.

Ich kombiniere sunwait mit einem Raspberry Pi samt 433 MHz Funksteckdosen-Schaltung, um einige Lichter abhängig von der Tageszeit und einiger anderer Parameter ein- oder auszuschalten. Einsatzmöglichkeiten gibt es glücklicherweise genug.

]]>
https://blogarchive.finnchristiansen.de/2016/05/02/mit-sunwait-bestimmen-ob-es-tag-oder-nacht-ist/feed/ 3