Módulo de comunicación HTTP "http"
Descripción
El módulo HTTP permite enviar datos de medición como solicitudes HTTP(S).
Interfaces y protocolos utilizados
- Comunicación de red mediante HTTP(S)
Configuración JSON
En la sección siguiente se describe la configuración JSON completa del módulo y se explican los distintos parámetros.
Ejemplo de configuración (configuración habitual)
{
"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"
]
}
]
}
}
Parámetros globales del módulo
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores recomendado | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| enabled | No | BOOL | true, false | true | para desactivar la transmisión de datos |
| pollingIntervalMs | No | INT | 10000 (10 s) - | 60000 (60 s) | Intervalo de consulta [ms] |
| traceMode | No | STRING | "" | Cadena que puede contener "startup", "failure" y "ssl". Se escribe un trace tras el arranque de la operación de medición o cuando falla la transmisión HTTP, según corresponda. Opcionalmente incluye el registro del handshake SSL, si está configurado. | |
| traceFileCount | No | INT | 1 - 20 | 10 | Número máximo de archivos de trace (uno por cada solicitud HTTP) |
| traceFileSize | No | INT | 524288 - 20971520 (512 kB - 20 MB) | 524288 (512 kB) | Tamaño máximo de los archivos de trace |
| traceLength | No | INT | 1 - 20 | 10 | Número máximo de archivos de trace existentes simultáneamente (rotativos) |
| requests | SÍ | JSON Array of JSON Object | Solicitudes HTTP(S) (véase más abajo) |
Configuración de las solicitudes HTTP(S) "requests"
Una solicitud HTTP(S) se configura en forma de objeto JSON, que puede contener los siguientes parámetros
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores recomendado | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| url | SÍ | STRING | URL de la solicitud HTTP(S) (incluida la especificación del protocolo http:// o https:// y la ruta del directorio) | ||
| insecure | No | BOOL | false, true | false | para desactivar la verificación del servidor HTTPS |
| verbose | No | BOOL | false, true | false | para activar el registro detallado |
| headerExtensions | No | JSON Array of JSON Object | [] | para añadir una lista de atributos de cabecera HTTP en forma de pares clave-valor de cadenas cualesquiera (véase el ejemplo de configuración) | |
| channels | SÍ | JSON Array of STRING | nombres de canal válidos | Lista de los canales que se van a transmitir |
Formato (ejemplo) de las solicitudes HTTP transmitidas
Observación: el contenido de la solicitud se transmite en notación JSON COMPACTA, es decir, sin espacios en blanco adicionales
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!"
}
]
}
Información del módulo
| Información | Valor |
|---|---|
| Autores | optiMEAS GmbH |
| desde smartCORE | 2.5 |
| Tipo de módulo | Consumer |
| Dependencias | NINGUNA |