Modulo di comunicazione HTTP "http"
Descrizione
Il modulo HTTP consente di inviare dati di misura sotto forma di richieste HTTP(S).
Interfacce e protocolli utilizzati
- Comunicazione di rete tramite HTTP(S)
Configurazione JSON
Nella sezione seguente viene descritta l'intera configurazione JSON del modulo e vengono illustrati i singoli parametri.
Configurazione di esempio (configurazione tipica)
{
"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"
]
}
]
}
}
Parametri globali del modulo
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Valore predefinito | Descrizione |
|---|---|---|---|---|---|
| enabled | No | BOOL | true, false | true | per disattivare la trasmissione dei dati |
| pollingIntervalMs | No | INT | 10000 (10 s) - | 60000 (60 s) | Intervallo di interrogazione [ms] |
| traceMode | No | STRING | "" | Stringa che può contenere "startup", "failure" e "ssl". Viene scritta una traccia, rispettivamente, dopo l'avvio dell'esercizio di misura oppure quando la trasmissione HTTP fallisce. Opzionalmente comprende la registrazione dell'handshake SSL, se configurata. | |
| traceFileCount | No | INT | 1 - 20 | 10 | Numero massimo di file di traccia (uno per ogni richiesta HTTP) |
| traceFileSize | No | INT | 524288 - 20971520 (512 kB - 20 MB) | 524288 (512 kB) | Dimensione massima dei file di traccia |
| traceLength | No | INT | 1 - 20 | 10 | Numero massimo di file di traccia esistenti contemporaneamente (a rotazione) |
| requests | SÌ | JSON Array of JSON Object | Richieste HTTP(S) (vedere sotto) |
Configurazione delle richieste HTTP(S) "requests"
Una richiesta HTTP(S) viene configurata sotto forma di oggetto JSON, che può contenere i seguenti parametri
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Valore predefinito | Descrizione |
|---|---|---|---|---|---|
| url | SÌ | STRING | URL della richiesta HTTP(S) (incluse la specifica del protocollo http:// o https:// e l'indicazione del percorso della directory) | ||
| insecure | No | BOOL | false, true | false | per disattivare la verifica del server HTTPS |
| verbose | No | BOOL | false, true | false | per attivare il logging dettagliato |
| headerExtensions | No | JSON Array of JSON Object | [] | per aggiungere un elenco di attributi dell'header HTTP sotto forma di coppie chiave-valore di stringhe qualsiasi (vedere l'esempio di configurazione) | |
| channels | SÌ | JSON Array of STRING | nomi di canale validi | Elenco dei canali da trasmettere |
Formato (esempio) delle richieste HTTP trasmesse
Nota: il contenuto della richiesta viene tuttavia trasmesso in notazione JSON COMPATTA, cioè senza spazi bianchi aggiuntivi
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!"
}
]
}
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 2.5 |
| Tipo di modulo | Consumer |
| Dipendenze | NESSUNA |