4. API de Configuración Remota (Downlink)
Esta guía documenta la estructura y la correspondencia de los comandos de configuración que pueden enviarse de forma remota al dispositivo ISURLOG mediante mensajes Downlink (por ejemplo, a través de downlinks LoRaWAN o comandos específicos de NB-IoT). Los comandos utilizan una estructura binaria, procesada por la librería Python que se adjunta, IsurlogLPP.py.
Nota
Esta es la lista completa de parámetros que el firmware soporta por downlink — no tiene por qué coincidir con la 7. Referencia de Parámetros de Configuración. La página 7 documenta solo lo que IsurDASH permite configurar actualmente a través de su interfaz; el firmware del ISURLOG puede soportar más parámetros de los que IsurDASH expone hoy. Donde la columna Configurable en IsurDASH dice Sí, enlaza a la sección correspondiente de la página 7.
Referencia de Parámetros de Configuración (config_types)
Esta tabla completa define todas las funciones de configuración remota disponibles, su código de tipo único, el tamaño del dato, y los factores de escalado para codificar los valores.
| Nombre de Función | Tipo (Hex) | Tamaño (Bytes) | Multiplicador | Rango (Mín/Máx) | Configurable en IsurDASH | Descripción / Parámetro Equivalente |
|---|---|---|---|---|---|---|
| Parámetros Globales | ||||||
setLatencyTime |
A0 |
1 | 1 | 1-255 | Sí | Define el tiempo (en minutos) entre ciclos de lectura. |
setRtcSync |
A1 |
1 | 1 | 0-1 | Sí | Define si las lecturas ocurren en intervalos fijos sincronizados con el reloj (1, p. ej. 14:00, 14:05, 14:10 para una latencia de 5 min), o en intervalos relativos al momento de encendido (0). |
setRegisterMode |
A2 |
1 | 1 | 0-1 | Sí | Define el Modo de registro (0=Fijo, 1=Condicional). |
setRegisterAccumulator |
A3 |
1 | 1 | 0-255 | Sí | Define el número de registros a acumular antes de enviar. |
setMagnetWakeup |
A4 |
1 | 1 | 0-1 | No | Activa/Desactiva la función de despertar por interruptor magnético. |
setDebugLED |
A5 |
1 | 1 | 0-1 | No | Activa/Desactiva el LED STATUS de la PCB. |
setMaxPayloadSize |
8E |
1 | 1 | 0-255 | Sí | Define el tamaño del payload. |
setBatteryInputSoC |
8F |
1 | 1 | 0-1 | No | Activa/Desactiva el registro del estado de carga de la batería. |
setBatteryInputCRate |
90 |
1 | 1 | 0-1 | Sí | Activa/Desactiva el registro de la tasa de carga/descarga de la batería. |
setVDCVoltage |
91 |
1 | 1 | 0-24 | Sí | Define la tensión de alimentación de los sensores. |
setContinuousMode |
83 |
1 | 1 | 0-1 | No | Activa/Desactiva el Modo Continuo. Cuando está activado, el ISURLOG sigue leyendo sensores sin dormir entre lecturas — completando tantos ciclos de lectura como quepan en el tiempo disponible hasta la siguiente transmisión — en vez del número fijo de ciclos definido por Loop Cycles. Tiene prioridad sobre setLoopCycles. |
setLoopCycles |
84 |
1 | 1 | 0-255 | No | Define el número de lecturas tomadas por registro, promediadas entre sí (se usa para entradas de tipo analógico — Analógica, Modbus, PT100). Se ignora cuando el Modo Continuo está activado. |
| Comunicaciones Inalámbricas (Solo BLE) | ||||||
setLoRaWANDevEUI |
A6 |
8 | 1 | N/A | Sí | Define el Device EUI de LoRaWAN. |
setLoRaWANAppEUI |
A7 |
8 | 1 | N/A | Sí | Define el Application EUI de LoRaWAN. |
setLoRaWANAppKey |
A8 |
16 | 1 | N/A | Sí | Define la Application Key de LoRaWAN. |
setAPN |
93 |
Variable | 1 | N/A | Sí | Define el APN de NB-IoT/LTE-M. |
setExternalSIM |
94 |
1 | 1 | 0-1 | Sí | Alterna entre la eSIM integrada y una Nano-SIM externa. |
setConPreference |
95 |
1 | 1 | 0-2 | Sí | Define la preferencia de conexión NB-IoT/LTE-M: 0 = Automático (todavía no está totalmente soportado por el firmware — actualmente recurre a NB-IoT), 1 = LTE-M, 2 = NB-IoT. |
setMaxRetryCon |
A9 |
1 | 1 | 1-10 | No | Define el número máximo de reintentos de conexión. |
setWiFiSSID |
96 |
Variable | 1 | N/A | Sí | Define el SSID de la red Wi-Fi. |
setWiFiPsswd |
97 |
Variable | 1 | N/A | Sí | Define la contraseña de la red Wi-Fi. |
setLoRaWANClass |
98 |
1 | 1 | 0-2 | Sí | Define la clase de dispositivo LoRaWAN (A/B/C). |
setMQTTIP |
99 |
Variable | 1 | N/A | Sí | Define la IP/hostname del broker MQTT. |
setMQTTPort |
9A |
Variable | 1 | N/A | Sí | Define el puerto del broker MQTT. |
setMQTTUser |
9B |
Variable | 1 | N/A | Sí | Define el usuario de MQTT. |
setMQTTPasswd |
9C |
Variable | 1 | N/A | Sí | Define la contraseña de MQTT. |
setMQTTBaseTopic |
9D |
Variable | 1 | N/A | Sí | Define el topic base de MQTT. |
setSignalData |
9E |
1 | 1 | 0-1 | Sí | Activa/Desactiva el registro de calidad de señal NB-IoT (RSRQ/RSRP). |
Importante
En IsurDASH, los parámetros de la sección Comunicaciones Inalámbricas (Solo BLE) de arriba solo pueden cambiarse localmente por Bluetooth (ver 7.2 Parámetros de Comunicaciones Inalámbricas) — esto protege frente a una configuración remota incorrecta que deje el ISURLOG inalcanzable. Sin embargo, el propio firmware no rechaza estos mismos códigos de tipo si llegan por un downlink de WiFi, LoRaWAN o NB-IoT — IsurDASH simplemente nunca los envía por esa vía. Si estás integrando configuración por downlink en un SCADA o backend de terceros, ten esto en cuenta: nada en el firmware te impide enviarlos por el aire, solo la propia interfaz de IsurDASH lo restringe.
| Nombre de Función | Tipo (Hex) | Tamaño (Bytes) | Multiplicador | Rango (Mín/Máx) | Configurable en IsurDASH | Descripción / Parámetro Equivalente |
|---|---|---|---|---|---|---|
| Configuración de Entrada Analógica | ||||||
setAnalogPreAcquisition |
AA |
2 | 1 | 0-65535 | Sí | Define el tiempo de preadquisición (ms) para las entradas analógicas. |
setAnalogInputEnable |
AB |
1 | 1 | 0-1 | Sí | Activa/Desactiva la Entrada Analógica. |
setAnalogInputZero |
AC |
2 | 100 | -327.68 a 327.67 | Sí | Define el valor de ingeniería para 4mA (escalado por 100). |
setAnalogInputFullScale |
AD |
2 | 100 | -327.68 a 327.67 | Sí | Define el valor de ingeniería para 20mA (escalado por 100). |
setAnalogInputLow |
AE |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Bajo (escalado por 100). |
setAnalogInputHigh |
AF |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Alto (escalado por 100). |
setAnalogInputLowCond |
B0 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Bajo. |
setAnalogInputHighCond |
B1 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Alto. |
| Configuración de Entrada Digital | ||||||
setDigitalEnable |
B2 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la Entrada Digital. |
setDigitalCounter |
B3 |
1 | 1 | 0-1 | Sí | Activa/Desactiva el Modo Contador de la Entrada Digital. |
setDigitalPulseWeight |
B4 |
1 | 1 | 0-255 | Sí | Define el Valor/Peso del Pulso (p. ej., 10 litros/pulso). |
setDigitalWake |
B5 |
1 | 1 | 0-255 | Sí | Define el número de pulsos necesarios para despertar el dispositivo. |
setDigitalLow |
B6 |
1 | 1 | 0-255 | Sí | Define el umbral de Alarma de Bajo. |
setDigitalHigh |
B7 |
1 | 1 | 0-255 | Sí | Define el umbral de Alarma de Alto. |
setDigitalLowCond |
B8 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Bajo. |
setDigitalHighCond |
B9 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Alto. |
| Configuración Modbus (Básica) | ||||||
setModbusPreAcquisition |
BA |
2 | 1 | 0-65535 | Sí | Define el tiempo de preadquisición (ms) para las entradas Modbus. |
setModbusInputEnable |
BB |
1 | 1 | 0-1 | Sí | Activa/Desactiva la Entrada Modbus. |
setModbusInputSlaveAddress |
BC |
1 | 1 | 0-255 | Sí | Define la Dirección de Esclavo Modbus. |
setModbusInputRegisterAddress |
BD |
2 | 1 | 0-65535 | Sí | Define la Dirección de Registro a leer. |
setModbusInputFc |
BE |
1 | 1 | 0-255 | Sí | Define el Código de Función Modbus (FC). |
setModbusInputNumberOfDecimals |
BF |
1 | 1 | 0-255 | Sí | Define el número de decimales para el escalado. |
setModbusInputIsFP |
C0 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la decodificación en Coma Flotante (IEEE754). |
setModbusInputInvert |
C1 |
1 | 1 | 0-1 | Sí | Activa/Desactiva el Modo Offset Inverso. |
setModbusInputOffset |
C2 |
2 | 100 | -327.68 a 327.67 | Sí | Define el Offset de la lectura Modbus (escalado por 100). |
setModbusInputLow |
C3 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Bajo (escalado por 100). |
setModbusInputHigh |
C4 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Alto (escalado por 100). |
setModbusInputLowCond |
C5 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Bajo. |
setModbusInputHighCond |
C6 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Alto. |
| Configuración Modbus (Avanzada) | ||||||
setModbusInputBaudrate |
FF |
1 | 1 | 0-255 | Sí | Define el Baudrate de Modbus. |
setModbusInputDataBits |
80 |
1 | 1 | 0-255 | Sí | Define los Data Bits de Modbus. |
setModbusInputStopBits |
81 |
1 | 1 | 0-255 | Sí | Define los Stop Bits de Modbus. |
setModbusInputParity |
82 |
1 | 1 | 0-255 | Sí | Define la Paridad de Modbus. |
| Configuración PT100 | ||||||
setPT100Enable |
C7 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la Entrada PT100. |
setPT100Wires |
C8 |
1 | 1 | 2-4 | Sí | Define el número de hilos (2, 3, o 4). |
setPT100Low |
C9 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Bajo (escalado por 100). |
setPT100High |
CA |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Alto (escalado por 100). |
setPT100LowCond |
CB |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Bajo. |
setPT100HighCond |
CC |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Alto. |
| Sensores Internos T/H (BME680/SHT30) | ||||||
setINTTHEnable |
CD |
1 | 1 | 0-1 | Sí | Activa/Desactiva el sensor interno de temperatura y humedad. |
setINTTHTemperatureLow |
CE |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Temperatura Baja (escalado por 100). |
setINTTHTemperatureHigh |
CF |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Temperatura Alta (escalado por 100). |
setINTTHTemperatureLowCond |
D0 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Temperatura Baja. |
setINTTHTemperatureHighCond |
D1 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Temperatura Alta. |
setINTTHHumidityLow |
D2 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Humedad Baja (escalado por 100). |
setINTTHHumidityHigh |
D3 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Humedad Alta (escalado por 100). |
setINTTHHumidityLowCond |
D4 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Humedad Baja. |
setINTTHHumidityHighCond |
D5 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Humedad Alta. |
| Sensores Externos T/H (BME280/680) | ||||||
setEXTTHEnable |
85 |
1 | 1 | 0-1 | Sí | Activa/Desactiva el Sensor Externo T/H. |
setEXTTHTemperatureLow |
86 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Temperatura Baja (escalado por 100). |
setEXTTHTemperatureHigh |
87 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Temperatura Alta (escalado por 100). |
setEXTTHTemperatureLowCond |
88 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Temperatura Baja. |
setEXTTHTemperatureHighCond |
89 |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Temperatura Alta. |
setEXTTHHumidityLow |
8A |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Humedad Baja (escalado por 100). |
setEXTTHHumidityHigh |
8B |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Humedad Alta (escalado por 100). |
setEXTTHHumidityLowCond |
8C |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Humedad Baja. |
setEXTTHHumidityHighCond |
8D |
1 | 1 | 0-1 | Sí | Activa/Desactiva la transmisión condicional por Alarma de Humedad Alta. |
| Acelerómetro Interno (LIS2DH12) | ||||||
setAccelEnable |
00 |
1 | 1 | 0-1 | Sí | Activa/Desactiva el acelerómetro interno. |
setAccellowCond |
01 |
1 | 1 | 0-1 | No (próximamente) | Activa/Desactiva la transmisión condicional por Alarma de Bajo (por eje, mediante el canal). |
setAccelhighCond |
02 |
1 | 1 | 0-1 | No (próximamente) | Activa/Desactiva la transmisión condicional por Alarma de Alto (por eje, mediante el canal). |
setAccelLow |
03 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Bajo, en g (por eje, mediante el canal). |
setAccelHigh |
04 |
2 | 100 | -327.68 a 327.67 | Sí | Define el umbral de Alarma de Alto, en g (por eje, mediante el canal). |