• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Linux: WS-2300-Daten verarbeiten

Begonnen von martin2, 24.12.2007, 01:49:35

⏪ vorheriges - nächstes ⏩

Lazarus Long

So, jetzt habe ich auch die Befehle für die Bilderstellung per gnuplot.

In einem Script wird
/usr/bin/gnuplot /pfad/zur/datei/beispiel.gnp

aufgerufen.

beispiel.gnp sieht dann z.B. so aus:
# Erstellen einer Tagesgrafik für Temperatur
# setzt PNG-Ausgabe
# leicht gelber Hintergrund ;-)
set terminal png small xffffe0

# setzt Ausgabe-Datei
set output "/pfad/zur/Datei/beispiel.png"

#erste spalte ist JahrMonatTagStundeMinuteSekunge, hintereinander, ohne Leerzeichen
# Zeitformat in der Datei
set timefmt "%Y%m%d%H%M%S"

# Datentyp x-Achse
set xdata time

# verwendete Zeit-Daten, hier nur Stunde und Minute, fuer die x-Achse
# Zeitformat im Diagramm
set format x "%H:%M"

# Titelzeile, das Datum wird so auseinander gepflueckt
set title "Temperatur und rel. Luftfeuchte, `date +%d`.`date +%m`.`date +%Y`"

# Beschriftungen, Abstände und skalierung
set ylabel "Temperatur [Grad Celsius]"
set y2label "Relative Luftfeuchtigkeit [%]"
set y2range [0:100]
set y2tics 0, 10
set ytics nomirror

# using 2:6 bedeutet, dass die dritte und die 6 spalte fuer diesen wert auf x und y aufgetragen werden.
# bei using 1:8 wird die Zeit der ersten Spalte mit dem Wert der achten zu einer Kurve 'verbunden'
plot "/pfad/zur/Datei/station.txt" using 1:5 axis x1y1  title "Temperatur" with linespoints, \
"/pfad/zur/Datei/station.txt" using 1:8 axis x1y2 title "Relative Luftfeuchtigkeit" with linespoints


Und hier der Code, um aus einem Bild im PNG-Format eins im JPG-Format zu machen, on-the-fly:
{?
//jpeg aus png
header("Content-type: image/jpeg");

$image = imagecreatefrompng("beispiel.png");
imagejpeg($image);
imagedestroy($image);
?}

(Aus technischen Gründen [das Forum ;-)] sind im letzten Quelltext die Spiten Klammern durch geschweifte ersetzt worde. ( <und> == } )
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Zitat von: "Lazarus Long"So, jetzt habe ich auch die Befehle für die Bilderstellung per gnuplot.
Lazarus,
ich danke Dir sehr herzlich dafür!

Ich war hier gerade am Grübeln, wie ich meinen nächsten Beitrag verfasse um Dich
nett dazu zu bewegen, mir (und ggf. der Allgemeinheit) Deine Arbeitsergebnisse zur
Verfügung zu stellen. Denn eins ist natürlich mal klar: Du hast da Aufwand reinge-
steckt. Ich denke, recht ordentlichen Aufwand. Und nun kommen Leute (ähmmm, ja:
ich) und sagen: Lararus, gib da doch mal her. Das fällt schwer, klar. - Denn völlig
unbestreitbar will ich mir genau das sparen, was Du da an Aufwand reingesteckt
hast, keine Frage.
Nochmals: Ich danke Dir sehr herzlich!

Zitat von: "Lazarus Long"beispiel.gnp sieht dann z.B. so aus:
...
set timefmt "%Y%m%d%H%M%S"
Das verstehe ich nicht völlig.
Also Du speicherst alle Grafiken zum Zeitpunkt des Anfallens - ein weiteres Script
schiebt die dann auf Deinen WebServer - das habe ich verstanden. Ich vermute,
dass Du daher die anfallenden Grafikdateien nur mit allgemeinem Namen belegst
(wie beispiel.png) - richtig?

Lazarus,
den Befehlsraum von gnuplot kenne ich nicht: Offensichtlich sind aber Datum-
funktionen abgreifbar. Ist es möglich, in *.gnp die zu erzeugende Datei mit Zeit-
stempel zu versehen?
Also z.B. temperatur-2007-12-26.png - würde das mit den Mitteln der Definitions-
datei *.gnp machbar sein?

Lazarus,
schaue Dir bitte mal mein Ergebnis für den heutigen Tag an (minütliche Speiche-
rung aller Werte in Logdatei bei mir; Standort ist Raum Lutherstadt Wittenberg,
90km SSW Deines Standortes). Ist mein technisches Ergebnis aus Deiner Sicht ok?

Martin

Lazarus Long

Hallo,

in der *.gnp-Datei steht ja beim Dateinamen
set output "/pfad/zur/Datei/beispiel.png"

den könnster du auch dynamisch erstellen, z.B. so:
set output "/pfad/zur/Datei/beispiel`date +%d%m%Y`.png"

was als Dateinamen ein beispiel28122007.png für heute bringen würde.

In deinem Fall müsste das dann so aussehen:
temperatur-2007-12-26.png wird erstellt durch
set output "/pfad/zur/Datei/temperatur-`date +%Y-%m-%d`.png"


set timefmt "%Y%m%d%H%M%S"
beschreibt, wie das Datum in der Datei gesetzt ist. Im Falle von log2300 eben für jetzt (z.B.)
20071228163845
Damit kann gnuplot später das Datum richtig an die Achsen schreiben.
---

Wie man bei gnuplot die Kreisdiagramme (Wind...) schreib, habe ich noch nicht rausgefunden

---

Noch was, wenn du die 'using linepoints' raus nimmst, wird die kurve glatter, da nicht an jeder stelle ein Kreuz gezeichnet wird.
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Zitat von: "Lazarus Long"den könnster du auch dynamisch erstellen, z.B. so:
set output "/pfad/zur/Datei/beispiel`date +%d%m%Y`.png"
was als Dateinamen ein beispiel28122007.png für heute bringen würde.
Mir schwebt da was anderes im Kopfe herum:
Ich baue via crontab mehrere Grafiken stündlich oder zweistündlich - mit
allgemeinen Namen wie temperatur.png, luftdruck.png. Zu Mitternacht
werden die dann in eine Verzeichnisstruktur verschoben, die das Datum
aufnimmt. Zum Beispiel so:
./grafik/temperatur/2007/12/
Die Frage ist halt, ob das sinnvoll ist: Von Wetter im Sinne einer Wissen-
schaft habe ich nicht sonderlich viel Ahnung - da bin ich auf hilfreiche Rat-
schläge angewiesen: Speichert ihr die täglichen Grafiken ab? Speichert
ihr sie irgendwie mit Zeitstempel im Namen oder Pfad?

Martin

Lazarus Long

Ich benenne sie um 23:59 um, so dass sie das Datum des abgelaufenen Tages haben.

Damit kann ich auf der aktuellen Seite die Datumsjongliererei mir sparen ;-)

---

Ich muss meiner Seite mal eine History-Funktion verpassen ;-)
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Zitat von: "Lazarus Long"Wie man bei gnuplot die Kreisdiagramme (Wind...) schreib, habe ich noch nicht rausgefunden
Da darf ich mal fix den Gnuplot-Grundkurs zitieren:
"Tortendiagramme sind nicht die Stärke von Gnuplot."

Zitat von: "Lazarus Long"Noch was, wenn du die 'using linepoints' raus nimmst, wird die kurve glatter, da nicht an jeder stelle ein Kreuz gezeichnet wird.
Theoretisch ... praktisch sehe ich da dann keinerlei Änderung. Allerdings muss
ich sagen, dass mich das optisch/ästhetisch auch gar nicht stört: Die Messwerte
dürften deutlich ungenauer sein als die vom "x" bzw. "+" erzeugten Breiten.

Ich darf mein nächstes Ergebnis der öffentlichen Kritik stellen: Innentemperatur
(Arbeitszimmer), Außentemperatur, Windchill. - Hierzu übrigens eine Frage:
Dieses ominöse "windchill" ... das ist die "gefühlte Temperatur"?

Unschön ist übrigens, dass der blaue Graph die dritte Erklärung überschreibt ... Ideen?

Martin

martin2

Zitat von: "Lazarus Long"Ich benenne sie um 23:59 um, so dass sie das Datum des abgelaufenen Tages haben.
Damit kann ich auf der aktuellen Seite die Datumsjongliererei mir sparen ;-)
Haust Du alle Dateien in ein Verzeichnis?

Zitat von: "Lazarus Long"Ich muss meiner Seite mal eine History-Funktion verpassen ;-)
Wie schon erörtert, denke ich derzeit daran, für jeden Monat eines Jahres
ein eigenes Verzeichnis zu schaffen - und dieses dann für jede Klasse
einzeln. Der Hintergrund: Aus einem anderen Projekt habe ich folgendes
am Start: Sofern in ein (wohldefinierten) Verzeichnis mit Bilddateien ein
http-Zugriff (Index) erfolgt, startet ein perlscript, welches prüft, ob schon
thumbnails vorliegen - falls nicht werden die erzeugt on-the-fly. In jedem
Fall on-the-fly wird die index.html (nur virtuell) erzeugt - und präsentiert.
Dieses könnte ich ganz gut nachnutzen um für einen Monat eine Bilder-
galerie einer Klasse zu präsentieren: Es ist ja nur für mich ...

Martin

martin2

Das nächste Ergebnis ist der Luftdruck.
Es wäre übrigens schön, wenn fachlich kritisiert wird von den Profis! Sonst
lernt man ja nix ...

Konkrete fachliche Frage:
Lazarus' Station ist ca 100km entfernt, hat aber  (  seine Vergleichsgrafik hier)
deutlich höhere Werte in gleichem Zeitraum. Wie muss ich das verstehen?
Ist dieser Unterschied (hier: Fläming) normal? Oder muss ich das auf Unge-
nauigkeiten bei der Herstellung der Wetterstationen (was willste für 120 Euro
verlangen?) abbuchen?

Martin

meinolf

Hallo Lazarus,
habe mir auch Sripte für den Linux geschrieben.
http://www.swc-brilon.de/wx_dat/wetter.html
Ich beobachte allerdingst das fetch2300 nicht immer die Daten liesst. open2300 scheint da stabiler zu laufen.
Hast Du ne Idee wo dran das liegen könnte ?

Gruß Meinolf

Lazarus Long

Hallo martin2,

du müsstest den Link zu meiner Seite anpassen, da ist etwas Müll am Ende ;-) (wobei das bei mir immer die Lufdruckkurve des aktuellen Tages ist).
Meine WMR928 und die WS2300 messen vergleichbare Werte. Die WMR hat leider eine grobere Stufung, so dass die Kurven nicht so schön sind. Deshalb lasse ich sie nicht anzeigen ;-)


Hallo  meinolf,

keine Ahnung, ich habe festgestellt, das log2300 die von mir gewünschten Daten liefert, und mich um die restlichen mitgelieferten Programme nicht gekümmert.

Und C-Programmierung ist nicht so mein Ding ;-)
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro