Spisu treści:
Wideo: Alarm zalania piwnicy o bardzo niskim poborze mocy z ESP8266: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Witam, witam w mojej pierwszej instrukcji.
Piwnica mojego domu co kilka lat jest zalewana z różnych powodów, takich jak gwałtowne letnie burze, wysokie wody gruntowe, a nawet pęknięcie rury. Co prawda nie jest to przyjemne miejsce, ale mój kocioł c.o. jest tam na dole i woda może uszkodzić jego elektroniczne części, więc muszę ją jak najszybciej wypompować. Trudno i nieprzyjemnie jest sprawdzić sytuację po ciężkiej letniej burzy, dlatego postanowiłem zrobić alarm oparty na ESP8266, który wysyła mi e-mail w przypadku zalania. (Gdy zalanie spowodowane jest wysokim poziomem wód gruntowych to zwykle poziom wody jest mniejszy niż 10 cm co nie jest szkodliwe dla grzałki i nie zaleca się wypompowywania bo i tak wróci, a im więcej pompujesz tym więcej wód gruntowych napłynie następnym razem. Ale dobrze jest wiedzieć o sytuacji.)
W tej aplikacji urządzenie może być "uśpione" latami, a jeśli wszystko działa zgodnie z planem, działa tylko przez kilka sekund. Korzystanie z głębokiego snu nie jest praktyczne, ponieważ pobiera zbyt dużo prądu, jeśli chcemy spać przez bardzo długi czas, a ESP8266 może spać maksymalnie przez około 71 minut.
Postanowiłem użyć pływaka do włączenia zasilania ESP. Dzięki takiemu rozwiązaniu ESP nie jest zasilany, gdy przełącznik jest otwarty, więc zużycie energii to tylko samorozładowanie baterii, co sprawia, że system jest gotowy na alarm przez lata.
Kiedy poziom wody osiągnie wyłącznik pływakowy, ESP uruchamia się normalnie, łączy się z moją siecią WiFi, wysyła mi e-mail i zasypia na zawsze z ESP. Deepsleep(0), aż do wyłączenia i ponownego włączenia zasilania. Jeśli nie może połączyć się z Wi-Fi lub wysłać e-maila, przechodzi w stan uśpienia na 20 minut i próbuje ponownie, aż do sukcesu.
Ten pomysł jest podobny do rozwiązania opisanego przez Andreasa Spiessa w tym filmie. Ale ze względu na naturę zalania i przełącznik pływakowy, nie musimy dodawać MOSFET-u, aby utrzymać zasilanie ESP, dopóki nie zakończy swojego zadania, ponieważ przełącznik pływakowy zostanie zamknięty, jeśli poziom wody przekroczy poziom wyzwalania.
Krok 1: Schemat:
Części
- D1: BAT46 dioda Schottky'ego do budzenia w głębokim śnie. Mam lepsze doświadczenia z diodami Schottky'ego niż rezystorami między D0 a RST.
- Przełącznik pływakowy: Prosta rurka trzcinowa o wartości 1,2 USD i przełącznik pływakowy oparty na magnesie z serwisu eBay. Pierścień z magnesem można odwrócić, aby zmienić przełączanie między wysokim i niskim poziomem płynu. Łącze do serwisu eBay
- Uchwyt baterii: na 2 baterie AAA 1,5 V
- P1: 2x 2P 5.08mm (200mil) zaciski śrubowe do podłączenia przewodów z akumulatora i wyłącznika pływakowego.
- C1: kondensator 1000uF 10V, aby zwiększyć stabilność ESP, gdy radio jest włączone. Należy pamiętać, że jeśli ESP jest w stanie głębokiego uśpienia, energia zgromadzona w kondensatorze wystarcza do zasilania go przez 3-4 minuty. W tym czasie działanie przełącznika pływakowego nie może zrestartować ESP, ponieważ kondensator utrzymuje go włączonym podczas głębokiego uśpienia. Jest to interesujące tylko podczas testów.
- U1: Mikrokontroler LOLIN / Wemos D1 Mini Pro ESP8266. Jest to wersja pro ze złączem anteny zewnętrznej, która może być przydatna, gdy znajduje się w piwnicy. Należy pamiętać, że należy ponownie przylutować „rezystor” SMD 0 omów, aby wybrać antenę zewnętrzną zamiast domyślnej wbudowanej anteny ceramicznej. Polecam zakupić mikrokontrolery LOLIN z oficjalnego sklepu LOLIN AliExpress, ponieważ istnieje wiele fałszywych lub starych wersji płyt Wemos / LOLIN.
- Płyta perforowana: Proto płyta 50mm * 50mm wystarczy, aby zmieścić wszystkie części. Obwód jest zbyt prosty, aby wykonać płytkę drukowaną.:)
Należy pamiętać, że bateria jest podłączona do wejścia 3.3V. Chociaż D1 Mini ma wbudowane LDO do pracy z USB/LiPo, nie potrzebujemy go, gdy jest zasilany z 3V baterii alkalicznych 2xAAA. Dzięki temu połączeniu mój D1 Mini był w stanie wykonać swoje zadanie również przy napięciu zasilania 1,8V.
Krok 2: Kodeks
Program mógłby być ładniejszy lub prostszy, ale jego elementy sprawdzają się w innych moich projektach.
Szkic wykorzystuje następujące biblioteki:
ESP8266WiFi.h: Domyślnie dla płyt ESP8266.
Gsender.h: biblioteka nadawców Gmaila z Borya, można pobrać stąd.
Przebieg programu jest dość prosty.
- ESP uruchamia się.
- Odczytuje pamięć zegara czasu rzeczywistego, aby sprawdzić, czy jest to pierwszy rozruch, czy nie
- Łączy się z Wi-Fi za pomocą funkcji smartwifi(). Łączy się z Wi-Fi za pomocą adresu MAC routera (BSSID) i numeru kanału w celu szybszego połączenia, ponawia próby bez tych prób po 100 nieudanych próbach i przechodzi w tryb uśpienia po 600 próbach. Ta funkcja została wyprowadzona ze szkicu oszczędzania energii Wi-Fi OppoverBakke, ale bez zapisywania danych połączenia z częścią RTC w tej aplikacji.
- Sprawdza napięcie akumulatora za pomocą wbudowanej funkcji ESP ADC_MODE(ADC_VCC) / ESP.getVcc(). Nie wymaga to zewnętrznego dzielnika napięcia ani żadnego okablowania do A0. Idealny do napięć poniżej 3,3V, tak jak w naszym przypadku.
-
Wysyła alrt e-mail z Gsender.h. Dodałem zmienne i niestandardowy tekst do tematu i ciągów wiadomości, aby zgłosić napięcie baterii, czas, jaki upłynął od pierwszego wykrycia i porady dotyczące wymiany baterii. Nie zapomnij zmienić adresu e-mail odbiorcy.
-
Śpi
- Jeśli się powiedzie, śpi "na zawsze" z ESP.deepSleep(0); Fizycznie będzie w trybie uśpienia, dopóki poziom wody nie będzie wysoki. Technicznie jest to kilka godzin lub maksymalnie kilka dni, co nie spowoduje wyczerpania baterii przy prądzie uśpienia wynoszącym kilka uA. Gdy woda zniknie, przełącznik pływakowy otworzy się i ESP zostanie całkowicie wyłączony, a pobór prądu wyniesie 0.
- Jeśli się nie powiedzie, kładzie się spać na 20 minut, a następnie próbuje ponownie. Możliwe jest wystąpienie przerwy w dostawie prądu w przypadku letniej burzy z piorunami. Zlicza restarty i przechowuje je w pamięci zegara czasu rzeczywistego. Informacje te służą do raportowania czasu, jaki upłynął od pierwszej próby alarmu. (Należy pamiętać, że podczas testowania go z zasilaniem USB i monitorem szeregowym, RTC może również zachować wartość liczby cykli między pobraniami.)
-
Krok 3: Montaż i instalacja
Po przetestowaniu kodu na płytce stykowej przylutowałem go do małego kawałka płytki perforowanej.
Użyłem 2 sztuk 2-biegunowych zacisków śrubowych o rastrze 5,08 mm zszytych ze sobą, żeńskiego nagłówka dla ESP, kondensatora i kilku zworek.
Uwaga, rezystor SMD z numerem „0” przy antenie ceramicznej należy przelutować do pustych padów obok niego, aby wybrać antenę zewnętrzną.
Następnie włożyłem całość do małej puszki elektrycznej IP55. Przewody z łącznika pływakowego są połączone przez dławik kablowy.
Pudełko jest umieszczone na bezpiecznej wysokości, na której woda (miejmy nadzieję) nigdy jej nie dosięgnie, więc użyłem pary stosunkowo grubego drutu miedzianego 1mm^2 (17AWG) do podłączenia wyłącznika pływakowego. Dzięki tej konfiguracji ESP może uruchomić i wysłać wiadomość nawet przy napięciu wejściowym 1,8 V.
Po instalacji ten cichy wartownik jest na straży, ale mam nadzieję, że nie musi szybko wysyłać alarmu…
Zalecana:
System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)
Ultra-low Power WiFi Home Automation System: W tym projekcie pokazujemy, jak w kilku krokach można zbudować podstawowy lokalny system automatyki domowej. Zamierzamy użyć Raspberry Pi, które będzie działać jako centralne urządzenie WiFi. Podczas gdy w przypadku węzłów końcowych zamierzamy użyć IOT Cricket, aby stworzyć zasilanie bateryjne
Łatwy BLE o bardzo niskim poborze mocy w Arduino Część 2 -- Monitor temperatury / wilgotności -- Rev 3: 7 kroków
Easy Very Low Power BLE w Arduino Część 2 -- Monitor temperatury / wilgotności -- Wersja 3: Aktualizacja: 23 listopada 2020 r. – Pierwsza wymiana 2 baterii AAA od 15 stycznia 2019 r., tj. 22 miesiące na 2 baterie alkaliczne AAA Aktualizacja: 7 kwietnia 2019 r. – Wersja 3 z lp_BLE_TempHumidity, dodaje wykresy Data/Czas, używając pfodApp V3.0.362+ i auto throttling
Bezprzewodowy czujnik drzwi - bardzo niski pobór mocy: 5 kroków
Bezprzewodowy czujnik drzwi - Ultra Low Power: Kolejny czujnik drzwi !! Cóż, motywacją do stworzenia tego czujnika było to, że wiele osób, które widziałem w Internecie, miało jedno lub drugie ograniczenie. Niektóre z celów czujnika to dla mnie:1. Czujnik powinien być bardzo szybki – najlepiej mniej niż
Komputer multimedialny / serwer plików o niskim poborze mocy, recykling, #2: 8 kroków
Komputer multimedialny / serwer plików o niskim poborze mocy, recykling, nr 2: Użyj płyty głównej o małym formacie, która może zbierać kurz w garażu, kilku innych komponentów ze skrzynki na śmieci komputera oraz prostego kodu HTML i skryptu, tworząc MidniteBoy …Znowu!To kolejna wersja projektu, który publikuję
Bardzo prosty ale bardzo skuteczny dowcip (dowcip komputerowy): 3 kroki
Bardzo prosty … Ale bardzo skuteczny dowcip (komputerowy żart): Ten instruktaż jest BARDZO prosty, ale BARDZO skuteczny! Co się stanie: Ukryjesz wszystkie ikony na pulpicie ofiary. Ofiara wpadnie w panikę, gdy zobaczy komputer po tym, jak zrobisz dowcip. Nie może to w żaden sposób zaszkodzić komputerowi