Chociaż dostępnych jest kilka wskaźników poziomu wody i urządzeń do monitorowania poziomu w górnym zbiorniku wody, urządzenia te często mają wysoką cenę i mają ograniczoną funkcjonalność. Poza tym do działania wymagają zanurzania elektrod lub przełącznika w wodzie; może to zanieczyścić wodę i z czasem ulec korozji.
Ale co by było, gdybyś mógł zbudować bezprzewodowy i bezdotykowy czujnik poziomu wody oparty na Wi-Fi, który raportuje poziom wody w zbiorniku bezpośrednio na smartfonie? W tym poradniku dla majsterkowiczów zbudujemy taki wskaźnik poziomu wody za pomocą płytki NodeMCU i ultradźwięku czujnik, który znajduje się w górnej części pokrywy zbiornika na wodę i przesyła dane do smartfona przez Home Asystent.
Jak to działa?
Ultradźwiękowy czujnik poziomu wody działa poprzez wysyłanie fal dźwiękowych o określonej częstotliwości (znanych również jako fale ultradźwiękowe) i odbieranie fali odbitej od obiektu docelowego. Czujnik oblicza i zgłasza odległość między czujnikiem a obiektem w oparciu o czas potrzebny na przebycie i odbicie fali dźwiękowej lub ultradźwiękowej.
Czujnik ultradźwiękowy domyślnie podaje wartość odległości w centymetrach (cm). Wraz z głębokością zbiornika ta wartość zgłaszana przez czujnik ultradźwiękowy może być wykorzystana do znalezienia pozostała woda w zbiorniku poprzez obliczenie odległości między poziomem wody w zbiorniku a ultradźwiękami czujnik.
Rzeczy, których będziesz potrzebować
Aby zbudować ten inteligentny czujnik poziomu wody, potrzebujesz:
- MCU oparty na ESP8266, taki jak NodeMCU, D1 Mini, ESP01 itp.
- Czujnik ultradźwiękowy SR04
- Przewody połączeniowe
W przypadku tego projektu zaleca się użycie wodoodpornego czujnika ultradźwiękowego JSN-SR04, aby zapobiec uszkodzeniu czujnika z powodu wilgoci.
Kroki, aby zbudować inteligentny czujnik poziomu wody
Możesz wykonać poniższe kroki, aby zbudować inteligentny bezdotykowy ultradźwiękowy czujnik poziomu wody oparty na Wi-Fi aby monitorować zużycie wody i uchronić się przed wchodzeniem po schodach lub zbiornikiem na wodę, aby to sprawdzić ręcznie. Możesz również użyć tego czujnika do monitorowania poziomu soli w zbiorniku.
Krok 1: Zainstaluj i skonfiguruj Home Assistant
Asystent domu (HA) jest preferowany, ale nie jest wymagany do zbudowania inteligentnego czujnika lub kontrolera poziomu wody opartego na Wi-Fi. Jeśli jednak chcesz otrzymywać powiadomienia, śledzić dzienne/tygodniowe/miesięczne zużycie lub dodać automatyzację w oparciu o poziom zbiornika, musisz skonfigurować Asystenta Domowego.
Możesz skorzystać z naszego poprzedniego przewodnika, aby zainstaluj Home Assistant na Raspberry Pi lub stary laptop. Jeśli nie chcesz instalować ani konfigurować Home Assistant, możesz sflashować oprogramowanie Tasmota i użyć go do sprawdzenia poziomu wody. Chociaż nie jest tak intuicyjny jak Home Assistant, wykonuje swoją pracę i raportuje surową wartość za pośrednictwem strony internetowej.
Krok 2: Zmierz głębokość zbiornika
Musisz zmierzyć głębokość zbiornika. Możesz to zrobić mierząc wysokość zbiornika od zewnątrz lub wewnątrz za pomocą taśmy mierniczej.
Po wykonaniu pomiaru zmierz odległość między pokrywą zbiornika, w której zostanie zainstalowany czujnik ultradźwiękowy, a brzegiem zbiornika na wodę. Jest to odległość, którą należy odjąć od całkowitej głębokości.
Na przykład, jeśli wysokość zbiornika wynosi 120 cm, a odległość między czujnikiem na pokrywie a brzegiem wody wynosi 10 cm, to głębokość wynosi 120 - 10 = 110 cm.
Krok 2: Skompiluj oprogramowanie układowe
Aby skompilować oprogramowanie, otwórz Home Assistant i zainstaluj ESPHome dodatek, jeśli jeszcze tego nie zrobiłeś. Następnie wykonaj następujące kroki:
- Kliknij +Nowe urządzenie przycisk a następnie kliknij Kontyntynuj.
- Wprowadź nazwę pliku oprogramowania układowego, na przykład czujnik poziomu wody, i kliknij Następny.
- Wybierz posiadany MCU, taki jak NodeMCU, ESP32 lub D1 Mini, i kliknij Następny. Następnie kliknij Pomijać.
Teraz znajdź czujnik poziomu wody projekt i kliknij Edytować. To otwiera waterlevelsensor.yamlplik. W pliku skopiuj i wklej ten kod YAML. W kodzie edytuj następujące elementy:
- Wprowadź swój identyfikator SSID Wi-Fi i hasło.
- Edytuj wartości we wzorach poniżej filtry z odległością między czujnikiem a brzegiem wody i pełną wysokością zbiornika.
- Kliknij Zapisać.
- Podłącz NodeMCU, ESP32 lub D1 mini do komputera za pomocą kabla micro USB, a następnie kliknij Zainstalować.
- Wybierz Podłącz do tego komputera opcja. Rozpocznie się kompilacja kodu YAML i wygeneruje plik oprogramowania układowego (waterlevelsensor.bin). To może chwilę potrwać.
- Po skompilowaniu oprogramowania kliknij Pobierz projekt pobrać waterlevelsensor.bin plik.
Krok 3: Zaktualizuj oprogramowanie układowe na NodeMCU
Aby sflashować oprogramowanie waterlevelsensor.bin, możesz pobrać ESPHome-Flasher lub skorzystaj z sieci ESPHome. Kroki są następujące:
Po pobraniu oprogramowania, kliknij Otwórz ESPHome Web.
Kliknij Połączyć a następnie wybierz port szeregowy USB COM, do którego podłączony jest NodeMCU, D1 Mini lub ESP32.
Kliknij Zainstalować. Kliknij Wybierz plik, przejdź do waterlevelsensor.bin plik oprogramowania układowego i kliknij zainstalować. Po zaktualizowaniu oprogramowania sprzętowego odłącz kabel USB.
Krok 4: Podłącz czujnik ultradźwiękowy do NodeMCU
Zapoznaj się z poniższym schematem, aby połączyć czujnik ultradźwiękowy SR04 z płytą MCU.
NodeMCU/ESP32/D1 Mini | Czujnik ultradźwiękowy SR04 |
3V3 | Vcc |
D5 | Wymuskany |
D6 | Echo |
GND | GND |
Jeśli używasz wodoodpornego modułu ultradźwiękowego JSN SR04 M-2, podłącz styki w sposób pokazany na schemacie.
NodeMCU/ESP32/D1 Mini | Czujnik ultradźwiękowy JSN-SR04 |
Vin | 5V |
D5 | Wymuskany |
D6 | Echo |
GND | GND |
Po podłączeniu czujnika ultradźwiękowego do MCU ponownie podłącz kabel USB. Urządzenie automatycznie połączy się z siecią Wi-Fi w oparciu o dane wprowadzone w kodzie i zostanie wyświetlone jako online w Panel główny ESP.
Kliknij Dzienniki pod czujnik poziomu wody. Spowoduje to wyświetlenie dzienników i danych otrzymanych przez czujnik.
Jeśli dzienniki wyświetlają informacje, jak pokazano na zrzucie ekranu, możesz przejść dalej i skonfigurować czujnik w Home Assistant.
Jeśli zobaczysz komunikat „Upłynął limit czasu pomiaru odległości”, wykonaj następujące czynności:
- Sprawdź, czy prawidłowo połączyłeś piny czujnika ultradźwiękowego z MCU.
- Moduł JSN SR04 M-2 może mierzyć 20-400cm. Dlatego trzymaj obiekt w odległości co najmniej 20 cm. Musisz również odpowiednio wprowadzić zmiany w kodzie.
- Zastosowany przez nas czujnik ultradźwiękowy może nie mierzyć odległości powyżej 400 cm. Jeśli twój zbiornik jest głębszy niż 400 cm (niezwykłe), może to nie zadziałać.
Krok 5: Dodaj inteligentny czujnik poziomu wody do Home Assistant
Aby dodać ultradźwiękowy czujnik poziomu wody do Home Assistant w celu monitorowania, wykonaj następujące kroki:
- W Asystencie domowym przejdź do Konfiguracja > Urządzenia i usługi.
- ten czujnik poziomu wody powinny być automatycznie wykrywane i umieszczane na liście. Jeśli nie, kliknij Dodaj integrację.
- Wyszukaj i wybierz ESPHome.
- Wprowadź adres IP urządzenia czujnik poziomu wody. Możesz to znaleźć w dziennikach lub routerze Wi-Fi. Po wprowadzeniu adresu IP kliknij Składać.
- Wybierz obszar i kliknij Skończyć.
- CCzujnik zostanie wyświetlony w ESPHome. Kliknij czujnik poziomu wody i wybierz podmiot.
- Kliknij Dodaj do Lovelace.
- Wybierz pokój i kliknij Następny.
- To doda czujnik poziomu wody do deski rozdzielczej.
Możesz dodatkowo dostosować domyślną kartę, dodając następujące elementy w edytorze kodu:
typ: miernik
Nazwa: czujnik poziomu wody
jednostka: '%'
podmiot: sensor.waterlevelsensor
zielony: 0
żółty: 45
czerwony: 85
Krok 6: Zainstaluj czujnik na pokrywie zbiornika na wodę
Możesz teraz zainstalować czujnik w swoim zbiorniku na wodę. Do projektu wykorzystaliśmy czujnik SR04, który nie jest wodoodporny. Aby była wodoodporna, użyliśmy przezroczystej obudowy i wystarczającej ilości lakieru do paznokci, aby zaizolować elementy elektryczne na płycie.
Wywierciliśmy dwa małe otwory i użyliśmy metalowego drutu, aby przymocować moduł SR04 do pokrywy. Wykonano kolejny większy otwór na przewody podłączone do czujnika ultradźwiękowego. Użyliśmy długiego 4-żyłowego przewodu do połączenia czujnika ultradźwiękowego z NodeMCU, ponieważ zbiornik znajduje się na dachu, a temperatura tutaj może wzrosnąć do 40-45°C.
Możesz zachować oba w jednym przypadku i zasilać NodeMCU. Upewnij się również, że moc sygnału Wi-Fi jest dobra podczas instalacji NodeMCU lub czujnika. Przeczytaj nasz przewodnik na jak wzmocnić sygnał Wi-Fi, aby zwiększyć zasięg Wi-Fi.
Kontroluj pompę wodną, aby utrzymać pełny zbiornik
Integrując inteligentny czujnik poziomu wody z Home Assistant, możesz dodać automatyzację, aby otrzymywać alerty na smartfonie lub za pośrednictwem Alexa/Google Assistant, gdy poziom w zbiorniku jest niski lub pełny. Podobnie możesz dodać automatyzację, aby włączyć pompę wody, aby napełnić zbiornik, gdy jest niski, i wyłączyć ją automatycznie, gdy poziom zbiornika osiągnie określony poziom, na przykład 90-100%.
Ponadto możesz dodać wodoodporną sondę czujnika temperatury, taką jak DS18B20, do inteligentnego czujnika poziomu wody, aby sprawdzić i monitorować temperaturę wody w zbiorniku.
Jak zbudować domowy monitor energii dla domu za pomocą ESP8266?
Czytaj dalej
Powiązane tematy
- majsterkowanie
- Inteligentny czujnik
- Elektronika
- Samouczki dotyczące projektów DIY
O autorze

Ravi jest ekspertem w dziedzinie technologii, entuzjastą IoT i miłośnikiem Linuksa z doświadczeniem w tworzeniu dużych zbiorów danych i tworzeniu aplikacji. Większość weekendów spędza pracując z urządzeniami IoT i grając w gry na Xboksie. Jest także samotnym podróżnikiem, który uwielbia wędrówki i odkrywanie nowych szlaków.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować