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.

Ergebnisse als Graphen

gnuplot Skript Download

#!/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
}

Bash Skript Download

#!/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

Beispieldaten Luftdruck

Beispieldaten Temperatur