Explora los códigos fuente de Arduino, ESP8266, ESP32, (Ethernet / WiFi / LoRaWAN): Repositorio del proyecto en GitHub
Sumérgete en nuestro panel de IoT con tu hardware: HTTP IoT Dashboard HTTPS IoT Dashboard
Para obtener los códigos fuente de la interfaz web o cualquier consulta, comuníquese con el autor (en inglés) en: martinius96@gmail.com

Proyecto de monitoreo del nivel del agua

Soporte de escáner QR para visualización de datos de sensores
Augmented reality - webapp for Android, iOS, IoT dashboard data

Microcontroladores compatibles con el monitor de nivel de agua - AVR / ESP



Módulos de tecnología de transmisión - Ethernet



Sensores de proximidad ultrasónicos compatibles



Monitor de nivel de agua - Arduino / ESP8266 / ESP32


Descubra el poder de la monitorización del nivel de agua con nuestro panel de IoT, que cuenta con una interfaz web dinámica que funciona como centro neurálgico para visualizar mediciones precisas. Nuestro sistema utiliza sensores ultrasónicos, incluidos modelos populares como HC-SR04 y su variante resistente al agua JSN-SR04T, para registrar datos sobre el nivel de agua en pozos excavados a través de un nodo sensor equipado con un microcontrolador. Además de HC-SR04 y JSN-SR04T, nuestro programa admite varios sensores con señales Trigger/Echo, como RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX y la serie Parallax PING)))™, lo que proporciona flexibilidad en la implementación. El nodo sensor realiza rutinariamente 10 mediciones promediadas con el sensor ultrasónico cada 5 minutos. Luego, los valores registrados se transmiten al servidor a través de múltiples opciones de interfaz, que incluyen WiFi, Ethernet, red IoT LoRaWAN, NB-IoT o Sigfox. Experimente la representación de datos en tiempo real en el tablero, que muestra el nivel de agua actual junto con la conversión de volumen para el pozo y un análisis de tendencias en comparación con la medición anterior. Profundice en los datos históricos a través de representaciones tabulares o gráficas con gráficos de líneas, lo que permite a los usuarios realizar un seguimiento de las tendencias del nivel de agua a lo largo del tiempo. Nuestra interfaz web es responsiva y se adapta perfectamente a las pantallas de teléfonos inteligentes, computadoras, tabletas y televisores inteligentes para una experiencia fácil de usar. Al recibir los datos, nuestro backend corrige el nivel de agua medido a la profundidad real del pozo, compensando la transmisión del sensor de niveles de agua diferenciales. Utilizando la altura real del nivel de agua y el diámetro conocido del pozo, nuestra interfaz web calcula el volumen del pozo en litros, lo que proporciona información valiosa para una gestión eficaz del pozo. Optimice el monitoreo del nivel de agua con nuestro tablero de IoT: precisión, flexibilidad y conectividad a su alcance.

Panel de control de la aplicación web de monitorización del nivel de agua en el sistema operativo Android con actualización automática de datos a través de jQuery

Los sensores ultrasónicos funcionan enviando una señal de activación con una duración de 10 μs, que se refleja en la superficie del agua y regresa como eco. El método de tiempo de vuelo calcula el tiempo entre la transmisión y la recepción para determinar la distancia del nivel del agua al sensor. La velocidad del sonido se calcula en 343 m/s a una temperatura de 20 °C, lo que forma la base para una medición precisa de la distancia. Un parámetro esencial es el ancho del haz, que representa la característica de detección. El sensor HC-SR04 presenta una característica de detección estrecha de 15°, lo que lo hace adecuado para pozos y tanques más estrechos. Si bien el HC-SR04 es ideal para entornos más estrechos, no es impermeable y tiene un mayor riesgo de corrosión en condiciones húmedas. Por lo tanto, se recomienda colocarlo sobre el pozo para minimizar el impacto de la humedad. El JSN-SR04T, un sensor impermeable, tiene una característica de detección más amplia de 60°. Sin embargo, esto limita su uso en pozos estrechos, ya que el haz se ensancha con la distancia. Se requiere un diámetro de pozo mayor (por ejemplo, 6 metros de diámetro para una profundidad de pozo de 4,5 metros) para garantizar mediciones precisas sin reflejos. Los sensores ultrasónicos, en general, no requieren mantenimiento. Sin embargo, el sensor JSN-SR04T tiene una placa electrónica de control que no debe exponerse a la humedad ni al agua. Los sensores, incluido el JSN-SR04T, pueden medir una altura máxima de aproximadamente 400 a 450 cm, lo que proporciona un rango versátil para varias profundidades de pozo. Comprender las complejidades de los sensores ultrasónicos de nivel de agua permite un monitoreo efectivo, lo que garantiza precisión y confiabilidad en diversas condiciones ambientales. Explore las estrategias de colocación y las características de HC-SR04 y JSN-SR04T para obtener resultados óptimos en su sistema de medición de nivel de agua.

