Unser Briefkasten ist ca. 5m außerhalb der Wohnung in eine Mauer eingelassen. Da ich laufend ungeduldig auf kleine Elektroniklieferungen warte, ist es, besonders bei Regen, unangenehm häufig in den Briefkasten zu schauen. Also musste dafür eine Lösung her, die folgende Wünsche erfüllen sollte:
Auf Grund der Erfahrungen mit Arduino und ESP‘s sollte ein ESP8266 mit Anschluss für eine externe WLAN-Antenne benutzt werden (ESP-07 oder Wemos D1 Mini Pro), der die Meldung per MQTT an den ioBroker übermittelt. Bei Öffnen der Einwurfklappe wird ein Reedkontakt (Typ NC) geschlossen, da sich der an der Klappe befestigte Magnet vom Reedkontakt entfernt. Das Programm stellt als Erstes sicher, dass ein Reedrelais die Spannungsversorgung des ESP aufrecht erhält, bis die WLAN-Verbindung aufgebaut ist und die MQTT-Meldung „Post vorhanden“ übertragen wurde. Danach wird das Relais wieder geöffnet und der ESP in den Deepsleep geschickt, falls die Klappe weiterhin geöffnet bleibt (z.B. halb eingeschobene Zeitung o.ä.). An der Briefkastentür sind zwei Reedkontakte befestigt, ein Kontakt versorgt beim Öffnen wieder die Schaltung mit Strom (das Halterelais zieht an… siehe oben), der zweite Kontakt wird im Programm abgefragt, falls er geschlossen ist, wird die Meldung „Post vorhanden“ zurückgesetzt. Durch den Einsatz von Reedkontakten zum Einschalten der Elektronik fließt KEIN Ruhestrom, nur solange die Meldung verschickt wird und falls die Einwurfklappe blockiert ist wird Strom verbraucht. Die Akkuspannung wird bei jeder Aktivierung gemessen und an den ioBroker übertragen, damit der Akku ggf. geladen werden kann. Die Meldung, falls die Einwurfklappe geöffnet wurde erzeugt mit Hilfe eines kleinen Scripts im ioBroker eine Push-Nachricht per Telegram und lässt über eine Alexa-Einbindung auf unserem Sonos One in der Küche alle 15 Min. die Meldung „Wir haben Post“ ertönen, bis der Briefksten geleert wurde (hintere Tür geöffnet wurde).
Um Wandlungsverluste usw. auszuschließen wird der ESP8266 etwas außerhalb seiner Spezifikation (2,6–3,6 Volt) direkt von einem LiIon-Akku mit einer Schottky-Diode in Serie gespeist, hier liegen bei vollem Akku ca. 3,9 Volt an. Bis zum Verfassen dieser Beschreibung ist die Akkuspannung in 3 1/2 Monaten um 0,25 Volt gesunken, dass lässt eine Akkulebensdauer von 1 Jahr und länger erwarten. Als Akku wird ein LiIon-Akku Typ 16340 mit 900mAh eingesetzt.
Das Programm basiert im Wesentlichen auf dem MQTT-Beispiel und benutzt die beiden Libraries „ESP82WiFi.h“ und „PubSubClient.h“. Damit der ESP möglichst schnell bereit ist, läuft das Programm mit 160MHz, diverse Debugausgaben wurden auskommentiert, aber im Code belassen.