Applikation zu Web-IO Analog-In:
Mehrere Messwerte per PHP abrufen und darstellen
Beim Einsatz von mehreren Web-IO Analog-In an einem Standort kann es wünschenswert sein, die Daten der einzelnen Geräte auf einer einzigen Web-Seite anzuzeigen. Hierzu bietet sich die Nutzung von PHP an.
Mit dem folgenden copy&paste-Beispiel können Sie die Messwerte von verschiedenen Geräten (hier zwei Web-IO Analog-In 2x 0..10V) auf einer Webseite darstellen.
Für dieses Beispiel benötigen Sie einen Web-Server mit PHP-Interpreter.
/Kein Problem: Wir stellen Ihnen den Web-IO Analog-In 2x 0..10V gerne kostenlos für 30 Tage zur Verfügung. Einfach Musterbestellung ausfüllen, wir liefern den Web-IO Analog-In zum Test auf offene Rechnung. Wenn Sie das Gerät innerhalb von 30 Tagen zurück schicken, schreiben wir die Rechnung komplett gut.
Zur MusterbestellungVorbereitungen
Sie haben Ihre(n) Web-IO Analog-In bereits
- mit Strom versorgt,
- an Ihr Netzwerk angeschlossen,
- mit einer IP-Adresse versehen - mit WuTility kein Problem.
1. HTTP GET Header enable deaktivieren
Damit die Geräte nicht den gesamten Antwort-Kopf (IP-Adresse, Systemname, Sensorbezeichnung, Messwert), sondern nur den reinen Messwert zurückgeben, muss vorab in der Geräte-Konfiguration diese Option abgeschaltet werden:
2. PHP-Script in Webseite einbinden
Kopieren Sie aus dem folgenden Beispiel das JavaScript (grau unterlegt)
z.B. in den <body>-Bereich Ihrer Webseite (PHP-Befehle werden
an jeder belilebigen Stelle der Seite interpretiert).
Passen Sie die in rot dargestellte IP-Adresse, den in grün dargestellten HTTP-Port und den in gelb dargestellten Abfragebefehl für Ihre Zwecke an.
<html>
<head>
<title>Level</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?
function getvalue($address,$sensorno)
{
$datei = fsockopen($address,80);
$out = "GET /Single".$sensorno."HTTP/1.1\r\n\r\n";
fwrite($datei, $out);
while (!feof($datei))
{
$data = fgets($datei);
}
$find = "/r/n";
$pos = strpos($data, $find);
$value = substr($data,$pos);
echo $value;
fclose($datei);
}
?>
<br>
<?
getvalue ("192.168.0.2","1");
?>
<br>
<?
getvalue ("192.168.0.3","1");
?>
</body>
</html>
3. Ausgabe
Wenn Sie die o.g. PHP-Seite auf einem PHP-Server speichern und diese mit einem Web-Browser aufrufen, erhalten Sie folgende Ansicht:
4. Automatische Aktualisierung
Damit die Seite zyklisch aktualisiert wird, fügen Sie folgende Zeile in den <head>-Bereich der Seite ein.
Das Intervall wird in Sekunden angegeben (hier rot dargestellt: 60 Sekunden)
<html>
<head>
<title>Level</title>
<meta http-equiv=refresh content=60>
</head>
<body bgcolor="#FFFFFF" text="#000000">
...
5. Anpassung der Seite für Ihre Zwecke
Mit Hilfe des o.g. Verfahrens können Sie nun auf einfache Art und Weise Übersichtsseiten erstellen, welche beliebig viele Messwerte enthalten können:
Kein Problem: Wir stellen Ihnen den Web-IO Analog-In 2x 0..10V gerne kostenlos für 30 Tage zur Verfügung. Einfach Musterbestellung ausfüllen, wir liefern den Web-IO Analog-In zum Test auf offene Rechnung. Wenn Sie das Gerät innerhalb von 30 Tagen zurück schicken, schreiben wir die Rechnung komplett gut.
Zur Musterbestellung