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
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default-Wert | Beschreibung |
---|---|---|---|---|---|
enabled | Nein | BOOL | true, false | true | zwecks Deaktivierung der Datenübertragung |
pollingIntervalMs | Nein | INT | 10000 (10 s) - | 60000 (60 s) | Abfrageintervall [ms] |
traceMode | Nein | STRING | "" | 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. | |
traceFileCount | Nein | INT | 1 - 20 | 10 | Maximale Anzahl der Trace Dateien (pro HTTP Anfrage jeweils eine) |
traceFileSize | Nein | INT | 524288 - 20971520 (512 kB - 20 MB) | 524288 (512 kB) | Maximale Größe der Trace Dateien |
traceLength | Nein | INT | 1 - 20 | 10 | Maximale Anzahl konkurrierend existierender Trace Dateien (rotierend) |
requests | JA | JSON Array of JSON Object | HTTP(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
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default-Wert | Beschreibung |
---|---|---|---|---|---|
url | JA | STRING | URL der HTTP(S) Anfrage (inkl. Protokollspezifizierung http:// bzw. https:// und Verzeichnispfadangabe) | ||
insecure | Nein | BOOL | false, true | false | zwecks Deaktivierung der HTTPS Server Verifikation |
verbose | Nein | BOOL | false, true | false | zwecks Aktivierung des ausführlichen Loggings |
headerExtensions | Nein | JSON Array of JSON Object | [] | für das Hinzufügen einer Liste von HTTP Headerattributen in Form von Key Value Paaren beliebiger Strings (siehe Konfigurationsbeispiel) | |
channels | JA | JSON Array of STRING | gültige Kanalnamen | Liste 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
Information | Wert |
---|---|
Autoren | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 2.5 |
Modultyp | Consumer |
Abhängigkeiten | KEINE |