1-wire Wetterstation (Teil 3: Anzeige)

Nachdem man sich eine 1-wire Wetterstation nach dem Artikel 1-wire Wetterstation (Teil 1: Installation) gebaut und die Daten wie im Artikel 1-wire Wetterstation (Teil 2: Datenbank) beschrieben in einer MySQL Tabelle speichert möchte man die gesammelten Werte natürlich auch angezeigt bekommen.

Um möglichst einfach die gemessenen Werte der Wetterstation in einer Webseite anzuzeigen, habe ich die jpgraph verwendet. Diese Software darf für private Zwecke kostenlos verwendet werden. Da sie ansonsten Geld kostet ist sie nicht im Repository zu finden. Man kann sie aber unter der URL http://jpgraph.net/download runterladen. Ich habe mir von dort die aktuelle Version 3.07 geholt und in das Verzeichnis /usr/share/jpgraph3 entpackt. Danach benötigt man noch das Paket php5-gd. Diese ist im Repository enthalten und kann mit dem folgenden Befehl installiert werden.

apt-get install php5-gd

Um aus den gesammelten Wetterdaten eine Grafik mit den Werten des letzten Tages erstellen zu lassen, habe ich das Verzeichnis /var/www/grafiken angelegt und das folgenden PHP-Programm geschrieben, welches die Grafiken aus erzeugt.

Anschließend habe ich zum anzeigen der Grafiken die folgende, einfache HTML-Seite geschrieben und in das Verzeichnis /var/www gelegt.

Wetterstation
Das Ergebnis sieht dann ungefähr so aus:

Beitrag veröffentlicht

in

von

Kommentare

3 Antworten zu „1-wire Wetterstation (Teil 3: Anzeige)“

  1. Avatar von Tim
    Tim

    Hallo Kristian!

    danke für dein Posting 🙂

    was heißt denn in dieser Zeile
    $temp_clara_average = round(($temp_clara_average = $temp_clara_average / 1440), 4);

    die “4” am Ende??

    versteh ich noch nicht..

    Gruß Tim

  2. Avatar von kristian

    Hallo Tim,

    das bedeutet, das der Befehl “round” auf 4 Stellen rundet.

    Siehe: http://php.net/manual/de/function.round.php

    Gruß
    Kristian

  3. Avatar von Tim
    Tim

    Hallo Kristian,

    ich habe noch ne Frage:

    $result=mysql_query(“SELECT datum, temp1, temp2 FROM tabelle1 WHERE datum>=now() – interval 30 day ORDER BY datum DESC”);

    $datum = array();
    $temp1 = array();
    $temp2 = array();
    //$i=0;
    while ($row=mysql_fetch_array($result)) {

    $datum[] = $row[0];
    $temp1[] = $row[1];
    $temp2[] = $row[2];

    }

    mysql_close($connection);

    $temp1_neu = array();
    $datum_temp1 = array();

    for ($i=0; $i = 25) {
    $temp1_neu[] = $temp1[$i];
    $datum_temp1[] = $datum[$i];
    }

    }

    also ich bekomm immer diese Error-Message:
    JpGraph Error: 25070 Either X or Y data arrays contains non-numeric values. Check that the data is really specified as numeric data and not as strings. It is an error to specify data for example as ‘-2345.2’ (using quotes).

    ich check nich, was ich falsch mache..
    mit
    print_r($temp1_neu);
    kommt das raus:
    Array ( [0] => 25.3125 [1] => 27.1875 [2] => 28 [3] => 26.5625 [4] => 25.125 [5] => 25.875 [6] => 27.75 [7] => 28.4375 [8] => 27.375 [9] => 25.375 [10] => 25.0625 [11] => 26.625 [12] => 25.9375 [13] => 25 [14] => 25.625 [15] => 26.4375 [16] => 29.0625 [17] => 29.25 [18] => 29.4375 [19] => 29.5 [20] => 29.4375 [21] => 29.625 [22] => 29.5 [23] => 29.25 [24] => 29.0625 [25] => 29.1875 [26] => 29.1875 [27] => 29.125 [28] => 29.0625 [29] => 28.5625 [30] => 28.375 [31] => 28.5625 [32] => 27.8125 [33] => 26.5625 [34] => 26.1875 )

    eig alles richtig.
    aber der kann das iwie nicht verarbeiten.
    weiter unten steht im code:

    // Balkengraphen erstellen
    $lineplot1 =new LinePlot($temp1_neu, $datum_temp1);
    $lineplot1->SetLegend(“Temp1”);
    $lineplot1->SetColor(“#FF8040”);

    also iwie ist das komisch..ich finde den fehler nich.

    Kannst du mir weiterhelfen??

    danke im voraus..
    Gruß
    Tim

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

WordPress Cookie Hinweis von Real Cookie Banner