Raspberry Pi
Grow-Box Environment Control

Startseite Installation und Vorbereiten GPIO Anschlussplan Liste der Sensoren
Messen: Temperatur und Luftfeuchtigkeit Licht Bodenfeuchtigkeit
Steuern: Cronjob Licht Abluft Umluft -->
Webserver Dateien: : Logs darstellen Sollwerte einstellen Steuern

Geloggte Sensorwerte darstellen

Das Auslesen und Darstellen der Sensorwerte besort die Datei show.php, die ins Verzeichniss /var/www/html gehöhrt.
Die Benutzen Sensoren müssen in der Datei angegeben werden.

/var/www/html/show.php

!-- in Zeile 1 entfernen, -- in Zeile 32 und alle " in " müssen ' sein... die Darstellung der PHP-Dateien ist leider fehlerhaft. Demnächste gibt es alle PHP Dateien und die dazugehörigen Grafiken zusätzlich als ZIP-Datei zum runterladen.

Letzter Zustand";
echo"
"; foreach ($sensoren as $id => $sensorname) { $res=mysqli_query($db,"select datum,zeit,wert from log where sensor='$id' order by id desc limit 0,1"); $row=mysqli_fetch_array($res); echo"
".$row['datum']." - ".$row['zeit']." - ".$sensorname.": ".$row['wert']; } echo"
"; foreach ($gpios as $relais => $port) echo 1-trim(shell_exec("/usr/bin/gpio -g read ".$port[0]))." - Relais ".$relais." - GPIO-Port".$port[0]." - ".$port[1]."
"; // mit wiringPi zustand auslesen echo"

"; $res=mysqli_query($db,"select datum from log order by datum desc"); while ($row = $res->fetch_array()) $datum[$row['datum']]++; echo"
"; if (!$_GET['datum']) $_GET['datum']=date("Y-m-d"); if ($_GET['datum']) { echo""; $res=mysqli_query($db,"select zeit from log where datum='".$_GET['datum']."' order by zeit desc limit 0,1"); $row = $res->fetch_array(); $bis_zeit=zeit2min($row[0]); foreach($sensoren as $id => $name) { unset($wert); echo "
".$name; $res=mysqli_query($db,"select * from log where datum='".$_GET['datum']."' and sensor='".$id."' order by id"); while ($row = $res->fetch_array()) { $wert[zeit2min($row['zeit'])]=$row['wert']; //echo "
".$row['zeit']." - ".zeit2min($row['zeit'])." - ".$row['wert']; } @$max=max($wert); @$min=min($wert); echo " von: $min bis: $max"; @$darstellungsfaktor=$darstellungshoehe/($max-$min); $pixelfarbe="blau"; if (strstr($name,"Temp")) $pixelfarbe="rot"; if (strstr($name,"Luft")) $pixelfarbe="hellblau"; if (strstr($name,"Boden")) $pixelfarbe="hellbraun"; if (strstr($name,"Licht")) $pixelfarbe="gelb"; echo"
$max"; $x=$wert[0]; for($i=0; $i<=$bis_zeit; $i++) { if ($wert[$i]) $x=$wert[$i]; echo""; } echo"
$min
"; } } mysqli_close($db); ?>



Zur grafischen Darstellung sind noch ein paar Bilder im Verzeichnis /var/www/html/img nötig:
tab-hintergrund.png blau.gif gelb.gif hellbau.gif hellbraun.gif rot.gif

Die show.php kann lokal auf dem Raspi oder im Netzwerk aufgerufen werden.