Интернет-приборная панель для измерителя уровня воды включает в себя веб-интерфейс, который служит основой для визуализации измерений. Веб-приложение позволяет регистрировать данные о высоте уровня воды в скважине с использованием сенсорного узла - микроконтроллера. Измерение уровня воды производится с использованием ультразвуковых датчиков, таких как HC-SR04 или его водонепроницаемая версия JSN-SR04T. В текущей реализации программы также могут использоваться другие датчики с сигналами триггера/эха серий RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™. Сенсорный узел регулярно выполняет 10 усредненных измерений ультразвуковым датчиком каждые 5 минут. Полученное значение передается на сервер через выбранный интерфейс (WiFi/Ethernet/IoT-сеть LoRaWAN/NB-IoT/Sigfox). Текущие данные о высоте уровня воды отображаются пользователю на приборной панели вместе с преобразованием в объем скважины и тенденцией уровня по сравнению с предыдущим измерением. Исторические данные о высоте уровня воды также доступны пользователю в табличной или графической визуализации с линейными графиками. Веб-интерфейс отзывчив и может адаптироваться к экранам смартфонов, компьютеров, планшетов и Smart TV. При получении данных бэкенд корректирует измеренный уровень воды на фактический на основе известной глубины скважины, поскольку датчик отправляет только дифференциальный уровень воды. С учетом реальной высоты уровня воды и известного диаметра скважины веб-интерфейс также может определить объем скважины в литрах.
Принцип работы ультразвуковых датчиков заключается в отправке триггерного сигнала длиной 10 мкс (микросекунд), который отражается от поверхности воды и возвращается в приемник - эхо. Метод "Time-of-Flight" используется для расчета времени между отправкой и получением сигнала с целью определения расстояния уровня воды от датчика, размещенного сверху колодца. Формула преобразования учитывает скорость звука, которая составляет 343 м/с при температуре 20 °C. Важным параметром ультразвуковых датчиков является ширина луча, или характеристика обнаружения. Например, датчик HC-SR04 обладает характеристикой обнаружения в 15°. Этот датчик имеет узкий луч, что делает его подходящим для более узких колодцев и резервуаров. Однако, он не является водонепроницаемым и имеет высокий риск коррозии в условиях влажных колодцев. По этой причине рекомендуется размещать данный ультразвуковой датчик над колодцем, чтобы уменьшить влияние влажности. Водонепроницаемый датчик JSN-SR04T, с другой стороны, обладает характеристикой обнаружения в 60°. Это существенно ограничивает его использование в узких колодцах, поскольку с увеличением расстояния луч расширяется, и необходима скважина с большим диаметром (например, диаметр скважины 6 метров, глубина 4,5 метра для гарантированного измерения без отражений). Ультразвуковые датчики не требуют регулярного обслуживания. Датчик JSN-SR04T оборудован электронной платой управления, которая защищена от воздействия влаги и воды. Максимальная измеряемая высота поверхности (уровня) варьируется от 400 до 450 см в соответствии с каталожными данными.

Веб-интерфейс (панель IoT) использует тригонометрию для оценки максимальной измеряемой глубины скважины при известном диаметре скважины, что является дополнительным параметром для расчета объема скважины. Это позволяет веб-интерфейсу вычислять максимальную глубину скважины для каждого из датчиков на основе их характеристик. Проект разработан с учетом простоты использования даже для непрофессионалов, которые не знают, какой датчик лучше всего подходит для их конкретной скважины. Микроконтроллер, используемый в проекте, играет также важную роль. Для этого проекта можно использовать платформу Arduino (Uno/Mega) ревизии R3 с идентичной распиновкой, которую можно подключить к Ethernet-шилду для связи через интерфейс ICSP. Можно также использовать модули Ethernet, подключая их напрямую к аппаратным контактам SPI микроконтроллера. Поддерживаются Ethernet-модули производителя Wiznet W5100, W5500, USR-ES1, а также модуль Ethernet ENC28J60 от MicroChip. Все эти модули обеспечивают соединение HTTP с веб-сервером. Также поддерживаются микроконтроллеры WiFi от Espressif Systems - ESP8266 и ESP32. У них есть несколько режимов работы, такие как StandBy, StandBy + OTA с возможностью удаленной загрузки прошивки по локальной сети, и режим глубокого сна для приложений ULP - Deep Sleep. В спящем режиме для микроконтроллера ESP8266 необходимо добавить физическую перемычку между GPIO16 (WAKE) и RST. Микроконтроллеры ESP также позволяют осуществлять зашифрованную связь с веб-сервером по протоколу HTTPS. ESP32 можно использовать с модулем PHY Ethernet LAN8720, который поддерживает соединения HTTP и HTTPS. Платформы ESP8266 и ESP32 используют сертификат корневого центра сертификации (CA), встроенный в исходный код микроконтроллеров в формате .pem и сохраненный во флэш-памяти. Сертификат удостоверяющего центра действителен от 10 до 20 лет, что устраняет необходимость частого продления сертификата. Данные о текущей высоте уровня воды и объеме воды в скважине доступны из веб-интерфейса в формате JSON. Проект уровнемера может быть интегрирован через MQTT в систему домашней автоматизации (Hassio, Domoticz, Loxone) для отображения уровня воды на приборной панели, например, Grafana. В будущем также возможно управление периферией в подсистеме (орошение, полив, включение ГВС) на основе данных об уровне воды в скважине из веб-интерфейса.
| Название библиотеки | Библиотечная функция | Скачать |
|---|---|---|
| NewPing |
Библиотека для микроконтроллеров AVR (ATmega) Arduino Uno / Nano / Mega. Он позволяет проводить измерения с помощью ультразвуковых датчиков расстояния US-02X, IOE-SR0X, HC-SR0X, HY-SRF0X, JSN-SR0XT, DYP-ME007. |
Скачать |
| NewPingESP8266 |
Библиотека для микроконтроллеров ESP8266 и ESP32. Он позволяет проводить измерения с помощью ультразвуковых датчиков расстояния US-02X, IOE-SR0X, HC-SR0X, HY-SRF0X, JSN-SR0XT, DYP-ME007. |
Скачать |
| VL53L1X |
Библиотека для микроконтроллеров Arduino, ESP8266 и ESP32. Позволяет проводить измерения ToF с помощью лазерных датчиков STMicroelectronics VL53L1X. |
Скачать |
| Ethernet2 |
Библиотека для микроконтроллеров AVR (ATmega) Arduino Uno / Nano / Mega. Он обеспечивает связь с модулем Ethernet от Wiznet W5200 до W5500 через интерфейс SPI. |
Скачать |
| Ethernet3 |
Библиотека для микроконтроллеров AVR (ATmega) Arduino Uno / Nano / Mega. Он обеспечивает связь с Ethernet-модулем Wiznet W5500 V2 - USR-ES1 через интерфейс SPI. |
Скачать |