Hallo
Leider gibt es in diesem Projekt noch kein Update...ich sammle erst mal Daten und Erfahrung in der Zuverlässigkeit von diesem Aufbau.
Die Trendpfeile Stelle ich so dar:
<H3><b>Temperaturtrend:</b></H3>
<img src="/trend/
<?php
//get the db ready
error_reporting(E_ALL);
@mysql_connect("Pfad der Datenbank", "Datenbank", "Passwort SQL") OR die(mysql_error());
mysql_select_db("Datenbankname") OR die(mysql_error());
$sql = "SELECT zeit, temperatur FROM ip ORDER BY zeit DESC";
$result = mysql_query($sql) OR die(mysql_error());
$i=0;
while ($i <= 6) {
$array=mysql_fetch_array($result);
$temp[$i]=$array[1];
$i++;
};
$temp1 = (($temp[4] + $temp[3] + $temp[2]) / 3);
$temp2 = (($temp[1] + $temp[0]) / 2);
if ($temp2 >= $temp1) {
echo "tempup.jpg";
}
else {
echo "tempdown.jpg";
}
?>
">
...so bilde ich den Jahresschnitt:
<?php
//get the db ready
error_reporting(E_ALL);
@mysql_connect("Pfad Datenbank", "Datenbank", "Kennwort SQL") OR die(mysql_error());
mysql_select_db("Datenbankname") OR die(mysql_error());
$sql = "SELECT temperatur FROM ip";
$result = mysql_query($sql) OR die(mysql_error());
//push the data into $data array to get it plotted
$i=0;
$durchschnitt = 0;
while ($array=mysql_fetch_array($result)) {
$temperatur[$i]=$array[0];
$durchschnitt = $durchschnitt + $temperatur[$i];
$i++;
};
$durchschnitt = $durchschnitt / ($i+1);
$durchschnitt = number_format($durchschnitt, 2);
echo $durchschnitt;
?>
...und so den aktuellen Temperaturwert:
<?php
//get the db ready
error_reporting(E_ALL);
@mysql_connect("Pfad Datenbank", "Benutzername", "Kennwort") OR die(mysql_error());
mysql_select_db("Datenbank") OR die(mysql_error());
$sql = "SELECT temperatur, feuchte, zeit FROM ip ORDER BY zeit DESC";
$result = mysql_query($sql) OR die(mysql_error());
//push the data into $data array to get it plotted
$i=0;
while ($i <= 1) {
$array=mysql_fetch_array($result);
$temperatur[$i]=$array[0];
$feuchte[$i]=$array[1];
$zeit[$i]=$array[2];
$i++;
};
echo "<FONT SIZE=10>";
echo "<font color=\"#FF0000\">";
echo $temperatur[0];
echo "ºC";
echo "</font>";
echo "<font color=\"#000000\"> / ";
echo "</font>";
echo "<font color=\"#0000FF\">";
echo $feuchte[0];
echo "%";
echo "</font>";
echo "</FONT>";
echo "<br>";
echo "@ ";
echo "$zeit[0]";
?>
....so den Tages Maximal- und Minimalwert:
<H3><b>Tageshöchst /-Tiefst:<br>
<?php
$heuteAnfang = date("Y-m-d 00:00:01");
$heuteEnde = date("Y-m-d 23:59:59");
//get the db ready
error_reporting(E_ALL);
@mysql_connect("Pfad Datenbank", "Benutzer", "Kennwort") OR die(mysql_error());
mysql_select_db("Datenbankname") OR die(mysql_error());
$sql = "SELECT solar FROM ip WHERE zeit > '$heuteAnfang' AND zeit < '$heuteEnde' ORDER BY solar DESC";
$result = mysql_query($sql) OR die(mysql_error());
//push the data into $data array to get it plotted
$i=0;
while ($array=mysql_fetch_array($result)) {
$solar[$i]=$array[0];
$i++;
};
$sql = "SELECT solar FROM ip WHERE zeit > '$heuteAnfang' AND zeit < '$heuteEnde' ORDER BY solar ASC";
$result = mysql_query($sql) OR die(mysql_error());
$i=0;
while ($array=mysql_fetch_array($result)) {
$solar2[$i]=$array[0];
$i++;
};
if (!empty($solar[0])) {
echo $solar[0];
}
else {
echo "-.-";
}
echo "ºC / ";
if (!empty($solar2[0])) {
echo $solar2[0];
}
else {
echo "-.-";
}
?>
Zur Zeit wurde ein Fehler angezeigt weil die WLAN-Verbindung aus irgendeinem Grund immer wieder abreist.
Wieso dies so ist habe ich noch nicht herausgefunden. Die ersten rund 150 Tage lief alles ohne Unterbruch (im 5-Minuten-Intervall), seit einigen
Wochen habe ich immer wieder Unterbrüche.
Eigentlich läuft WLAN sehr stabil, woher diese Unterbrüche kommen weis ich zur Zeit noch nicht.
Was beim WLAN-Shield sicher anders sein mag ist die limitierte Anzahl von HTML Code pro darzustellende Seite.
Aber für den Aufruf eines Formulares und die Übergabe der Werte reicht es allemal aus.
Das Diagramm hat nur ein Fehler gezeigt weil an diesem Tag noch keine Messung verfügbar war.
Dies sollte eigentlich nie passieren, auch wenn man die Anzahl Tage auf 0 setzt.
Scrollbare Diagramme habe ich noch nicht getestet. Ich war schon zufrieden damit die Temperatur und die Feuchte ins gleiche Diagramm zu bringen.
Aber vielleicht liesse sich mit jgraph ein Diagramm darstellen, in welchem mehrere Tage überlappt dargestellt werden.
Damit könnte man die Veränderungen jeweils zur gleichen Uhrzeit sichtbar machen.
Falls Du weiteren Code benötigst helfe ich gerne weiter.
Gruss