Der Briefkasten funkt(-ioniert)

Nachdem ich in einem meiner letzen Posts mein Projekt gestartet hatte um den Briefkasten ins 21. Jahrhundert zu nehmen. Konnte ich mit der ersten Stufe erste Erfahrungen sammeln.

Die aktuelle Installation funktioniert - zugegeben etwas überraschend - ohne Probleme. Es gab weder Fehlsignalisierungen noch Ausfälle des Systems. Und man fragt sich schon nach kurzer Zeit, wie man ohne die Signal-LED überhaupt leben konnte ;-)

Im zweiten Schritt habe mich mich nun hingesetzt und zusätzlich zur Signal-LED die Information per Funk (433 MHz) an meinen Raspberry Pi zu senden. Dabei musst ich aber zu Beginn die Erfahrung machen, dass die Sende- und Empfangsmodule, welche es bei Ebay für weinige Euros zu erwerben gibt, eine miserable Reichweite haben. Daran hatten auch die Antennen nichts geändert. Eine halbwegs funktionierende Variante habe ich mit den folgenden Komponenten erreicht:

Sendemodul:

  • RF 433 Mhz Sender-Modul Kit
  • Link zu Ebay
  • Vorteil: Das Modul kann ich ohne Probleme in die vorhandene Schaltung integrieren und die gesamte Einheit bleibt simpel.
  • Nachteil: Benötigt zusätzliche 9V - Spannungsquelle

Empfangsmodul:

  • Superheterodyne Empfänger 433 Mhz
  • Link zu Anbieter Makershop
  • Vorteil: Wesentlich bessere Empfangseigenschaften
Damit waren die einzigen Änderungen im Briefkasten nur die Integration des Sendemoduls sowie die zusätzliche 9V - Spannungsquelle. Die fertige Schaltung sieht wie folgt aus:

Schaltung

Mit den oben genannten Komponenten konnte ich eine Reichweite von ca. 20 Metern erreichen. Das ist auch nicht super viel, allerdings genügt es für mich gerade so dass der Raspberry Pi im Haus stehen kann. Außerdem befindet sich das Sendemodul inkl. Antenne auch im Briefkasten und das Signal muss zusätzlich einige Wände überwinden - es gibt also keine Sichtverbindung.

Sofern die Einwurfklappe nun also geöffnet ist, sendet der Transmitter Signale an meinen Raspberry Pi. Die Events werden in ein MQTT-Topic geschrieben. Aktuell habe ich einen Consumer angebunden, welche die Events in eine InfluxDB schreibt. Das ermöglicht mir eine Statistik (z.B. mittels Grafana) über das Postaufkommen zu erstellen. Als nächstes folgt dann noch der Mailversand an meine E-Mail-Adresse. Dafür werde ich einen zweiten Consumer an das Topic konfigurieren.

Eine Herausforderung war noch, dass die Einwurfklappe etwas länger geöffnet ist und daher mehrere Events übertragen werden. Um das zu verhindern, werden die Evens für eine Minute gepuffert und erst danach das Event in die Queue publiziert.

Das Quellcode-Repository für den Python-Code befindet sich auf Github