TOP
SSV Software Systems Registrieren  Registrieren
Einloggen, um private Nachrichten zu lesen  Einloggen, um private Nachrichten zu lesen
Startseite FAQ Suchen Mitglieder Profil  Login 
SSV Support-Forum
IGW/935-FDE …

 
Neues Thema eröffnen   Neue Antwort erstellen    SSV-Forum Foren-Übersicht >>> IGW/935
<<< Vorheriges Thema - Nächstes Thema >>>  
Beiträge der letzten Zeit anzeigen:   
Autor Nachricht
kdw



Anmeldedatum: 05.05.2006
Beiträge: 1210

BeitragVerfasst am: 18.06.2013, 14:33    Titel: IGW/935-FDE … Antworten mit Zitat

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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kdw



Anmeldedatum: 05.05.2006
Beiträge: 1210

BeitragVerfasst am: 20.06.2013, 14:56    Titel: Zugriff per HTML-Seite … Antworten mit Zitat

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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kdw



Anmeldedatum: 05.05.2006
Beiträge: 1210

BeitragVerfasst am: 14.09.2014, 13:29    Titel: Raspberry PI als FDE-Datenquelle … Antworten mit Zitat

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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    SSV-Forum Foren-Übersicht >>> IGW/935 Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht teilnehmen.

SSV Software Systems GmbH

Dünenweg 5
30419 Hannover

Fon: +49(0)511 / 40 000-0
Fax: +49(0)511 / 40 000-40

sales@ssv-embedded.de

 

Impressum    ·    Datenschutz    ·    AGB

© 2018 SSV Software Systems GmbH. Alle Rechte vorbehalten.

ISO 9001:2015