Integrate various water level sensors into your system by creating customized firmware. Each sensor type brings unique capabilities, ensuring flexibility and adaptability to different monitoring scenarios. Otros tipos de sensores de nivel de agua que se pueden integrar (es necesario crear su propio firmware):
  • Láser (LiDAR) - (DFRobot DTOF LD19 LIDAR, DFRobot ToF Laser ...)
  • Hidrostático - (LMK307, DPT200, PT20eco, HDL300 ...)
  • Electrostático (capacitivo / inductivo) - XKC-Y25-NPN
  • Presión (diferencial / con sensor de presión atmosférica compensador)
  • Óptico - (GP2Y0A02YK0F, YD-02F, FS-IR02 ...)
  • Mecánico (flotador / bobber)
  • Magnético (Hall) - (VCL9, Sen-Hz41wa ...)
  • Microondas (radar) - (CS476, CS475A-L, SP69, WLR 8/15/30 ...)
  • Ultrasónico - (A01NYUB, URM37), otro tipo de salida (RS-485, 4-20 mA, Modbus RTU, M-bus, PROFINET)
  • Nota: Si el nivel de agua desde el fondo del pozo se recalcula en el lado del microcontrolador, el parámetro - Profundidad del pozo en la interfaz web debe configurarse en 0 cm.

  • Demostración en video de la interfaz web - Monitor de nivel de agua:



    Los sensores ultrasónicos son adecuados para:


  • Pozos de agua excavados
  • Pozos sépticos y pozos negros
  • Arroyos y lagos
  • Tanques de agua de lluvia de plástico
  • Silos (medición de llenado a granel)
  • Contenedores (monitoreo de residuos, nivel de llenado)
  • Salas de calderas (monitoreo de materiales de madera, pellets, carbón, astillas de madera)
  • Pozos y sótanos (inundaciones, monitoreo de la altura del agua subterránea)

  • Los sensores ultrasónicos NO son adecuados para:


  • Pozos de agua perforados (debido a las características de detección: haz ancho)
  • Tuberías y tubos (debido a las características de detección: haz ancho)
  • A pozos de agua con un afluente con gradiente (la superficie ondulada del agua atenúa el ultrasonido, la medición es imposible)
  • En lugares con un cambio repentino de temperatura (la temperatura afecta el tiempo de propagación del sonido, por lo que incluso el nivel estacionario parece fluctuar)
  • Tanques de vacío (la medición no es posible)
  • Características de detección de sensores de proximidad ultrasónicos - Scripts de MATLAB:
  • HC-SR04.m Download
  • JSN-SR04T.m Download

  • Firmware Plug and Play: consumo ultrabajo / modo de espera


    Firmware compilado disponible para carga inmediata al microcontrolador (no se requieren bibliotecas)!
    Nombre del firmware Función del firmware ESP8266 ESP32
    Ultra Low Power

    Firmware para aplicaciones ULP con bajo consumo de corriente. El firmware se carga automáticamente a través de la herramienta ESPTOOL incluida, que se ejecuta con un script .bat (en el script es necesario cambiar el puerto COM de su placa ESP). Después de cargar el firmware y suponiendo que ESP no tiene almacenados el SSID y la contraseña del proyecto anterior, se iniciará WiFiManager, que se utiliza para configurar la red WiFi existente. ESP comenzará a transmitir una red WiFi abierta con SSID -> Hladinomer_AP en modo AP. Después de conectar el cliente (Windows / Android / iOS), el portal cautivo se iniciará en 192.168.4.1 (el cliente debe ser redirigido automáticamente). WiFiManager le permite seleccionar una red WiFi dentro del alcance en la interfaz web, establecer una contraseña. Después de conectar con éxito ESP a la red WiFi especificada y asignar IPv4 del rango dado, Captive Portal se apagará, ESP permanece en modo STA-Station. Posteriormente, el nodo sensor comenzará a transmitir datos a la interfaz web Monitor de nivel de agua . La próxima vez que se inicie el nodo sensor, Captive Portal y WiFiManager ya no se iniciarán, ya que la configuración de la red WiFi se conserva de forma permanente. Después de enviar los datos al servidor, el microcontrolador ESP cambiará al modo de suspensión profunda. Apagará el procesador principal Xtensa. El ESP8266 se activa a través del temporizador WAKE (se requiere un puente entre GPIO16 y RST; consulte el diagrama de cableado), el ESP32 se activa a través del temporizador RTC.

    ESP8266 .bin firmware ESP32 .bin firmware
    StandBy

    FFirmware para el modo StandBy del microcontrolador, que envía a intervalos regulares (5 min) mediciones del nivel de agua al servidor web y al mismo tiempo mantiene la conectividad con el AP en la red LAN. El firmware se carga a través de la herramienta ESPTOOL incluida automáticamente, que se ejecuta con un script .bat (en el script es necesario cambiar el puerto COM de su placa ESP). Después de cargar el firmware y suponiendo que ESP no tiene almacenados el SSID y la contraseña del proyecto anterior, se iniciará WiFiManager, que se utiliza para configurar la red WiFi existente. ESP comenzará a transmitir una red WiFi abierta con SSID en modo AP --> Hladinomer_AP. Después de conectar el cliente (Windows / Android / iOS), el portal cautivo se iniciará en 192.168.4.1 (el cliente debe ser redirigido automáticamente). WiFiManager le permite seleccionar una red WiFi dentro del alcance en la interfaz web, establecer una contraseña. Después de conectar con éxito el ESP a la red WiFi especificada y asignarle el IPv4 del rango indicado, el Portal Captivo se apagará y el ESP permanecerá en modo STA-Station. Posteriormente, el nodo sensor comienza a transmitir datos a la interfaz web Monitor de nivel de agua. La próxima vez que se inicie el nodo del sensor, Captive Portal y WiFiManager ya no se iniciarán, ya que la configuración de la red WiFi se almacena de forma permanente.

    ESP8266 .bin firmware ESP32 .bin firmware

    Principio de medición del nivel del agua y transmisión de datos - Diagrama de bloques


    Medidor de nivel para pozos sépticos, fosas sépticas, pozos, principio de medición: sensor de proximidad ultrasónico

    Mejore su experiencia de monitoreo de pozos con nuestra interfaz web avanzada, respaldada por un potente backend que aprovecha la trigonometría para estimar la profundidad máxima de su pozo. Esta solución innovadora está diseñada para calcular la profundidad óptima para cada sensor, en función de sus características únicas, lo que la hace accesible incluso para aquellos que no están familiarizados con la selección de sensores. El proyecto se integra perfectamente con microcontroladores, con la opción de utilizar la plataforma Arduino (Uno/Mega) ampliamente conocida en la revisión R3. Esta compatibilidad se extiende a los escudos Ethernet que se comunican a través de la interfaz ICSP. Alternativamente, los módulos Ethernet como Wiznet W5100, W5500 y USR-ES1, así como ENC28J60 de MicroChip con pila TCP de software, son totalmente compatibles, lo que permite la conectividad HTTP en el puerto 80. Explore la versatilidad de los microcontroladores WiFi, incluidos ESP8266 y ESP32 de Espressif Systems, que ofrecen varios modos operativos como StandBy, StandBy + OTA para actualizaciones de firmware remotas y modo de suspensión profunda para aplicaciones de consumo de energía ultrabaja. Los microcontroladores ESP se distinguen por ofrecer una comunicación cifrada a través del protocolo HTTPS. ESP32 va un paso más allá, permitiendo el uso de Ethernet PHY con la interfaz RMII LAN8720, soportando tanto conexiones HTTP como HTTPS. La seguridad es una prioridad con la incorporación de certificados Root CA en formato .pem directamente en el código fuente de los microcontroladores, almacenados en memoria flash (PROGMEM) para optimizar el uso de RAM. Estos certificados, emitidos por 10 a 20 años, eliminan la necesidad de renovaciones frecuentes. Acceda sin esfuerzo a datos en tiempo real sobre el nivel y el volumen del agua en formato JSON a través de la interfaz web. Lleve el monitoreo de su pozo al siguiente nivel integrando nuestro proyecto de monitorización del nivel de agua a través de MQTT en plataformas de automatización del hogar populares como Hassio, Domoticz y Loxone. Visualice datos en paneles dedicados como Grafana, Ubidots, Thingsboard o Cayenne. Potencie sus capacidades de control periférico utilizando datos de la interfaz web para gestionar el riego, el riego y las obras hidráulicas domésticas. Mejore su experiencia de monitoreo de pozos con nuestra solución fácil de usar y tecnológicamente avanzada, dirigida tanto a expertos como a principiantes.

    Modo de funcionamiento En espera En espera + por aire (OTA) Consumo ultrabaja (ULP) FreeRTOS
    Microcontrolador - - - -
    Arduino + Ethernet × × ×
    ESP8266 ×
    ESP32
    Códigos fuente para Arduino, ESP8266, ESP32 (requiere instalación de librerías): Disponible aquí

    Bibliotecas disponibles para microcontroladores (Arduino / ESP)


    Extraiga el archivo de la biblioteca (.zip) en C:/Users/[User]/Documents/Arduino/libraries
    Nombre de la biblioteca Función de biblioteca Descargar
    NewPing

    Librería para microcontroladores AVR (ATmega) Arduino Uno / Nano / Mega. Permite realizar mediciones con sensores de distancia ultrasónicos RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™.

    Descargar
    NewPingESP8266

    Librería para microcontroladores ESP8266 y ESP32. Permite realizar mediciones con sensores de distancia ultrasónicos RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™.

    Descargar
    Ethernet2

    Librería para microcontroladores AVR (ATmega) Arduino Uno / Nano / Mega. Permite la comunicación con el módulo Ethernet Wiznet W5200 a W5500 a través de la interfaz SPI.

    Descargar
    Ethernet3

    Librería para microcontroladores AVR (ATmega) Arduino Uno / Nano / Mega. Permite la comunicación con el módulo Ethernet Wiznet W5500 V2 - USR-ES1 vía interfaz SPI.

    Descargar

    Capturas de pantalla de la aplicación web de monitorización del nivel del agua


    Monitor de nivel de pozo de agua - aplicación web - página principal - Últimos valores medidos con actualización automática - AJAX Monitor de nivel de pozo de agua: aplicación web: conjunto de datos históricos medidos con marca de tiempo Monitor de nivel de pozo de agua: registro de valores mínimos y máximos por día, semana y mes Monitor de nivel de pozo de agua: gráfico del nivel de agua en el tiempo (semana/año)

    Salida UART de nodos de sensores - FreeRTOS - ESP32:


    ESP32 - FreeRTOS - ESP-IDF - medición de sensor ultrasónico y transferencia de datos al servidor web a través de HTTP, método de transferencia POST ESP32 - FreeRTOS - ESP-IDF - medición de sensor ultrasónico y transferencia de datos al servidor web a través de HTTPS, método de transferencia POST Hardware compatible para proyecto de nivel de pozo - Arduino - Conectividad Ethernet y WiFi - ESP8266 - ESP32 Nodo sensor ESP32 con módulo Ethernet PHY LAN7820 y sensor ultrasónico JSN-SR04T Sensores ultrasónicos IoT aptos para energía solar, LoRaWAN, compatibilidad con WiFi Lector de código QR - AR para sensor ultrasónico