Webcam wird zur Wetterstation

Wie schon in Low Cost Webcam für den Modellflugplatz beschrieben, habe ich ein altes Android Smartphone mit dem Gehäuse eines Aussenstrahlers in eine Webcam für unseren Flugplatz umgebaut. Nach einem Jahr Betrieb war nun der nächste Schritt angesagt. Smartphone bedeutet ja “Option für einen Hotspot” und damit kann man tolle Dinge tun. Z.B. eine Netatmo Wetterstation anschliessen. Das habe ich gemacht und der Station direkt noch ein Wind- und ein Regenmodul spendiert. Ich wollte so immer von zuhause ermitteln können, wie leicht der Flieger sein darf (Wind…), den ich einpacke und ob ich nicht direkt in den Regen fahre…

Wer die Netatmo Station kennt, weiss dass ein cooles Feature die Mobile Apps für iOS und Android sowie die wirklich ansprechende Reporting Website sind. Zu dieser Website lädt die Basisstation auch immer die Wetterdaten hoch, die sie selber misst oder von den Aussenmodulen bekommt. Es gibt eine recht grosse Community für die Netatmo Produkte,  ein API für Programmierer sowie eine Wetterkarte, wo man heutzutage fast sicher eine Wetterstation in der Nähe findet.

Was ich nicht geschafft habe war einen Weg zu finden, wie man die coolen Grafiken halbwegs einfach in eine eigene Website integriert. Also selber gemacht. Da meine Software Entwicklertage schon lange vorbei sind, habe ich etwas Linux-Shell-basiertes gebaut. Denn so konnte ich den Server benutzen, der eh schon die Einzelbilder der Webcam zu einem Zeitrafferfilm zusammenfügt. Zum Glück habe ich zwei Scripts gefunden, die mir die Infos über die vorhanderen Devices und die vorhandenen Wetterdaten auslesen konnten. Ich modifizierte das Letzere so, dass direkt ein bisschen Postprocessing der Regendaten gemacht wird. Die beiden Scripts hier.

Aber wie die Charts generieren? Habe mich vage an ein Tool namens Gnuplot erinnert und das etwas näher angeschaut. Uiiii, das ist mehr nur als das Schweizer Sachmesser der automatisierten Chart-Erstellung. Man kann so ziemlich alles auf der Kommandozeile damit erzeugen. Wird die Excel und PowerPoint Benutzer nicht beeindrucken, aber ich fand es faszinierend. So folgende Script zeigt wie die Temperaturdaten und die Luftfeuchtigkeit angezeugt werden.

reset
set datafile separator ';'
set timestamp "Erstellt am %Y-%m-%d um %H:%M:%S" font ',7'

set terminal pngcairo font ',10' size 640,480
set output 'temperature_humidity_mgu.png'
set style line 1 linetype rgb "orange" linewidth 2 pointtype 7 pointsize 0.3
set style line 2 linetype rgb "brown" linewidth 2 pointtype 7 pointsize 0.3

set title "Temperatur & Luftfeuchtigkeit" font ',14'

set ylabel "Prozent"
set y2label "Grad Celcius"
set ytics nomirror
set y2tics

set timefmt "%Y/%m/%d %H:%M:%S"
set format x "%d.%m.\n%H:%M"
set xdata time
set xtic font ',8'
set xlabel "Uhrzeit" offset 0,-1
set grid

plot "< awk '(NR>4){print;}' temperature_humidity_mgu.csv" using 2:3 title "Temperatur" with filledcurves x1 linestyle 1 axes x1y2, \
 "< awk '(NR>4){print;}' temperature_humidity_mgu.csv" using 2:4 title "Luftfeuchtigkeit" with lines linestyle 2 axes x1y1

temperature_humidity_mgu

Momentan werden die Wetterdaten alle 5 Minuten heruntergeladen

*/5 * * * * cd ~/Dropbox/Apps/joomla && ~/bin/getmeasurecsv.sh && gnuplot ~/bin/wind_angle.gnuplot ~/bin/wind.gnuplot ~/bin/rain.gnuplot ~/bin/temperature_humidity.gnuplot > /dev/null 2>&11

und in Charts für Temperatur/Luftfeuchtigkeit, Regen, Wind-/Böenstärke und Windrichtung transformiert. Batch-basiert. Gnuplot Scripts und Beispiel CSVs hier.

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: