Raspberry Pi: GnuPlot für Temperaturmessung

Diverse Notizen und Sammlungen aus dem Soft~ und Hardware-Alltag
Antworten
Benutzeravatar
emanuel
Administrator
Beiträge: 16
Registriert: So Apr 07, 2019 8:43 am
Wohnort: Wien
Kontaktdaten:

Raspberry Pi: GnuPlot für Temperaturmessung

Beitrag von emanuel » So Apr 07, 2019 2:15 pm

Crappy, nicht so nutzen - in progress. Es sind einige Copy & Past-Formatierungsfehler enthalten.

Code: Alles auswählen

#!/bin/sh
CURD=$(date "+%Y-%m-%d;%H:%M:%S");
DATA=$(sudo python /home/pi/AdafruitDHT.py 22 4);
TEMP=$(echo $DATA | cut -d\  -f1);
LUFT=$(echo $DATA | cut -d\  -f2);
TEMP=$(expr substr "${TEMP}" 6 4);
LUFT=$(expr substr "${LUFT}" 10 4);
echo "$CURD;$TEMP;$LUFT" >> /home/pi/log.csv;
gnuplot <<- EOF
set term png small size 1000, 800
set output "/home/pi/day.png"
set multiplot layout 2, 1
set grid
set nokey
set datafile sep ";"
set tics font ",7"
set style line 1 lt rgb "red" lw 1
set style line 2 lt rgb "blue" lw 1
set timefmt "%Y-%m-%d;%H:%M:%S"
set xdata time
set xtics rotate by 90 right offset 0,0
set format x "%H:%M"
set xtics 30*60
set yrange [0:40]
set ylabel "Grad Celsius"
set title "Temperatur"
plot "< tail -n 48 /home/pi/log.csv" using 1:3 with lines ls 1
set yrange [0:80]
set ylabel "% Anteil"
set title "Luftfeuchtigkeit"
plot "< tail -n 48 /home/pi/log.csv" using 1:4 with lines ls 2
unset multiplot
set output "/home/pi/week.png"
set multiplot layout 2, 1
set xtics 1440*60
set format x "%A"
set yrange [0:40]
set ylabel "Grad Celsius"
set title "Temperatur"
plot "< tail -n 672 /home/pi/log.csv" using 1:3 with lines ls 1
set yrange [0:80]
set ylabel "% Anteil"
set title "Luftfeuchtigkeit"
plot "< tail -n 672 /home/pi/log.csv" using 1:4 with lines ls 2
unset multiplot
EOF
Foren-Administrator - PM an mich bei Fragen!

Benutzeravatar
emanuel
Administrator
Beiträge: 16
Registriert: So Apr 07, 2019 8:43 am
Wohnort: Wien
Kontaktdaten:

Re: Raspberry Pi: GnuPlot für Temperaturmessung

Beitrag von emanuel » So Apr 07, 2019 7:16 pm

Temperatur messen und loggen

Code: Alles auswählen

#!/bin/bash
tc=$(/opt/vc/bin/vcgencmd measure_temp | awk -F"=|'" '{print }');
#cu=$(ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu --no-headers | head -n 1);
#cu=$(ps aux | sort -nrk 3,3 | head -n 1);
echo "$tc" >> log.csv;
Foren-Administrator - PM an mich bei Fragen!

Antworten