Las instrucciones para interpretar la trama en el gestor de gateways se realizan en JavaScript, siguiendo el mismo orden de bytes realizado en el dispositivo.
Con esta parte se habilita la lectura de los parámetros para gestionar los datos en HomeAssistant mediante un mensaje Mqtt.
function Decode(fPort, bytes, variables) {
var Down_rssi = -1*parseInt(bytes[0]);
var Down_snr = bytes[1];
var Down_datarate = bytes[2];
// usando entero
var unalectura = (bytes[4] << 8) |(bytes[3]);
unalectura = (unalectura/1000)
unalectura = +unalectura.toFixed(2);
var appData = {'Down_rssi':Down_rssi,
'Down_snr':Down_snr,
'Down_datarate':Down_datarate,
'bateria_V': unalectura}
return appData;
}
función de codificación hacia el dispositivo, Reenvía al dispositivo el Rssi de Uplink del paquete anterior
function Encode(fPort, obj) {
var data = new Array();
data[0] = -1*parseInt(obj["Up_rssi"])
return data;
}
Automatización en Home-Assistant
Para reenviar el Rssi de UpLink hacia el dispositivo para registrar valores en el punto de muestra:
Para realizar pruebas de conectividad y calidad del enlace inalámbrico, se propone usar dispositivos con una configuración básica que registre los parámetros del enlace de subida y bajada.
Los parámetros para subida (Uplink) se obtienen desde el gateway, de los parámetros regulares que registra el gateway.
Los parámetros de bajada (Downlink) se obtienen de la trama de confirmación (Acknowlegment) que son Rssi, Snr y datarate. Estos parámetros se usan en el próximo envío de datos (Uplink) por lo que presentan un atraso equivalente al intervalo de lectura de datos del dispositivo.
El dispositivo para la prueba se implementa con un módulo de desarrollo HELTEC Cubecell Board-Plus HTCC-AB02.
Preparación de trama
La trama se configura usando los parámetros obtenidos en el dispositivo con una trama de confirmación de subida (Ack). El primer valor enviado será cero, puesto que no se dispone de parámetros iniciales.
Rssi Downlink (1 byte)
Snr Downlink (1 byte)
Datarate Downlink (1 byte)
Voltaje de bateria (2 bytes)
// Ack parametros de recepciónuint8_tconfirmaRssi=0;uint8_tconfirmaSnr=0;uint8_tconfirmaDatarate=0;
A Septiembre del 2021, se usan las librerías publicadas para el módulo HELTEC Cubecell Board-Plus HTCC-AB02. Para obtener los parámetros de la trama de confirmación de recibido (Ack) el gateway para una trama de subida de datos (Uplink) se sustituye el procedimiento: