About Water Level Monitor for digged wells - Arduino
Project allows you to measure water level and visualize datas in web interface
I offer a web application programmed for me for the level meter project. The web application allows to record data from the sensor node, which sends information about the water level in the well / tank at regular intervals (5 min). The data is visualized to the user in the web interface in the dashboard, or historically in time in graphs, tables. Ultrasonic measurement is used. The principle of measuring ultrasonic sensors is to send a Trigger signal with a length of 10 μs (microseconds), which bounces off the water level and returns to the receiver - Echo. The Time-of-Flight method is used to recalculate the time between sending and receiving the signal to obtain the differential water level from the sensor. After sending the data to the web interface, a correction is performed, when the real level is calculated from the bottom of the well, which is entered into the database. The correction is made on the basis of the known depth of the well and the accepted differential water level from the ultrasonic sensor. The web interface in the dashboard also visualizes the current well volume in liters based on the known well diameter. Both values are also visualized with a tendency from the previous measurement t.k. rises, falls, stabilized by XY cm / by XY liters. Ultrasonic sensors are suitable for: Digged wells Septics and cesspools Streams and lakes Plastic rainwater tanks Silos (bulk filling measurement) Containers (waste monitoring, collection container filling) Boilers (monitoring of wood, pellets, coal, wood chips) Manholes and cellars (groundwater monitoring) Ultrasonic sensors are NOT suitable for: Drilled wells (due to detection characteristics - wide beam) Pipes and tubes (due to detection characteristics - wide beam) In wells with a tributary (the turbulent level dampens the ultrasound, measurement is impossible) To places with a sudden change in temperature (temperature affects the time of sound propagation, so even the stationary level appears to fluctuate) For vacuum tanks (measurement is impossible) The project uses an ultrasonic distance sensor HC-SR04 - (detection angle 15 °), or a water test sensor JSN-SR04T (detection angle is up to 60 °). It is also possible to use similar sensors with the same measurement method and Trigger, Echo signals: US-02X, IOE-SR0X, HC-SR0X, HY-SRF0X, DYP-ME007. The detection angle represents the width of the beam. It is possible to measure the level up to 400 resp. 450 cm (based on data from the catalog sheet of individual sensors). It is possible to use an Arduino microcontroller (Uno / Mega) with a Wiznet W5100 or W5500 Ethernet module or its newer version USR-ES1 to operate the project. WiFi platforms from Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini, Generic Board) or ESP32 (Devkit, or a separate module such as ESP32-WROOM-32) can be used for air data transmission. The wiring diagram for all platforms is available directly in the web application together with the source codes in the Wiring language (.ino app), resp. An experimental implementation in the ESP-IDF framework with a real-time operating system - FreeRTOS with the Queue blocking mechanism is also available for ESP32. The ESP8266 and ESP32 microcontroller platforms (Wiring implementations) can also be operated in ULP (Ultra-Low Power) mode, which dramatically reduces their consumption to the level of tens of microamperes. Suitable for battery operation for several years (it is necessary to use a transistor to switch the power supply for the sensor, requires modification of the source code). The second operating mode is StandBy, where the platform runs in standard mode and can be extended with the implementation of Over The Air (OTA), which offers firmware updates via LAN directly from the ArduinoIDE interface, espota.py is used for the upload process. Arduino with Ethernet only supports HTTP connectivity and does not support OTA update or Low-power mode! HTTP and HTTPS encrypted connections to the web server can be used for the ESP8266 and ESP32 platforms. If fixed internet is not available at the given place, it is also possible to use data transmission via the IoT network Sigfox, which covers most EU countries and is thus a suitable alternative for areas without internet coverage. The SIGFOX WISOL 868MHz UART modem (SFM10R1) is compatible, which communicates with the microcontroller via AT commands via UART. The modem is suitable for IoT applications with low current consumption. Message limit 12B (used 4B for water level UINT32), custom callback from Sigfox backend executes HTTP / HTTPS POST request to write data to web interface. Because the Sigfox network has a limited number of messages per day (140), measurement and data transmission is performed every 11 minutes. In the case of a license for 140 messages, it is possible to use other - system data for transmission, for example GPS coordinates from the Sigfox ATLAS system (it is necessary to edit the file for writing to the database, + cha...
Project details
Built with: backend in php,html5,mysql,wiring,eagle,esp-idf,IoT LPWAN
Website: https://martinius96.github.io/hladinomer-studna-scripty/en/
Video 1: https://www.youtube.com/watch?v=RBksATd0-60
Next step: <p>Via existing JSON output fromm website, you can save datas from website to your home automation system - Loxone / Domoticz / Hassio. You can also do irrigation control for your garden based on these datas. You can visualise these datas in your own dashboard. Project is originally designed for water level monitoring but as you can see it can be used in many other material height measurement from coal, wood to septic tanks...</p>