Klimadaten eines BOSCH BMP 280 Sensors mit gnuplot darstellen
Ein Bosch BMP 280 lässt sich direkt an einen Raspberry pi anschlieesen und durch diesen auslesen und loggen. Über einen Webserver werden die Daten dann ausgelesen und auf einem anderen Rechner visualisiert. Das könnte aber auch der raspi selber erledigen, wenn m an möchte. Die Daten werden auf eine festgelegte Zeitspanne in der Vergangenheit begrenzt, zum Beispiel 1 Woche, und mit gnuplot visualisiert.
#!/usr/bin/gnuplot
#
datei1='P2.csv'
datei2='T2.csv'
ausgabe1='barometer.pdf'
##ausgabe2='T.pdf'
title1='Luftdruckverlauf QNH im Keller auf 320 m ü.N.N (BMP280)'
#title2='T2'
miss=1
#
set format x "%Y-%m-%d\n%H:%M" # Ausgabeformat
set xdata time # Einleseformat
set timefmt "%Y-%m-%dT%H:%M" # Einleseformat
# Die Funktion ceil(x) rundet den Wert von x ab
# Die Anzahl der Datenpunkte (für die Normierung)
set datafile separator ","
set terminal pdf size 11.6929,8.267
set output ausgabe1
#set decimalsign locale "de_DE.UTF-8"
set size 0.95,0.95
set origin 0.03,0.03
set grid #linestyle 30, linestyle 31
set grid xtics mxtics ytics mytics
set title title1
#"Pingzeit Verlauf"
set xlabel "Zeit"
set ylabel "Druck in hPa"
set mytics
if ( miss >0 ) {
set y2label "Temperatur"
set y2tics
plot datei1 using 1:2 with dots lc rgb "blue" title "Druck in hPa" axes x1y1, \
datei2 using 1:2 with dots lc rgb "red" title "Temp in °C" axes x1y2
} else {
plot datei1 using 1:2 with dots lc rgb "blue" title "Druck in hPa" axes x1y1
}
#!/bin/bash # QURL=root@raspi3:/var/www/wetter/ rsync -av $QURL/[PT].csv . #Minuten=10080 # 1 Woche #Minuten=20160 # 2 Wochen #Minuten=30240 # 3 Wochen Minuten=40320 # 4 Wochen tail -$Minuten P.csv > P2.csv tail -$Minuten T.csv > T2.csv
Der Luftdruck über 2 Jahre
Das sind minütliche Druckwerte, gemessen mit dem BMP 280 über 779 Tage. Insgesamt also 1,12 Mio Temperaturdaten. Die Daten werden über die Tageszeit dargestellt. Schön erkennt man hier in der Darstellung im Zeitbereich dass der Luftdruck ungeachtet der Schwankungen durch Wetterentwicklungen eine 12-stündige Schwankungsperiode hat. Man benötigt also nicht immer gleich eine Transformation in den Frequenzbereich (FFT).
gnuplot Skript Download