<<< Previous topic - Next topic >>> |
|
Author |
Message |
kdw
Joined: 05 May 2006 Posts: 1460
|
Posted: 18.06.2013, 14:33 Post subject: IGW/935-FDE … |
|
|
Hallo Forum.
Die FDE (Field Data Engine) des IGW/935 ist durch die vorinstallierte Demo-Anwendung mit der Device „kwk“ und 12 einzelnen Channels (Datenpunkten) vorkonfiguriert. Die folgende Tabelle liefert einen Überblick zur Namensgebung und zum URI (Uniform Resource Identifier):
Code: | Variable Beschreibung URI
=========================================================================
kwk/Temision Abgastemperatur http://<IP>/fde-http/kwk/Temision
kwk/Tengine Motortemperatur http://<IP>/fde-http/kwk/Tengine
kwk/pres Öldruck http://<IP>/fde-http/kwk/pres
kwk/speed Motordrehzahl http://<IP>/fde-http/kwk/speed
kwk/gas Kraftstoffmenge http://<IP>/fde-http/kwk/gas
kwk/Tfor Vorlauftemperatur http://<IP>/fde-http/kwk/Tfor
kwk/Tback Rücklauftemperatur http://<IP>/fde-http/kwk/Tback
kwk/Tgen Generatortemperatur http://<IP>/fde-http/kwk/Tgen
kwk/power Generatorleistung http://<IP>/fde-http/kwk/power
kwk/Epower Elektrische Gesamtleistung http://<IP>/fde-http/kwk/Epower
kwk/CO2 Gesamte CO2-Einsparungen http://<IP>/fde-http/kwk/CO2
kwk/Tpower Thermische Gesamtleistung http://<IP>/fde-http/kwk/Tpower |
In der Tabelle dient „<IP>“ als Platzhalter für die jeweilige IP-Adresse, unter der das IGW/935 in einem LAN oder VPN erreichbar ist.
Jeder einzelne Channel (Datenpunkt) ist über einen REST-basierten HTTP-Request ansprechbar. Mit Hilfe eines HTTP GET Requests ist zum Beispiel der aktuelle Wert auslesbar. Die URIs in der Tabelle entsprechen dem jeweiligen Link.
Um zum Beispiel einen Channel zu lesen, kann man cURL benutzen. Die Eingabe:
Code: | curl http://192.168.0.140/fde-http/kwk/Temision |
liefert den aktuellen Wert für die Abgastemperatur. Das IGW/935 ist in diesem Beispiel unter der IP-Adresse „192.168.0.140“ erreichbar.
Einige Datenpunkte sind mit einem HTTP PUT Request auch beschreibbar. Die Eingabe:
Code: | curl –X PUT –d “4711” http://192.168.0.140/fde-http/kwk/speed |
setzt beispielsweise die Motorendrehzahl auf 4711 U/min. Man kann aber nur die Datenpunkte:
Code: | Variable Beschreibung URI
=========================================================================
kwk/speed Motordrehzahl http://<IP>/fde-http/kwk/speed
kwk/gas Kraftstoffmenge http://<IP>/fde-http/kwk/gas
kwk/Epower Elektrische Gesamtleistung http://<IP>/fde-http/kwk/Epower
kwk/CO2 Gesamte CO2-Einsparungen http://<IP>/fde-http/kwk/CO2
kwk/Tpower Thermische Gesamtleistung http://<IP>/fde-http/kwk/Tpower |
durch einen REST-basierten HTTP PUT Request verändern. Alle anderen werden in der vorinstallierten Demo-Anwendung periodisch durch Zufallswerte verändert.
Gruß
KDW |
|
Back to top |
|
|
kdw
Joined: 05 May 2006 Posts: 1460
|
Posted: 20.06.2013, 14:56 Post subject: Zugriff per HTML-Seite … |
|
|
Hallo Forum.
Mit Hilfe von JavaScript-Code, der in eine HTML-Seite eingebettet wird, kann man auch direkt auf einen FDE-Channel (Datenpunkt) zugreifen. Hier ein Beispiel:
Code: | <html>
<head>
<title>Poll temperature with XMLHttpRequest</title>
<style type="text/css">
body{background-color: #2c223e}
p{color: white; font-family: "Arial"; font-size: 48px}
</style>
</head>
<body>
<script type="text/javascript">
var timer= setInterval(show_speed, 1000);
function show_speed() {
var http_request = new XMLHttpRequest();
http_request.open("GET", "/fde-http/kwk/Temision", true);
http_request.onreadystatechange = function () {
if (http_request.readyState == 4 && http_request.status == 200) {
var dout= document.getElementById("temp");
dout.innerHTML= http_request.responseText + " ℃";
}
}
http_request.send(null);
}
</script>
<p id="temp">?</p>
</body>
</html> |
In diesem HTML-Code ist JavaScript eingebettet, um einmal pro Sekunde einen REST-basierten GET-Request zur Abfrage des Channels Temison an die IGW/935-FDE zu übertragen. Für den GET-Request ist die folgende Codezeile verantwortlich:
Code: | http_request.open("GET", "/fde-http/kwk/Temision", true); |
Die Antwort des IGW/935-Webservers wird dann als Temperaturwert immer wieder neu vom Webbrowser ausgegeben.
Code: | dout.innerHTML= http_request.responseText + " ℃"; |
Der periodische Update ergibt sich im Übrigen durch die folgende JavaScript-Codezeile:
Code: | var timer= setInterval(show_speed, 1000); |
Sie sorgt dafür, dass die folgende Funktion einmal pro Sekunde (alle 1000 msec.) aufgerufen wird:
Code: | function show_speed() {
var http_request = new XMLHttpRequest();
http_request.open("GET", "/fde-http/kwk/Temision", true);
http_request.onreadystatechange = function () {
if (http_request.readyState == 4 && http_request.status == 200) {
var dout= document.getElementById("temp");
dout.innerHTML= http_request.responseText + " ℃";
}
}
http_request.send(null);
} |
Gruß KDW |
|
Back to top |
|
|
kdw
Joined: 05 May 2006 Posts: 1460
|
Posted: 14.09.2014, 13:29 Post subject: Raspberry PI als FDE-Datenquelle … |
|
|
Hallo Forum.
Bringen Sie zunächst Ihren Raspberry Pi und ein IGW/935 in das gleiche LAN (zum Beispiel 192.168.2.0/24).
Ermitteln Sie die IP-Adressen des Pi und des IGW/935. Ein IGW/935 ist per UPnP auffindbar. Um meinen Pi im LAN zu finden, scanne ich mein LAN einfach per nmap. Zum Beispiel:
Code: | nmap –sn 192.168.2.0/24 |
Für die weitere Beschreibung gehe ich davon aus, dass dem IGW/935 die IP-Adresse 192.168.2.161 per DHCP zugewiesen wurde.
Speichern Sie den folgenden Python-Code auf Ihrem PC in einer Datei mit dem Namen igw935_put_1.py:
Code: | import httplib
conn= httplib.HTTPConnection("127.0.0.1")
body_content= "4711"
header_option= {"Content-type": "text/plain"}
conn.request("PUT", "/fde-http/kwk/speed", body_content, header_option)
r1= conn.getresponse()
print r1.status
print r1.reason |
Übertragen Sie die Datei igw935_put_1.py per WinSCP von Ihrem PC aus in das Pi-Verzeichnis /home/pi.
Ändern Sie die IP-Adresse 127.0.0.1 im Python-Code in 192.168.2.161 (unter WinSCP können Sie auf dem Pi auch Dateien bearbeiten).
Melden Sie sich per SSH auf dem Pi an und starten Sie das Python-Script per
Code: | python igw935_put_1.py |
Beobachten Sie per Webbrowser unter http://192.168.2.161 die Übersichtswebseite des IGW/935 und achten Sie besonders auf die Variable "Drehzahl".
Gruß KDW |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|