|
@@ -1,6 +1,7 @@
|
|
|
# Postkastl
|
|
|
|
|
|
Postkasten-Benachrichtigung via MQTT-Version mit ESP8266 (Arduino)
|
|
|
+
|
|
|
Verwendet wird ein ESP-01 Modul, das kleinste ESP8266-Modul.
|
|
|
|
|
|
Libraries: ESP8266WiFi, PubSubClient
|
|
@@ -25,32 +26,20 @@ Details siehe: [Messung_Stromaufnahme_2021.txt](Messung_Stromaufnahme_2021.txt)
|
|
|
|
|
|
## Programmablauf
|
|
|
|
|
|
- - GPIO0 wird nach dem Start sofort auf HIGH geschaltet - ist über eine Diode mit ESP-Pin PD_CH verbunden (ESP bleibt aktiv, bis dieser Pin programmatisch auf LOW geschaltet wird)
|
|
|
-
|
|
|
+ - GPIO0 wird nach dem Start sofort auf HIGH geschaltet.
|
|
|
+ Dieser ist über eine Diode mit ESP-Pin **CHIP_ENABLE/PD_CH** verbunden und hält dadurch das Modul aktiv, bis dieser Pin programmatisch auf LOW geschaltet wird.
|
|
|
- WiFi-Verbindung aufbauen
|
|
|
-
|
|
|
- MQTT Broker verbinden und publishen
|
|
|
-
|
|
|
- ```
|
|
|
- Topic: Postkasten
|
|
|
- Payload (JSON-formatiert): { "event":"<event>", "Vcc":"<vcc>","Batt":"<batt>" }
|
|
|
-
|
|
|
- <event> = "new_post" oder "emptied"
|
|
|
- Abhängig vom Status des Pin GPIO3.
|
|
|
- Ist dieser HIGH wird der Postkasten gerade entleert (erfordert 2. Kontakt)
|
|
|
- <vcc> = gemessene Batteriespannung in mV
|
|
|
- <batt> = Batteriestatus (OK oder LOW)
|
|
|
- ```
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- - trennt sofort wieder die WiFi-Verbindung um Strom zu sparen
|
|
|
-
|
|
|
- - wartet 20s um Mehrfachauslösungen zu verhindern
|
|
|
-
|
|
|
- - schaltet sich selbst wieder ab, indem GPIO0 auf LOW gezogen wird. Das ESP-Modul ist danach im Deep Sleep und verbraucht nur Strom im µA-Bereich
|
|
|
-
|
|
|
- - falls dies nicht funktioniert (Schaltung nicht korrekt) wird der ESP nach einigen Sekunden in den Deep Sleep geschaltet, aus dem ein ESP-01 Modul nicht mehr aufwachen kann (Schaltung des ESP-01 Moduls ermöglicht das nicht)
|
|
|
+ - Topic: Postkasten (im Code anzupassen)
|
|
|
+ - Payload (JSON-formatiert): { "event":"<event>", "Vcc":"<vcc>","Batt":"<batt>" }
|
|
|
+ - <event> = "new_post" oder "emptied"
|
|
|
+ Abhängig vom Status des Pin GPIO3. Ist dieser HIGH wird der Postkasten gerade entleert (erfordert 2. Kontakt).
|
|
|
+ - <vcc> = gemessene Batteriespannung in mV
|
|
|
+ - <batt> = Batteriestatus (OK oder LOW, minimaler Wert für "OK" durch Tests ermittelt)
|
|
|
+ - WiFi sofort wieder trennen um Strom zu sparen
|
|
|
+ - Einige Sekunden (im Code anpassbar, z.B. 20s) um Mehrfachauslösungen zu verhindern
|
|
|
+ - "Den Ast absägen auf dem wir sitzen", indem GPIO0 auf LOW gezogen wird. Das ESP-Modul ist danach im Deep Sleep und verbraucht nur noch Strom im µA-Bereich.
|
|
|
+ - Falls dies nicht funktioniert hat (z.B. Fehler in der Schaltung) wird der ESP nach einigen Sekunden programmatisch in den Deep Sleep geschaltet, aus dem ein ESP-01 Modul nicht mehr aufwachen kann, da die Schaltung des ESP-01 Moduls dies nicht ermöglicht. Aufwachen per externem Triggerkontakt ist natürlich trotzdem wieder möglich.
|
|
|
|
|
|
|
|
|
|