Inhaltsverzeichnis:
Video: Kellerhochwasseralarm mit extrem niedrigem Stromverbrauch mit ESP8266 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Hallo, willkommen zu meinem ersten instructable.
Der Keller meines Hauses wird alle paar Jahre überschwemmt, aus verschiedenen Gründen wie starken Sommergewittern, hohem Grundwasser oder sogar einem Rohrbruch. Es ist zwar kein schöner Ort, aber mein Zentralheizungskessel steht dort unten und Wasser kann seine elektronischen Teile beschädigen, also muss ich das Wasser so schnell wie möglich abpumpen. Es ist schwierig und unangenehm, die Situation nach einem schweren Sommergewitter zu überprüfen, daher habe ich mich für einen ESP8266-basierten Alarm entschieden, der mir im Falle einer Überschwemmung eine E-Mail sendet. (Wenn die Überschwemmung durch hohes Grundwasser verursacht wird, beträgt der Wasserstand normalerweise weniger als 10 Zentimeter, was für die Heizung nicht schädlich ist und es wird nicht empfohlen, abzupumpen, da es sowieso zurückkommt und je mehr Sie pumpen, desto mehr Grundwasser kommt das nächste Mal. Aber es ist gut, die Situation zu kennen.)
In dieser Anwendung kann das Gerät jahrelang "schlafen" und funktioniert, wenn alles wie geplant funktioniert, nur für wenige Sekunden. Die Verwendung des Tiefschlafs ist nicht praktikabel, da er zu viel Strom verbraucht, wenn wir sehr lange schlafen möchten und der ESP8266 nur maximal 71 Minuten schlafen kann.
Ich beschloss, einen Schwimmerschalter zu verwenden, um die Leistung des ESP einzuschalten. Bei dieser Lösung wird das ESP bei geöffnetem Schalter nicht mit Strom versorgt, so dass der Stromverbrauch nur die Selbstentladung der Batterien ist, die das System jahrelang alarmbereit hält.
Wenn der Wasserstand den Schwimmerschalter erreicht, startet das ESP normal, verbindet sich mit meinem WiFi-Netzwerk, schickt mir eine E-Mail und schläft mit ESP. Deepsleep(0) für immer ein, bis der Strom aus- und wieder eingeschaltet wird. Wenn es keine Verbindung zum WLAN herstellen oder die E-Mail nicht senden kann, geht es für 20 Minuten in den Ruhezustand und versucht es erneut, bis es erfolgreich ist.
Diese Idee ähnelt der von Andreas Spiess in diesem Video beschriebenen Lösung. Aufgrund der Art der Überschwemmung und des Schwimmerschalters müssen wir jedoch keinen MOSFET hinzufügen, um das ESP eingeschaltet zu halten, bis es seine Aufgabe beendet hat, da der Schwimmerschalter geschlossen wird, wenn der Wasserstand über dem Auslöseniveau liegt.
Schritt 1: Der Schaltplan:
Teile
- D1: BAT46 Schottky-Diode für Tiefschlaf-Wakeup. Ich habe mit Schottky-Dioden bessere Erfahrungen gemacht als mit Widerständen zwischen D0 und RST.
- Schwimmerschalter: Einfacher $ 1,2 Reedrohr und magnetbasierter Schwimmerschalter von eBay. Der Ring mit dem Magneten kann umgedreht werden, um zwischen hohem und niedrigem Flüssigkeitsstand zu wechseln. eBay-Link
- Batteriehalter: für 2x AAA 1,5V Batterien
- P1: 2x 2P 5,08mm (200mil) Schraubklemmen zum Anschluss der Kabel von der Batterie und dem Schwimmerschalter.
- C1: 1000uF 10V Kondensator zur Erhöhung der Stabilität des ESP bei eingeschaltetem Radio. Bitte beachten Sie, dass die im Kondensator gespeicherte Energie ausreicht, um es 3-4 Minuten lang mit Strom zu versorgen, wenn sich das ESP im Tiefschlaf befindet. In dieser Zeit kann der Betrieb des Schwimmerschalters das ESP nicht neu starten, da der Kondensator es im Tiefschlaf eingeschaltet hält. Das ist nur beim Testen interessant.
- U1: LOLIN / Wemos D1 Mini Pro ESP8266 Mikrocontroller. Dies ist die Pro-Version mit externem Antennenanschluss, die nützlich sein kann, wenn sie im Keller platziert wird. Bitte beachten Sie, dass Sie den 0-Ohm-SMD-"Widerstand" neu anlöten sollten, um die externe Antenne anstelle der standardmäßig eingebauten Keramikantenne auszuwählen. Ich empfehle, LOLIN-Mikrocontroller im offiziellen LOLIN AliExpress-Shop zu kaufen, da es viele gefälschte oder alte Versionen von Wemos / LOLIN-Boards gibt.
- Perfboard: Ein 50 mm * 50 mm Protoboard reicht aus, um alle Teile zu passen. Die Schaltung ist zu einfach, um eine Leiterplatte herzustellen.:)
Bitte beachten Sie, dass die Batterie an den 3,3V-Eingang angeschlossen ist. Obwohl der D1 Mini über einen eingebauten LDO für den USB / LiPo-Betrieb verfügt, benötigen wir diesen nicht, wenn er mit 3 V von 2xAAA Alkaline-Batterien betrieben wird. Mit diesem Anschluss konnte mein D1 Mini auch mit nur 1,8V Versorgungsspannung seine Aufgabe erfüllen.
Schritt 2: Der Code
Das Programm könnte schöner oder einfacher sein, aber seine Teile haben sich in meinen anderen Projekten bewährt.
Die Skizze verwendet die folgenden Bibliotheken:
ESP8266WiFi.h: Standard für ESP8266-Boards.
Gsender.h: Gmail-Senderbibliothek von Borya, kann hier heruntergeladen werden.
Der Programmablauf ist recht einfach.
- ESP startet.
- Liest den RTC-Speicher, um zu überprüfen, ob es ein erster Start ist oder nicht
- Verbindet sich über die Funktion cleverwifi() mit WLAN. Dies stellt eine Verbindung zum WLAN mit der Router-MAC-Adresse (BSSID) und der Kanalnummer für eine schnellere Verbindung her, versucht es ohne diese nach 100 erfolglosen Versuchen und geht nach 600 Versuchen in den Ruhezustand. Diese Funktion wurde aus der WiFi-Stromverbrauchssparskizze von OppoverBakke abgeleitet, jedoch ohne das Speichern der Verbindungsdaten zum RTC-Teil in dieser Anwendung.
- Überprüft die Batteriespannung mit den ESP-integrierten ADC_MODE(ADC_VCC) / ESP.getVcc()-Funktionen. Dies erfordert keinen externen Spannungsteiler oder eine Verdrahtung zu A0. Perfekt für Spannungen unter 3,3 V, was bei uns der Fall ist.
-
Sendet eine Benachrichtigungs-E-Mail mit Gsender.h. Ich habe Variablen und benutzerdefinierten Text zu den Betreff- und Nachrichtenzeichenfolgen hinzugefügt, um die Batteriespannung, die seit der ersten Erkennung verstrichene Zeit und Ratschläge zum Batteriewechsel zu melden. Bitte vergessen Sie nicht, die E-Mail-Adresse des Empfängers zu ändern.
-
Schlafplätze
- Bei Erfolg schläft es "für immer" mit ESP.deepSleep(0); Physikalisch befindet es sich im Schlafmodus, bis der Wasserstand hoch ist. Das sind technisch gesehen ein paar Stunden oder maximal ein paar Tage, die den Akku mit den wenigen uA Ruhestrom nicht entladen. Wenn das Wasser weg ist, öffnet sich der Schwimmerschalter und das ESP wird vollständig ausgeschaltet und der Stromverbrauch beträgt 0.
- Wenn dies nicht gelingt, geht es für 20 Minuten in den Ruhezustand und versucht es dann erneut. Bei einem Sommergewitter kann es zu einem Stromausfall kommen. Es zählt die Neustarts und speichert sie im RTC-Speicher. Diese Informationen werden verwendet, um die seit dem ersten Alarmversuch verstrichene Zeit zu melden. (Bitte beachten Sie, dass die RTC beim Testen mit USB-Strom und seriellem Monitor den Zykluszählerwert möglicherweise auch zwischen den Downloads behält.)
-
Schritt 3: Montage und Installation
Nachdem ich den Code auf einem Steckbrett getestet hatte, lötete ich ihn an ein kleines Stück Perfboard.
Ich habe 2 Stück 2-polige Schraubklemmen mit 5,08 mm Rastermaß zusammengenäht, eine Buchsenleiste für den ESP, einen Kondensator und ein paar Jumper.
Bitte beachten Sie, dass der SMD-Widerstand mit der Ziffer "0" neben der Keramikantenne auf die leeren Pads daneben umgelötet werden sollte, um die externe Antenne auszuwählen.
Dann habe ich das Ganze in eine kleine elektrische Anschlussdose IP55 gesteckt. Die Drähte vom Schwimmerschalter werden über eine Kabelverschraubung angeschlossen.
Die Box ist in einer sicheren Höhe platziert, in der das Wasser (hoffentlich) nie ankommen kann, also habe ich ein Paar relativ dicken 1 mm ^ 2 (17 AWG) Kupferdraht verwendet, um den Schwimmerschalter anzuschließen. Mit diesem Setup konnte das ESP auch bei 1,8V Eingangsspannung starten und die Nachricht senden.
Nach der Installation ist dieser stille Wächter auf der Hut, aber ich hoffe, er muss nicht bald einen Alarm senden…
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
Extrem einfache L.E.D. Installation: 3 Schritte
Extrem einfache L.E.D. Installation: Dies ist möglicherweise die einfachste Installation von L.E.D. (Light Emitting Diode) Leuchten der Welt, wenn nicht DIE Beste. In nur wenigen einfachen Schritten können SIE eine kleine tragbare L.E.D. Installation, die ewig hält! Es ist besonders nützlich bei