Spisu treści:
- Krok 1: Części, których będziesz potrzebować
- Krok 2: Schemat obwodu
- Krok 3: Budowanie obwodu
- Krok 4: Flashowanie ESP-01
- Krok 5: Uruchom test
- Krok 6: Zamontuj czujnik
- Krok 7: Ostateczny dotyk
Wideo: Czujnik WIFI MQTT/Google Home Flood/Water z ESP-01: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
W tej instrukcji pokażę, jak zbudować czujnik zalania / wody wifi przy minimalnych kosztach. Cały projekt kosztuje mnie mniej niż 8 dolarów za części, które kupuję w serwisie eBay i moje istniejące części zamienne.
W tym projekcie użyjemy ESP-01, aby zapewnić Wifi i klienta MQTT do wykrywania obecności wody i opcjonalnie użyjemy bezpośrednio podłączonego głośnika/brzęczyka, aby zapewnić zlokalizowany alarm.
Moim konkretnym zastosowaniem w projekcie jest wykrywanie zalania/wody w studni pompy ściekowej, w przypadku awarii pompy ściekowej. Gdy woda zostanie wykryta przez 2 otwarte przewody, wyśle wiadomość do brokera MQTT. Broker MQTT następnie przekazuje wiadomość do NodeRED. Po otrzymaniu wiadomości MQTT, NodeRED wyśle ogłoszenie do wielu urządzeń Google Home, a także opcjonalnie wyśle wiadomość na telefon komórkowy/przeglądarkę za pomocą pushbullet
Teraz oczywiście ten projekt będzie działał tylko wtedy, gdy domowa elektryczność jest WŁĄCZONA. W następnej instrukcji zintegruję obwód podtrzymania bateryjnego. Ale jeśli zrobisz zasilacz w ten sam sposób, co ja, możesz po prostu podłączyć power-bank USB do podtrzymania bateryjnego. Jeśli masz powerbank, który umożliwia jednoczesne ładowanie i dostarczanie energii, to wszystko jest gotowe.
Używam RaspberryPi ZeroW do hostowania serwera Mosquitto MQTT i NodeRED. Działa od ponad roku bez żadnych problemów.
Referencje:Raspberry Pi:https://www.switchdoc.com/2016/02/tutorial-installi…Zainstaluj NodeRED na Raspberry Pi:
Krok 1: Części, których będziesz potrzebować
Lista części:
(1) ESP-01
(2) Rezystor 10K ohm
(1) generyczny tranzystor NPN małego sygnału (użyłem 2N3904)
(2) długie przewody
(1) ogólny zasilacz 5 V (ten obwód wymaga mniej niż 300 mA prądu)
(1) Moduł regulatora 3,3 V AMS1117
(1) Adapter Micro-USB na DIP Złącze żeńskie Konwerter PCB Zestaw do samodzielnego montażu
(1) Kabel USB-A do MicroUSB.
(1) 8-pinowe gniazdo IC - można pominąć, jeśli chcesz przylutować ESP-01 bezpośrednio do płytki drukowanej. Wytnij plastikowe mostki, które tworzą szczelinę między rzędami, a następnie sklej 2 rzędy razem, patrz zdjęcie.
(1) Mała obudowa do projektu
Poniżej znajdują się opcjonalne części, jeśli potrzebujesz zlokalizowanego alarmu za pomocą głośnika/brzęczyka
(1) Ogólny tranzystor PNP, wybierz zgodnie z wymaganiami głośnika / brzęczyka / mocy. W moim przypadku używam 2N2907, ponieważ mój głośnik ma tylko 0,3 W (8 omów), zapewniłby wystarczającą moc do napędzania głośnika. Możesz wybrać większy tranzystor i głośnik, jeśli chcesz głośniejszy dźwięk.
(1) Głośnik, patrz uwaga dotycząca tranzystora PNP powyżej
(1) Rezystor 100-110 omów
Krok 2: Schemat obwodu
Pierwszym krokiem byłoby stworzenie obwodu pokazanego na schemacie.
Zasilacz 3.3VDC zbudowałem wykorzystując starą ładowarkę do telefonów komórkowych 5V sprzężoną z regulatorem AMS1117 3.3VDC. Do gniazda ESP-01 używam standardowego 8-pinowego gniazda IC i wycinam plastikowe mostki, które tworzą szczelinę między rzędami, a następnie sklejam 2 rzędy.
Obwód, który zaprojektowałem, ma wykrywać obecność wody między dwoma przewodami. Gdy woda dotrze do końcówek obu przewodów, wytworzy rezystancję około 10K do 20K omów. Następnie szeregowo z 10 kiloomami R1, dostarcza niewielki prąd do podstawy Q1, powodując nasycenie Q1, przytrzymując GPIO-2 do masy. R1 jest niezbędny do zapewnienia ochrony Q1 na wypadek przypadkowego zwarcia na przewodach czujnikowych.
R2 to rezystor podciągający, aby umożliwić ESP-01 rozruch z pamięci flash.
Teraz dla opcjonalnego głośnika/brzęczyka, jeśli potrzebujesz tylko ESP-01 do mówienia MQTT i nie chcesz wdrażać tego zlokalizowanego alarmu, możesz usunąć R2, Q2, Głośnik i umieścić rezystor podciągający 10K między GPIO-0 i VCC.
Jeśli nie czujesz potrzeby używania żeńskiego adaptera Micro-USB na DIP, możesz przylutować przewody między 5V PS a modułem regulatora 3.3V. Wolę używać żeńskiego adaptera MicroUSB, więc mogę użyć dowolnej ogólnej ładowarki do telefonu komórkowego i kabla MicroUSB.
Krok 3: Budowanie obwodu
Przylutuj wszystkie komponenty i części do PCB zgodnie ze schematem obwodu na poprzedniej stronie i przytnij PCB na wymiar.
Umieść płytkę PCB w obudowie, która pasowałaby do płytki drukowanej i opcjonalnego głośnika. W moim przypadku wszystkie części zmieściłyby się do małej puszki na telefon, choć muszę trochę podgrzać pokrywę, żeby powstała wybrzuszenie, żeby zmieścił się moduł ESP-01.
Krok 4: Flashowanie ESP-01
W tym kroku sflashujemy ESP-01 ze szkicem arduino. Jeśli nigdy nie flashowałeś modułu ESP-01, możesz postępować zgodnie z moimi instrukcjami, aby zacząć:
Mój szkic można znaleźć na mojej stronie github:
W szkicu musisz co najmniej zmienić następujące informacje dotyczące Twojej sieci domowej/konfiguracji:
#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MójHasło";const char* ssid2 = "SSID1";const char* hasło2 = "MójHasło";
W mojej sieci domowej mam 2 różne punkty dostępowe, które nadają 2 różne identyfikatory SSID, a ten szkic umożliwiłby redundancję, łącząc się z następnym identyfikatorem SSID, jeśli komunikacja z bieżącym AP zostanie utracona. Jeśli masz tylko jeden identyfikator SSID, wypełnij ssid1 i ssid2 tą samą wartością.
Po dokonaniu modyfikacji prześlij szkic do ESP-01 i podłącz ESP-01 do płyty interfejsu.
Krok 5: Uruchom test
Aby sprawdzić, czy nasz projekt działa, najprościej byłoby monitorować komunikaty MQTT w sieci. Aby to zrobić, musisz otworzyć sesję SSH do brokera mosquitto i wydać następujące polecenie:
mosquitto_sub -v -t '#'
Powyższe polecenie pozwoliłoby nam zobaczyć wszystkie wiadomości MQTT przychodzące do brokera.
Teraz włącz nasz obwód, a jeśli wszystko działa, za kilka sekund powinieneś przynajmniej zobaczyć następujący komunikat MQTT:
stat/SumpWaterSensor/LWT Online
Teraz przetestuj czujnik wody, zanurzając 2 przewody czujnikowe w kubku z wodą, a powinieneś zobaczyć ten komunikat:
Tele/SumpWaterSensor WET
A jeśli wyciągniesz przewody z wody, powinieneś zobaczyć ten komunikat:
Tele/SumpWaterSensor DRY
Jeśli widzisz te wiadomości, Twój projekt jest sukcesem.
W szkicu zawarłem również kilka przydatnych tematów MQTT, z których możesz skorzystać:
"stat/SumpWaterSensorInfo": ta wiadomość jest wysyłana co minutę, aby zapewnić dostępność i inne informacje.
"cmnd/SumpWaterSensorInfo": ESP-01 wyśle informacje, jeśli otrzyma ten temat z wartością '1' (ascii=49)
"cmnd/SumpWaterSensorCPUrestart": ESP-01 uruchomi się ponownie, jeśli otrzyma ten temat z wartością '1' (ascii=49)
"cmnd/SumpWaterSensorBeep": ESP-01 uruchomi głośnik, jeśli otrzyma ten temat z wartością '1' (ascii=49)
"cmnd/SumpWaterSensorBeepFreq": Ustawia częstotliwość alarmu głośnika, domyślnie = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Włącz i ustaw poziom debugowania szeregowego (domyślnie 0 - brak debugowania)
Krok 6: Zamontuj czujnik
W mojej aplikacji chcę monitorować poziom wody w studni pompy ściekowej i powiadamiać mnie, jeśli woda sięga powyżej wyłącznika pływakowego pompy ściekowej, co oznacza, że moja pompa nie działa. Poprowadziłem przewody i za pomocą opasek do drutu przymocowałem go wzdłuż rury spustowej.
Krok 7: Ostateczny dotyk
Teraz, gdy projekt już działa i jesteśmy w stanie opublikować wiadomość MQTT do brokera, następnym krokiem jest zastanowienie się, co z tym zrobić.
W moim projekcie używam Node-RED do słuchania/subskrybowania tematu MQTT "tele/SumpWaterSensor" i informowania kilku głośników Google Home, jeśli zostanie wykryta woda. Oprócz tego połączyłem również przepływ z węzłem pushbullet, aby wysłać powiadomienie na mój telefon z Androidem.
Stworzyłem również webowy interfejs, aby zobaczyć stan czujnika (włączony/offline, czas pracy itp.). Czasami widziałem, że wyłącza się kilka razy w ciągu tygodnia, ze statystyk, wiele razy jest to spowodowane rozłączeniem ESP-01 z Wi-Fi lub MQTT. Ale nie martw się, mój szkic zawiera procedurę ponownego uruchomienia ESP-01, jeśli nadal nie udaje się połączyć z brokerem WIFI i/lub MQTT.
Obraz na tym etapie pokazuje przepływ Węzeł-CZERWONY, aby to osiągnąć. Możesz również wkleić przepływ z mojej strony github do swojego Node-RED:
Ogłoszenie domowe Google to tylko jeden przykład tego projektu, ale myślę, że jest najbardziej użyteczny i praktyczny. Zawsze możesz połączyć się z innym słuchaczem MQTT, a nawet użyć IFTTT do sterowania innymi urządzeniami po wykryciu wody.
Baw się dobrze…
Zalecana:
DIY czujnik oddechu z Arduino (przewodzący czujnik rozciągnięcia dzianiny): 7 kroków (ze zdjęciami)
Czujnik oddechu DIY z Arduino (przewodzący czujnik rozciągnięcia dzianiny): Ten czujnik DIY przyjmie postać przewodzącego czujnika rozciągnięcia dzianiny. Będzie owijał się wokół klatki piersiowej/żołądka, a gdy klatka piersiowa/żołądek rozszerza się i kurczy, podobnie czujnik, a w konsekwencji dane wejściowe, które są przesyłane do Arduino. Więc
Zasilany energią słoneczną czujnik temperatury i wilgotności Arduino jako czujnik Oregon 433 mhz: 6 kroków
Czujnik temperatury i wilgotności Arduino zasilany energią słoneczną jako czujnik Oregon 433 mhz: Jest to konstrukcja czujnika temperatury i wilgotności zasilanego energią słoneczną. Czujnik emuluje czujnik Oregon 433 mhz i jest widoczny w bramce Telldus Net. Czujnik ruchu energii słonecznej" z serwisu eBay. Upewnij się, że mówi o cieście 3,7 V
Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków
Czujnik nacisku i temperatury dzwonka do drzwi: Ulepsza standardowy dzwonek przewodowy do drzwi z modułem esp-12F (esp8266). Instaluje się w samym dzwonku, aby uniknąć jakichkolwiek zmian w okablowaniu. Zapewnia następujące funkcje Wykrywanie przyciśnięć dzwonka do drzwiWysyła powiadomienia na telefon za pośrednictwem sklepów IFTTTS
Dzwonek MQTT/Google Home przy użyciu ESP-01: 6 kroków
MQTT/Google Home DoorBell przy użyciu ESP-01: Czy zdarzyło Ci się nie odpowiedzieć gościowi, który zadzwonił do Twoich drzwi tylko dlatego, że jesteś w części domu, która jest zbyt daleko, aby usłyszeć dzwonek do drzwi? takich jak piwnica, sypialnia z zamkniętymi drzwiami, a może oglądałeś telewizję lub słuchałeś muzyki. Jeśli chcesz
Czujnik dotykowy i czujnik dźwięku kontrolujący światła AC/DC: 5 kroków
Czujnik dotykowy i czujnik dźwięku kontrolujący światła AC/DC: To mój pierwszy projekt i działa w oparciu o dwa podstawowe czujniki, jeden to czujnik dotykowy, a drugi to czujnik dźwięku, po naciśnięciu panelu dotykowego na czujniku dotykowym włącza się światło AC ON, jeśli go zwolnisz, światło będzie wyłączone i to samo