Postkasten-Benachrichtigung über MQTT mit ESP8266 / Letterbox notification via MQTT using ESP8266

Eines meiner ersten ESP8266-Arduino Projekte. Primitiver Aufbau, primitiver Code. Aber hey, es funktioniert ;-)

FloKra 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=4) %!d(string=hai) anos
Postkastl_MQTT 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Schematic 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Schematic-Sim 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Berechnung Batterielebensdauer Lithiumbatt.xlsx 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Berechnung Batterielebensdauer.xlsx 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Messung_Stromaufnahme_2016.txt 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
Messung_Stromaufnahme_2021.txt 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos
README.md 6cbedb04b5 initial version (v5, older versions not in GIT) %!s(int64=3) %!d(string=hai) anos

README.md

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":"", "Vcc":"","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