4. Autoevaluación del protocolo de pruebas - Bedoya1905/iot_challenge2 GitHub Wiki
4. Autoevaluación del protocolo de pruebas.
En esta sección se va a evaluar el banco de pruebas que se encuentra en la página 3, o sea qué permite afirmar con respaldo, qué quedó respaldado en supuestos y qué definitivamente no alcanzó a verificarse.
4.1 Qué permite afirmar el protocolo
Basado en el banco de pruebas, se pueden sostener cuatro afirmaciones.
La medición de nivel es confiable dentro del rango útil. Este se calibró con seis puntos de distancia y cinco lecturas por punto, contra una referencia medida con regla. El error promedio se mantuvo por debajo de cinco puntos porcentuales en todos los casos, aparte de que el sistema clasificó correctamente la zona de alerta. La volatilidad observada en la entrega del Challenge #1 se debía a la zona ciega del sensor, y se corrigió ampliando el rango de medición a 12 cm.
El sensor de caudal quedó calibrado contra un volumen conocido. La comparación que se realizó contra 870 ml medidos con un recipiente graduado reveló dos problemas sucesivos, y es que el sensor alimentado a 3,3 V apenas genera pulsos, porque su sensor magnético interno requiere 5 V. Ya a 5 V, con el factor de conversión del datasheet, el volumen registrado quedaba muy por debajo del real. Tras corregir el factor a 3,88 el error se redujo a 9,2%.
El BMP280 quedó funcionando. La presión registrada se mantuvo entre 74,87 y 74,89 kPa durante cinco minutos, lo cual se encuentra dentro del rango esperado para la altitud de Bogotá. También, un detalle que refuerza la verificación es que el firmware incorpora una estimación de presión por altitud como respaldo para cuando el sensor no responde, y este valor difiere del registrado, por lo que las lecturas obtenidas provienen efectivamente del sensor y no de la estimación. Esto cierra la falla de la entrega anterior con este sensor.
El sensor de radiación quedó calibrado por dos puntos con lecturas propias. Se registró la respuesta del LDR en cinco condiciones de iluminación y la lectura del ADC aumentó de forma consistente en cada una. Los dos extremos, sombra y sol directo, se usaron como puntos de la interpolación lineal que convierte la lectura cruda a W/m².
4.2 Lo que no se alcanza a demostrar
El banco de pruebas que se presenta tiene cinco debilidades que vale la pena mostrar puesto que acotan el alcance de las conclusiones.
Los valores de irradiancia asignados a los dos puntos de calibración del LDR provienen de literatura, no de una medición con instrumento. La escala está anclada a las lecturas del sensor instalado, pero su exactitud absoluta en W/m² no se verificó.
El punto de calibración del nivel al 100% se fijó con la lectura del propio sensor y no con una distancia medida de forma independiente. Como consecuencia, el extremo lleno del rango queda dentro de la franja donde el sensor satura y no distingue niveles. Esto no afecta la función de alerta, que opera sobre niveles bajos, lejos del sensor, pero sí significa que la exactitud reportada no aplica a todo el rango.
La calibración del caudal es válida únicamente para flujos altos, puesto que con caudales bajos el rotor no gira de forma proporcional al flujo y el sistema subestima el volumen.
Las pruebas de nivel se hicieron contra un objeto plano, no contra agua. La superficie del agua refleja el ultrasonido de forma distinta por efecto de las ondulaciones y del ángulo de incidencia, por lo que el comportamiento en campo puede diferir de lo medido en el banco.
La presión se comparó contra un valor derivado de un reporte meteorológico, no contra un instrumento propio. El reporte corresponde a presión reducida al nivel del mar y se convirtió a la altitud del sitio mediante la relación de atmósfera estándar, procedimiento distinto al que emplean los servicios meteorológicos, que usan la temperatura media de las horas previas.
4.3 Lo que quedó sin probar
Por limitaciones de tiempo, el banco de pruebas no cubre de forma rigurosa los siguientes aspectos:
La evaporación potencial con valores ambientales reales, puesto que provocar de forma natural la combinación de temperatura, radiación y presión que lleva el cálculo por encima del umbral resultó impracticable en el tiempo disponible. La lógica se validó forzando valores en condiciones controladas, lo que permite comprobar que la lógica de fusión funciona como se espera, pero no que los umbrales sean los adecuados para el embalse del Neusa.
La latencia de la notificación. No se midió el tiempo entre la aparición de la condición y el disparo de la alarma física, ni la demora de actualización del tablero. La respuesta se observó como inmediata durante las pruebas, pero no hay cifras que reportar sin haber medido el tiempo.
El comportamiento de la histéresis. Los márgenes están documentados e implementados, pero no se ejecutó una prueba específica que haga oscilar el nivel alrededor del umbral para confirmar que el sistema no alterna entre estados.
La repetibilidad y el consumo. No se tomaron series de lecturas en reposo para medir la dispersión propia del equipo, ni se midió la corriente consumida en los distintos estados de operación. En consecuencia, no es posible estimar la autonomía que tendría una versión alimentada por batería.
La robustez de red. Las pruebas se hicieron de forma cualitativa y no se midió el tiempo de reconexión a la WLAN. El acceso al tablero desde fuera de la red local no se probó empíricamente, aunque está garantizado por diseño, puesto que el servidor se expone en la dirección IP privada que el ESP32 recibe de la WLAN, no enrutable desde internet, y el control de acceso se refuerza con autenticación en todas las rutas.
4.4 Mejoras al protocolo para la siguiente entrega
- Calibrar el LDR contra un instrumento de referencia y rehacer la conversión a W/m² con los valores medidos del sensor instalado.
- Fijar el punto de calibración del nivel midiendo con flexómetro la distancia real entre el sensor y la superficie del agua con el recipiente lleno, de modo que todo el rango quede fuera de la zona ciega.
- Repetir la calibración del caudal con al menos cinco repeticiones por condición e incluir flujos bajos, para determinar el límite inferior de medición.
- Repetir la calibración de nivel con agua real en el recipiente definitivo.
- Incorporar al banco los bloques que quedaron sin ejecutar: latencia de notificación, histéresis, robustez de red y repetibilidad con consumo.