Хотя существует несколько индикаторов уровня воды и устройств для контроля уровня в верхнем резервуаре для воды, эти устройства часто имеют высокую цену и ограниченную функциональность. Кроме того, для их работы требуется погружение электродов или переключателя в воду; это может загрязнить воду и вызвать коррозию со временем.
Но что, если бы вы могли создать беспроводной и бесконтактный датчик уровня воды на основе Wi-Fi, который сообщает об остатке воды в вашем аквариуме прямо на вашем смартфоне? В этом руководстве мы создадим такой индикатор уровня воды, используя плату NodeMCU и ультразвуковой датчик. датчик, который находится в верхней части крышки резервуара для воды и передает данные на ваш смартфон через Home Ассистент.
Как это работает?
Ультразвуковой датчик уровня воды работает, отправляя звуковые волны определенной частоты (также известные как ультразвуковые волны) и получая отраженную волну от целевого объекта. Датчик рассчитывает и сообщает расстояние между датчиком и объектом на основе времени, которое требуется звуковой или ультразвуковой волне для прохождения и отражения.
По умолчанию ультразвуковой датчик сообщает значение расстояния в сантиметрах (см). Наряду с глубиной резервуара это значение, сообщаемое ультразвуковым датчиком, можно использовать для определения остатка воды в резервуаре путем расчета расстояния между уровнем воды в резервуаре и ультразвуковым датчиком. датчик.
Вещи, которые вам понадобятся
Чтобы построить этот интеллектуальный датчик уровня воды, вам потребуется следующее:
- MCU на базе ESP8266, например NodeMCU, D1 Mini, ESP01 и т. д.
- Ультразвуковой датчик SR04
- Перемычки
Для этого проекта рекомендуется использовать водонепроницаемый ультразвуковой датчик JSN-SR04, чтобы предотвратить повреждение датчика из-за влаги.
Шаги по созданию интеллектуального датчика уровня воды
Вы можете выполнить следующие шаги, чтобы создать интеллектуальный бесконтактный ультразвуковой датчик уровня воды на основе Wi-Fi. следить за потреблением воды и избавить себя от необходимости подниматься по лестнице или в резервуар для воды, чтобы проверить его вручную. Вы также можете использовать этот датчик для контроля уровня соли в баке.
Шаг 1: Установите и настройте Home Assistant
Home Assistant (HA) предпочтителен, но не обязателен для создания интеллектуального датчика или контроллера уровня воды на основе Wi-Fi. Однако, если вы хотите получать уведомления, отслеживать ежедневное/еженедельное/ежемесячное потребление или добавлять автоматизацию в зависимости от уровня бака, вы должны настроить Home Assistant.
Вы можете следовать нашему предыдущему руководству по установить Home Assistant на Raspberry Pi или старый ноутбук. Если вы не хотите устанавливать или настраивать Home Assistant, вы можете прошить прошивку Tasmota и использовать ее для проверки уровня воды. Хотя он не такой интуитивно понятный, как Home Assistant, он выполняет свою работу и сообщает исходное значение через веб-страницу.
Шаг 2: Измерьте глубину резервуара
Необходимо измерить глубину резервуара. Вы можете сделать это, измерив высоту резервуара снаружи или внутри с помощью рулетки.
После измерения измерьте расстояние между крышкой резервуара, где будет установлен ультразвуковой датчик, и краем резервуара для воды. Это расстояние, которое нужно вычесть из общей глубины.
Например, если высота резервуара составляет 120 см, а расстояние между датчиком на крышке и краем воды составляет 10 см, то глубина 120 - 10 = 110см.
Шаг 2: Скомпилируйте прошивку
Чтобы скомпилировать прошивку, откройте Home Assistant и установите ESPHome дополнение, если вы еще этого не сделали. Затем выполните следующие действия:
- Нажмите на +Новое устройство кнопка а затем нажмите Продолжать.
- Введите имя файла прошивки, например датчик уровня воды, и нажмите Следующий.
- Выберите имеющийся у вас MCU, например NodeMCU, ESP32 или D1 Mini, и нажмите Следующий. Затем нажмите Пропускать.
Теперь найдите датчик уровня воды проект и нажмите Редактировать. Это открывает датчик уровня воды.yamlфайл. В файл скопируйте и вставьте этот код YAML. В коде отредактируйте следующее:
- Введите SSID и пароль вашей сети Wi-Fi.
- Отредактируйте значения в формулах под фильтры с расстоянием между датчиком и водяным краем и полной высотой бака.
- Нажмите Сохранять.
- Подключите NodeMCU, ESP32 или D1 mini к компьютеру с помощью кабеля micro USB, а затем нажмите Установить.
- Выбрать Подключить к этому компьютеру вариант. Это запустит компиляцию кода YAML и создаст файл прошивки (waterlevelsensor.bin). Это может занять некоторое время.
- После компиляции прошивки нажмите Скачать проект Для скачивания датчик уровня воды.bin файл.
Шаг 3: прошить прошивку на NodeMCU
Чтобы прошить прошивку waterlevelsensor.bin, вы можете скачать ESPHome-Flasher инструмент или используйте веб-сайт ESPHome. Шаги следующие:
После загрузки прошивки нажмите Откройте ESPHome Web.
Нажмите Соединять а затем выберите последовательный COM-порт USB, к которому подключен ваш NodeMCU, D1 Mini или ESP32.
Нажмите Установить. Нажмите Выберите файл, перейдите к датчик уровня воды.bin файл прошивки и нажмите Установить. После прошивки отсоедините USB-кабель.
Шаг 4: Подключите ультразвуковой датчик к NodeMCU
На приведенной ниже схеме показано подключение ультразвукового датчика SR04 к плате MCU.
NodeMCU/ESP32/D1 Мини | Ультразвуковой датчик SR04 |
3V3 | Вкк |
Д5 | Триггер |
Д6 | Эхо |
ЗАЗЕМЛЕНИЕ | ЗАЗЕМЛЕНИЕ |
Если вы используете водонепроницаемый ультразвуковой модуль JSN SR04 M-2, подключите контакты, как показано на схеме.
NodeMCU/ESP32/D1 Мини | Ультразвуковой датчик JSN-SR04 |
Вин | 5В |
Д5 | Триггер |
Д6 | Эхо |
ЗАЗЕМЛЕНИЕ | ЗАЗЕМЛЕНИЕ |
После подключения ультразвукового датчика к MCU снова подключите USB-кабель. Устройство автоматически подключится к сети Wi-Fi на основе данных, введенных вами в коде, и будет отображаться как онлайн в Панель инструментов ESPHome.
Нажмите Журналы под датчик уровня воды. Это отобразит журналы и данные, полученные датчиком.
Если в журналах отображается информация, как показано на снимке экрана, вы можете продолжить и настроить датчик в Home Assistant.
Если вы видите сообщение «Время ожидания измерения расстояния истекло», выполните следующие действия:
- Убедитесь, что вы правильно подключили контакты ультразвукового датчика к MCU.
- Модуль JSN SR04 M-2 может иметь размеры 20-400 см. Итак, держите объект на расстоянии не менее 20 см. Вам также необходимо внести соответствующие изменения в код.
- Ультразвуковой датчик, который мы использовали, может не измерять расстояние более 400 см. Если ваш аквариум глубже 400 см (необычно), это может вам не подойти.
Шаг 5: Добавьте интеллектуальный датчик уровня воды в Home Assistant
Чтобы добавить ультразвуковой датчик уровня воды в Home Assistant для мониторинга, выполните следующие действия:
- В Home Assistant перейдите к Конфигурация > Устройства и службы.
- То датчик уровня воды должны автоматически обнаруживаться и перечисляться. Если нет, нажмите Добавить интеграцию.
- Найдите и выберите ESPHome.
- Введите IP-адрес датчик уровня воды. Вы можете найти это в журналах или на своем маршрутизаторе Wi-Fi. После ввода IP-адреса нажмите Представлять на рассмотрение.
- Выберите область и нажмите Заканчивать.
- C Датчик будет указан в разделе ESPHome. Нажмите датчик уровня воды и выберите сущность.
- Нажмите Добавить в Лавлейс.
- Выберите комнату и нажмите Следующий.
- Это добавит датчик уровня воды к приборной панели.
Вы можете дополнительно настроить карточку по умолчанию, добавив в редактор кода следующее:
Тип: манометр
имя: Датчик уровня воды
единица измерения: '%'
объект: sensor.waterlevelsensor
зеленый: 0
желтый: 45
красный: 85
Шаг 6. Установите датчик на крышку резервуара для воды.
Теперь вы можете установить датчик в резервуар для воды. Для проекта мы использовали датчик SR04, который не является водонепроницаемым. Чтобы сделать его водонепроницаемым, мы использовали прозрачный корпус и достаточное количество лака для ногтей, чтобы изолировать электрические компоненты на плате.
Мы просверлили два крошечных отверстия и использовали металлическую проволоку, чтобы прикрепить модуль SR04 к крышке. Еще одно большее отверстие было сделано для проводов, подключенных к ультразвуковому датчику. Мы использовали длинный 4-жильный провод для сопряжения ультразвукового датчика с NodeMCU, так как резервуар находится на крыше и температура здесь может достигать 40-45°C.
Вы можете держать оба в одном корпусе и подавать питание на NodeMCU. Кроме того, обеспечьте хороший уровень сигнала Wi-Fi при установке NodeMCU или датчика. Прочтите наше руководство по как усилить сигнал Wi-Fi, чтобы расширить диапазон Wi-Fi.
Управляйте водяным насосом, чтобы бак был полным
Интегрировав интеллектуальный датчик уровня воды с Home Assistant, вы можете добавить автоматизацию для получения предупреждений на свой смартфон или через Alexa/Google Assistant, когда уровень в резервуаре низкий или полный. Точно так же вы можете добавить автоматизацию для включения водяного насоса для заполнения резервуара, когда он заканчивается, и автоматического отключения, когда уровень резервуара достигает определенного уровня, например 90-100%.
Кроме того, к интеллектуальному датчику уровня воды можно добавить водонепроницаемый датчик температуры, например DS18B20, для проверки и контроля температуры воды в резервуаре.
Как собрать домашний энергомонитор своими руками с помощью ESP8266
Читать далее
Похожие темы
- сделай сам
- Умный датчик
- Электроника
- Руководства по проектам «сделай сам»
Об авторе

Рави — эксперт в области технических объяснений, энтузиаст Интернета вещей и любитель Linux с опытом работы в области больших данных и разработки приложений. Он проводит большую часть своих выходных, работая с IoT-устройствами и играя в игры на Xbox. Он также путешествует в одиночку, любит ходить в походы и исследовать новые маршруты.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться