# Postkastl

Postkasten-Benachrichtigung via MQTT-Version mit ESP8266 (Arduino)
Verwendet wird ein ESP-01 Modul, das kleinste ESP8266-Modul. 

Libraries: ESP8266WiFi, PubSubClient



## Stromversorgung

Es hat sich gezeigt, dass für die direkte Versorgung, und für lange Batterielaufzeit, 2 Stück AA-Lithium-Batterien am geeignetsten sind. Diese liefern auch bei -10°C noch genug Strom und halten lange eine hohe Ausgangsspannung. Batterielaufzeit damit deutlich über 1 Jahr. 

Li-Ion Zellen eignen sich weniger. Mit Diode in Serie zur Verringerung der Spannung zwar möglich, hat aber Nachteile (die Spannung bleibt zu hoch oder wird zu niedrig, bei etwas zu hoher Versorgungsspannung zieht der ESP signifikant mehr Standby-Strom, was die Batterielaufzeit deutlich verringert. Mit (den meisten) Spannungsregler(n) wäre der Ruhestrom sowieso zu hoch. 

Normale AA-Batterien funktionieren zwar, liefern aber unter 0°C zu wenig Strom. 

NiMH Akkus (auch solche mit geringer Selbstentladung) haben schon Vollgeladen eine Grenzwertig geringe Ausgangsspannung und versagen ebenfalls bei niedrigen Temperaturen gänzlich. 

Details siehe: [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)
 - WiFi-Verbindung aufbauen
 - MQTT Broker verbinden und publishen
	Topic: Postkasten
	Payload: { "event":"<event>", "Vcc":"<vcc>","Batt":"<batt>" }
		<event> = "new_post"
		<vcc>   = Batteriespannung in mV
		<batt>  = Batteriestatus (OK oder LOW)

	NEU ab Version 2: 
		<event> = "new_post" oder "emptied"
		Abhängig vom Status des Pin GPIO3 - ist dieser HIGH wird der Postkasten gerade entleert (erfordert 2. Kontakt)

 - 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)



## Schaltung

![](Schematic/Schematic_Postkastl_ESP01.png)

