Zum Hauptinhalt springen

HTTP Kommunikationsmodul "http"

Beschreibung

Das HTTP Modul ermöglicht es, Messdaten als HTTP(S) Anfragen zu verschicken.

Verwendete Schnittstellen & Protokolle

  • Netzwerkkommunikation via HTTP(S)

JSON-Konfiguration

Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls beschrieben und die einzelnen Parameter erläutert werden.

Beispielkonfiguration (typische Konfiguration)

{
"module":"HTTP",
"factory":"http",
"config":{
"enabled":true,
"pollingIntervalMs":10000,
"traceMode":"startup,failure,ssl",
"traceFileCount":10,
"traceFileSize":524288,
"traceLength":10,
"requests":[
{
"url":"https://127.0.0.1:12345/hello/world",
"insecure":true,
"verbose":false,
"headerExtensions":[
{
"key":"Authorization",
"value":"Basic bG9rb21vdGl2ZQ=="
}
],
"channels":[
"someFloatChannel",
"someGpsLocationChannel",
"someStringChannel"
]
}
]
}
}

Globale Modulparameter

ParameternameErforderlichDatentypsinnvoller WertebereichDefault-WertBeschreibung
enabledNeinBOOLtrue, falsetruezwecks Deaktivierung der Datenübertragung
pollingIntervalMsNeinINT10000 (10 s) -60000 (60 s)Abfrageintervall [ms]
traceModeNeinSTRING""String, der "startup", "failure" und "ssl" enthalten kann. Es wird entsprechend nach dem Hochfahren des Messbetriebs, bzw. wenn die HTTP Übertragung fehlschlägt ein Trace geschrieben. Optional inkl. SSL Handshake Aufzeichnung, falls konfiguriert.
traceFileCountNeinINT1 - 2010Maximale Anzahl der Trace Dateien (pro HTTP Anfrage jeweils eine)
traceFileSizeNeinINT524288 - 20971520 (512 kB - 20 MB)524288 (512 kB)Maximale Größe der Trace Dateien
traceLengthNeinINT1 - 2010Maximale Anzahl konkurrierend existierender Trace Dateien (rotierend)
requestsJAJSON Array of JSON ObjectHTTP(S) Anfragen (siehe unten)

Konfiguration der HTTP(S) Anfragen "requests"

Eine HTTP(S) Anfrage wird in Form eines JSON Objekts konfiguriert, welches folgende Parameter enthalten kann

ParameternameErforderlichDatentypsinnvoller WertebereichDefault-WertBeschreibung
urlJASTRINGURL der HTTP(S) Anfrage (inkl. Protokollspezifizierung http:// bzw. https:// und Verzeichnispfadangabe)
insecureNeinBOOLfalse, truefalsezwecks Deaktivierung der HTTPS Server Verifikation
verboseNeinBOOLfalse, truefalsezwecks Aktivierung des ausführlichen Loggings
headerExtensionsNeinJSON Array of JSON Object[]für das Hinzufügen einer Liste von HTTP Headerattributen in Form von Key Value Paaren beliebiger Strings (siehe Konfigurationsbeispiel)
channelsJAJSON Array of STRINGgültige KanalnamenListe der zu übertragenden Kanäle

Format (Beispiel) der übertragenen HTTP Anfragen

Anmerkung: Der Inhalt der Anfrage wird hierbei allerdings in KOMPAKTER JSON Notation, d.h.ohne zusätzlichen White Space übertragen

POST /hello/world HTTP/1.1
Host: 127.0.0.1:12345
Accept: */*
Authorization: Basic bG9rb21vdGl2ZQ==
Content-Type: application/json
Content-Length: 917

{
"time":"1970-01-01T00:00:00.000Z",
"data":[
{
"k":"someFloatChannel",
"v":1.234000e+01
},
{
"k":"someGpsLocationChannel",
"v":{
"lat":50.0000000,
"lon":8.0000000,
"alt":123.0
}
},
{
"k":"someStringChannel",
"v":"Hello, World!"
}
]
}

Modul-Informationen

InformationWert
AutorenoptiMEAS Measurement and Automation Systems GmbH
seit smartCORE2.5
ModultypConsumer
AbhängigkeitenKEINE