AVR-Werte sammeln per PHP

Um z.B. Temperatur-Werte historisch zu halten und darstellen zu können, habe ich ein PHP-Skript update.php programmiert, welches mir Werte z.B. vom AVR-NET-IO ausliest und mit einem timestamp in eine mySQL Datenbank (mySQL ist auch auf dem NAS DS209) schreibt:

Dieses PHP-Skript wird per cron-Job mit „wget http://localhost/update.php alle 10 Minuten auf dem NAS DS209 aufgerufen.
Somit habe ich eine Historie mit einer Auflösung von 10 Minuten in der mySQL-Datenbank.

Die entsprechende Datenbank kann dann z.B. so aussehen:

Im Prinzip geht das dann genauso bei anderen AVR-Webservern, es muss eben nur eine daten.html Seite vorhanden sein.

Auswerten lässt sich diese Historie z.B. mit Digrammen, wie dies funktioniert, steht hier:
Werte als Diagramm darstellen

Werte als JpGraph Digramm darstellen

Historische Werte lassen sich zum Beispiel mit JpGraph als Diagramm darstellen.

Dazu benötigt man lediglich die JpGraph Lib und eine PHP-Datei, die das Bild generiert.

Hier ein Beispiel eines 48 Stunden Digramms für 2 Werte (Temperatur und Luftfeuchte):

Dieses PHP-Skript wird dann ganz einfach in eine HTML-Seite als IMG-Tag

<img href="jpgraph_48h.php">

mit eingebunden.

Das generierte Diagramm sieht dann z.B. so aus:

EIB-Visualisierung mit PHP

Ich habe meine EIB Heizungs Steuerung mit PHP und linKNX visualisiert!

Für die Anzeige verwende ich ein Bild, welches ich selbst erstellt habe und meine Heizungsanlage darstellt:

heizung

Darauf habe ich an den Stellen, wo die Werte erscheinen sollen entsprechende Layer (DIV) deviniert, in denen die Werte dargestellt werden sollen.

In den Layern wird eine get-Funktion mit
<?php getEibValue(‚temp_speicher‘); ?>
aufgerufen und gibt zur Laufzeit dann den Wert aus.

Bei den Ventilen und Pumpen wird der aktuelle Zustand angezeigt und kann durch klicken auf den Wert verändert werden. Dabei wird eine set-Funktion
<?php setEibValue(‚pumpe_ofen‘,1); ?>
aufgerufen, die den Wert an den EIB-Bus schickt.

Beschreibung der Funktionen

Neben der Visualisierung der Zustände und Werte lasse ich noch die gesammelten Temperatur-Werte als Diagramm darstellen.

Die Diagramme erstelle ich dynamisch für verschiedene Zeitintervalle (24h, 48h, Woche, Monat und Jahr):

Heizung Graph 24h
24 Stunden

48 Stunden
48 Stunden

1 Woche
1 Woche

1 Monat
1 Monat

Wie dies funktioniert, siehe: Werte als Diagramm darstellen

EIB-Werte sammeln

Um z.B. Temperatur-Werte historisch zu halten und darstellen zu können, habe ich ein PHP-Skript update.php programmiert, welches mir Werte z.B. von linKNX ausliest und mit einem timestamp in eine mySQL Datenbank (mySQL ist auch auf dem NAS DS209) schreibt:

Dieses PHP-Skript wird per cron-Job mit

wget http://localhost/update.php

alle 10 Minuten auf dem NAS DS209 aufgerufen.

Somit habe ich eine Historie mit einer Auflösung von 10 Minuten in der mySQL-Datenbank.

Auswerten lässt sich diese Historie z.B. mit Digrammen, wie dies funktioniert, steht hier:
Werte als Diagramm darstellen