Saltar al contenido principal

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ámetroObligatorioTipo de datosRango de valores recomendadoValor predeterminadoDescripción
enabledNoBOOLtrue, falsetruepara desactivar la transmisión de datos
pollingIntervalMsNoINT10000 (10 s) -60000 (60 s)Intervalo de consulta [ms]
traceModeNoSTRING""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.
traceFileCountNoINT1 - 2010Número máximo de archivos de trace (uno por cada solicitud HTTP)
traceFileSizeNoINT524288 - 20971520 (512 kB - 20 MB)524288 (512 kB)Tamaño máximo de los archivos de trace
traceLengthNoINT1 - 2010Número máximo de archivos de trace existentes simultáneamente (rotativos)
requestsSÍJSON Array of JSON ObjectSolicitudes 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ámetroObligatorioTipo de datosRango de valores recomendadoValor predeterminadoDescripción
urlSÍSTRINGURL de la solicitud HTTP(S) (incluida la especificación del protocolo http:// o https:// y la ruta del directorio)
insecureNoBOOLfalse, truefalsepara desactivar la verificación del servidor HTTPS
verboseNoBOOLfalse, truefalsepara activar el registro detallado
headerExtensionsNoJSON 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)
channelsSÍJSON Array of STRINGnombres de canal válidosLista 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ónValor
AutoresoptiMEAS GmbH
desde smartCORE2.5
Tipo de móduloConsumer
DependenciasNINGUNA