Въпреки че има няколко индикатора за нивото на водата и устройства за наблюдение на нивото в горния воден резервоар, тези устройства често се предлагат на висока цена и с ограничена функционалност. Освен това, те изискват потапяне на електроди или превключвател във водата, за да работят; това може да замърси водата и да корозира с времето.
Но какво ще стане, ако можете да създадете безжичен и безконтактен Wi-Fi базиран сензор за нивото на водата, който отчита останалата вода в резервоара ви директно на вашия смартфон? В това ръководство „Направи си сам“ ще изградим такъв индикатор за нивото на водата с помощта на платка NodeMCU и ултразвуков сензор, който се намира в горната част на капака на резервоара за вода и отчита данните на вашия смартфон чрез Home асистент.
Как работи?
Ултразвуковият сензор за ниво на водата работи чрез изпращане на звукови вълни с определена честота (известни също като ултразвукови вълни) и приемане на отразената вълна от целевия обект. Сензорът изчислява и отчита разстоянието между сензора и обекта въз основа на времето, необходимо на звуковата или ултразвуковата вълна за пътуване и отразяване.
Ултразвуковият сензор отчита стойността на разстоянието в сантиметри (cm) по подразбиране. Заедно с дълбочината на резервоара, тази стойност, отчетена от ултразвуковия сензор, може да се използва за намиране оставаща вода в резервоара, като се изчисли разстоянието между нивото на водата в резервоара и ултразвука сензор.
Неща, от които ще се нуждаете
За да създадете този интелигентен сензор за нивото на водата, имате нужда от следното:
- 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 код. В кода редактирайте следното:
- Въведете своя Wi-Fi SSID и парола.
- Редактирайте стойностите във формулите под филтри с разстоянието между сензора и водния ръб и пълната височина на резервоара.
- Щракнете върху Запазете.
- Свържете вашия NodeMCU, ESP32 или D1 mini към вашия компютър с помощта на микро USB кабел и след това щракнете Инсталирай.
- Избери Включете в този компютър опция. Това ще започне компилирането на YAML кода и ще генерира файл на фърмуера (waterlevelsensor.bin). Това може да отнеме известно време.
- След като фърмуерът е компилиран, щракнете Изтеглете проект за да изтеглите waterlevelsensor.bin файл.
Стъпка 3: Флаширайте фърмуера на NodeMCU
За да обновите фърмуера waterlevelsensor.bin, можете да изтеглите ESPHome-Flasher инструмент или използвайте мрежата ESPhome. Стъпките са както следва:
След като изтеглите фърмуера, щракнете Отворете ESPhome Web.
Щракнете върху Свържете се и след това изберете USB сериен COM порт, където е свързан вашият NodeMCU, D1 Mini или ESP32.
Щракнете върху Инсталирай. Щракнете върху Изберете файл, прегледайте до waterlevelsensor.bin файл на фърмуера и щракнете Инсталирай. След като фърмуерът се мига, изключете USB кабела.
Стъпка 4: Свържете ултразвуков сензор с NodeMCU
Вижте диаграмата по-долу, за да свържете ултразвуковия сензор SR04 с платката на MCU.
NodeMCU/ESP32/D1 Mini | SR04 ултразвуков сензор |
3V3 | Vcc |
D5 | триг |
D6 | ехо |
GND | GND |
Ако използвате водоустойчивия ултразвуков модул JSN SR04 M-2, свържете щифтовете, както е показано на диаграмата.
NodeMCU/ESP32/D1 Mini | JSN-SR04 Ултразвуков сензор |
Вин | 5V |
D5 | триг |
D6 | ехо |
GND | GND |
След като ултразвуковият сензор е свързан към 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. Щракнете върху сензор за ниво на водата и изберете обекта.
- Щракнете върху Добавете към Lovelace.
- Изберете стая и щракнете Следващия.
- Това ще добави сензор за ниво на водата към арматурното табло.
Можете допълнително да персонализирате картата по подразбиране, като добавите следното в редактора на кода:
тип: габарит
име: Сензор за ниво на водата
мерна единица: '%'
обект: сензор.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, към вашия интелигентен сензор за ниво на водата, за да проверите и наблюдавате температурата на водата в резервоара.
Как да изградите DIY домакински енергиен монитор с помощта на ESP8266
Прочетете Следващото
Свързани теми
- Направи си сам
- Интелигентен сензор
- електроника
- Уроци за проекти „Направи си сам“.
За автора
Рави е експерт по технически разяснения, ентусиаст на IoT и любител на Linux с опит в областта на големи данни и разработка на приложения. Той прекарва по-голямата част от уикендите си, работейки с IoT устройства и играейки игри на Xbox. Той също така е соло пътешественик, който обича пешеходен туризъм и проучване на нови пътеки.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате