Blog Post

Smarter Briefkasten

Intelligenter Briefkasten: Version 1.5 – „RED-Edition“

Gimme a ticket for an aeroplane
I ain’t got time to take a fast train
Lonely days are gone, I’m a-goin‘ home
‚Cause my baby just wrote me a letter

The Letter, The Box Tops

Liebe Freunde und verehrte Briefträger, gebt es zu: Gibt es etwas schöneres als eine gute Sache noch besser zu machen? Heute werden wir unseren „mitdenkenden“ Briefkasten weiter optimieren, damit er irgendwann den Status eines Prototyps verlassen kann. Bereits jetzt ist unsere Postbox in der Lage selbständig festzustellen, ob es Postgut enthält oder nicht. Und über diesen Zustand kann er seine Herren in Echtzeit stets aktuell informieren.

Rückblick

Was ist bisher geschehen? In früheren Beiträgen (Teil 1) haben wir über die generelle Idee, Zielgruppe, den Aufbau sowie den Programm-Code des smarten Briefkastens berichtet. Auch die noch geltenden Einschränkungen des Systems haben wir in Teil 2 nicht verschwiegen. Der erste Aufbau (Version 1.0) benötigte noch eine direkte USB-Verbindung zu einem Rechner, auf dem der Code ausgeführt werden kann. In der neuesten Version 1.5 werden wir u. a. diese Einschränkung auflösen!

Aufbau der Version 1.5

Mit dem Ziel die USB-Verbindung aufzulösen, greifen wir auf den Tickerforge RED-Brick zu. Der RED-Brick ist an sich ein kompakter (4cm x 4cm), aber für seine Verhältnisse mächtiger Mini-Rechner, auf dem ein vollwertiges Linux-System läuft. Unser RED-Brick führt als „Basis“-Station die notwendige Software aus. Somit ist es nicht mehr notwendig separat einen entfernten Rechner zu betreiben. Auf die Basis-Station kommt der Master-Brick. Dieser bindet über seine Schnittstellen die Bricklets (Abstands-Sensor & Segment-Anzeige) an. Der RED-Brick verfügt leider über keine direkten Bricklet-Anbindung.

Und wie kommunizieren wir nun mit der Außen-Welt? Nun, es gibt hier wie immer mehrere Möglichkeiten: Über Funk (WLAN) oder Kabel (Ethernet). Wir halten die Kabel-Verbindung für verlässlicher und setzen daher eine Tickerforge Ethernet-Extension ein. Das beste daran: Wenn man die etwas teurere PoE-Variante wählt, muss man sich nicht mehr um die Stromversorgung kümmern. Der gesamte Stack-Aufbau wird über die Extension (durch PoE) mit der notwendigen elektrischen Spannung versorgt. Wer allerdings keinen PoE-fähigen Switch/Router Zuhause hat, benötigt zusätzlich einen PoE-Injektor, der die Spannung in das Netzwerk-Kabel (Cat5/Cat7) injiziert. Alternativ kann man auf PoE verzichten und die Hardware mit einem normalen 5V-USB-Netzteil betreiben.

Kurz vor der Inbetriebnahme des gesamten Systems müssen wir dafür Sorge tragen, dass alle Tinkerforge-Module vor allem mit dem neuen (noch unbekannten) RED-Brick zusammenarbeiten. Hierfür aktualisieren wir die interne Firmware aller Komponenten. Wir gehen wie folgt vor:

Master-Brick flashen (mind. auf Version 2.3.0) nach Anleitung:

  • Master-Brick per USB anbinden
  • Optional: Treiber installieren (wenn NICHT windows 7/8)
  • Erase-Knopf halten + Reset-Knopf drücken: LED leuchtet nicht mehr
  • Im Brick-Viewer auf „Updates/Flashing“ klicken
  • Im Tab „Brick“ COM Anschluss auswählen, Firmware „Master (x.x.x)“ auswählen und mit „Save“ bestätigen

Bricklet-Firmware aktualisieren:

  • Alle Bricklets an Master anschließen
  • Master-Brick per USB anbinden
  • Im Brick-Viewer auf „Updates/Flashing“ klicken
  • auf „Auto-Update All Bricklets“ klicken

RED-Betriebsystem aktualisieren:

  • Neuestes Fast Image herunterladen (derzeit Version 1.3) und auspacken
  • Win32 Disk Imager herunterladen und starten
  • Image (.img) auswählen auf SD-Karte schreiben mit „Write“ schreiben

Programmierung

Den eigentlichen Programm-Code haben wir nach bestem Wissen und Gewissen weiter verbessert. Dieser mag immer noch nicht ganz Perfekt sein – aber wer ist schon ein Alles-Könner und auch noch C#-Experte vor dem Herrn…?

Der neue Code ist deutlich schlanker und sorgt dafür, dass (asynchron) Meldungen über den aktuellen Zustand (leer [off], befüllt [on], gesperrt [locked]) über einen Web-Request an unseren FHEM-Home-Server gesendet werden. Der Home-Server verarbeitet diese Status-Berichte und führt ggf. weitere Aktionen aus: Sprach-Ausgabe-Meldung, Email + Pushmessage-Versand aus.

Der zusätzliche Status „gesperrt [locked]“ löst eine temporäre (5 Sekunden) Sperre/Deaktivierung des Sensors aus, kurz nachdem der Kasten geleert wurde. So werden mögliche Handbewegungen innerhalb des Sensor-Erfassungsbereichs nicht als Zustandsänderung erfasst. Somit verhindern wir mögliche Fehlalarme beim Leeren des Briefkastens.

Den kompletten Code findet ihr auf Github. Eventuelle Updates werden wir regelmäßig dort einspielen einspielen.
Einige feste Vorgaben bzw. Konstanten (Tinkerforge-UIDs, IP-Adresse/Hostname, Distanz-Ranges, etc.) sollten unbedingt vor dem Betrieb auf eure individuellen Werte im Code angepasst werden und anschließend neu kompiliert werden (Rebuild Solution)!

Das Einzige, was wir nun abschließend machen, ist die kompilierte .exe-Datei auf den RED zu laden. Mit Hilfe des Mono-Frameworks und anderer, „schwarzer Magie“ wird der C#.NET dort laufend betrieben. Die Einstellungen sollten etwa wie folgt aussehen:


Auf unserem FHEM-Home-Server haben wir eine virtuelle Dummy-Instanz für den Briefkasten eingerichtet und entsprechend den verschiedenen Status-Meldungen Symbole für das Frontend zugewiesen:

define Briefkasten dummy
attr Briefkasten devStateIcon on:message_mail off:message_mail_open locked:secur_locked undefined:unknown



Fertig! Der schlaue Briefkasten ist fertig – der Briefzusteller respektive „Fachkraft für Kurier, Express und Postdienstleistungen“ ist herzlich willkommen! 🙂

Bedenke Phlebas

Was gibt es zusammenfassend noch festzuhalten oder zu bedenken?

Die jährlichen Stromkosten der Version 1.5 „RED-Edition“ belaufen sich auf ca. 7 EUR (basierend auf 0,30 EUR / kWh) – Stromverbrauch (bei konservativer Betrachtung – unter ständiger Vollast):

  • Distance-Sensor: 6 mA
  • 4×7-Segment-Anzeige: 64 mA
  • RED-Brick: 220 mA
  • Master-Brick: 68 mA
  • Ethernet Extension (mit PoE): 175 mA

Pi mal Daumen nach Adam Riese macht das bei 5V und 24/7-Betrieb rund 24 kWh im Jahr.

Momentan machen wir uns noch über folgende Punkte Gedanken:

  • Wie lässt sich das System im Außenbereich (Outdoor) frost- und witterungsbeständig betreiben? Wie kann man die Hardware vor Hitze und Kondenswasser schützen und vor Frost isolieren?
  • Wie kann man den Sensor im Inneren besser vor Staub & Schmutz schützen? Wäre ein Licht-(Schranken)-Sensor besser geeignet?
  • Welche Probleme könnten im Dauereinsatz noch auftreten?
  • Lässt sich das allgemeine Prinzip auch auf eine heimische „Paket-Box“ á la Deutsche-Post-Paket-Kasten übertragen?

Was meinst Du dazu?

Vorschau

Wie geht es nun bei uns weiter?
Nachdem das System den Dauertest (mehrere Wochen ohne Unterbrechung) bestanden hat, wollen wir alternative, evtl. etwas kostengünstigere Konstellationen ausprobieren. Denn die „RED-Edition“ ist nämlich (im folgenden Vergleich) nicht ganz billig:

Komponente Beschreibung Kosten
Papp-Karton („Versandkartonage“) Für das Prototyp Gehäuse 3 EUR
Paketband (glatt): Für die Prototyp-Gehäuse-Konstruktion 2 EUR
RED-Brick Steuert andere Bricks und Bricklets, lässt den Code laufen 83 EUR (70 EUR RED + 13 EUR SD-Karte)
Master-Brick: Übernimmt die Kommunikation mit Sensor & Anzeige 30 EUR
Distance-Sensor-Bricklet Misst den Abstand und kommuniziert mit dem Master-Brick 13 EUR
Bricklet-Kabel Verbindung zwischen Master-Brick und Sensor Bricklet 3 EUR
4×7-Segment-Anzeige Optische Statusanzeige (optional) 9 EUR
Ethernet Master Extension (mit PoE) Stellt die Verbindung zum LAN her 60 EUR
Versand-Kosten 7
SUMME 210 EUR

Günstiger könnte man mit der „Espruino-Edition“ davonkommen:
Espruino ist ein winziges Board, das ca. 30 EUR kostet und mit JavaScript programmiert werden kann. Daneben kann es mit einer Batterie betrieben werden und mit Sensoren und Addons erweitert werden. Es kann also z.B. mit einem Netzwerk-Modul eins heimische (W)LAN eingebunden werden. Ein Ultraschall-Abstands-Sensor existiert auch hier.

Espruino-Board

Diese Einzelteile werden wir in nicht allzu ferner Zukunft in unsere smarte JavaScript-Post-Box einbauen:

Komponente Beschreibung Kosten
Papp-Karton („Versandkartonage“) Für das Prototyp Gehäuse 3 EUR
Paketband (glatt): Für die Prototyp-Gehäuse-Konstruktion 2 EUR
Espruino Steuert andere Sensoren und Anzeigen an 33 EUR
WIZnet WIZ550io Stellt die Verbindung zum LAN her 21 EUR
Distance-Sensor (HC-SR04) Misst den Abstand 13 EUR
Pins (ohne Löten) + Kabel Verbindung zwischen Espruino und Modulen 10 EUR
Crius C0-16 display (128×64) Anzeige Optische Statusanzeige (optional) 9 EUR
Versand-Kosten (Pauschale) 20
SUMME 111 EUR

Bleibt uns gewogen und abonniert ggf. unseren Feed, um auf dem Laufenden zu bleiben!

Comments (3)

  1. Christian Montag, 23UTCMon, 23 Mar 2015 22:50:19 +0000 23. März 2015 at 22:50 Antworten

    Hmm, habt ihr schon einmal dran gedacht dass ihr bei der PoE Version einen direkten LAN Zugriff außerhalb des Gebäudes habt? Heißt: wer (zB in Eurem Urlaub) den Briefkasten demontiert und an das LAN Kabel kommt, muss kein WLAN-Passwort mehr knacken oder so, sondern ist direkt mittendrin und live dabei. Hier würde ich ein VPN oder ein VLAN vorsehen, damit „aus dem Briefkasten“ kein Zugriff auf andere Komponenten, zB den FHEM Server möglich ist.

    1. smarthomebau.de Mittwoch, 25UTCWed, 25 Mar 2015 08:22:46 +0000 25. März 2015 at 08:22 Antworten

      Christian, das ist ein berechtigter Einwand! Grundsätzlich machen wir uns schon länger Gedanken zu diesem Thema (siehe auch. http://smarthomebau.de/mind-map/). Die Problematik wollen wir ganzheitlich angehen und die Absicherung des Heim-Netzes gegen unberechtigte Zugriffe von Außen in einen künftigen Beitrag genauer beschreiben. Das betrifft auch die Visu, die auch von Außen erreichbar sein soll. Die Lösung wird (nach heutigem Stand) wohl auf ein VPN hinauslaufen. Gleichzeitig werden wir auch vor Pseudo-Absicherungen wie MAC-Filter warnen.

  2. Intelligenter Briefkasten: Version 2.0 – „Arduino-Edition“ | smarthomebau.de Samstag, 04UTCSat, 04 Feb 2017 17:33:44 +0000 4. Februar 2017 at 17:33 Antworten

    […] Wir haben schon mehrfach sowohl über die Idee dahinter berichtet, als auch die ersten Versuchsaufbauten mit Tinkerforge-Bausteinen […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwandte Themen

Taster ohne Abdeckung
Taster-Konzept: Praktischer Versuchsaufbau (Hands-On)

So, Freunde der Sonne: Wir haben ja bereits vor langer Zeit versprochen das Taster-Konzept…

Intelligenter Briefkasten: Version 2.0 – „Arduino-Edition“

Wer unseren bescheidenen Blog verfolgt, kennt unser Lieblings-Projekt: Den „Intelligenten Briefkasten“. Wir haben schon…

Berührungslos Schalten – Kapazitive Sensoren

Liebe Freunde der beeindruckenden Features, heute haben etwas Bemerkenswertes für euch, das nicht jeder…

KNX-Testaufbau (Mini-Testboard) mit Raspberry Pi und knxd

Wie ihr vielleicht in einem früheren Beitrag schon gelesen habt, haben wir uns für…

Raspberry Pi: Internet-Geschwindigkeit-Tests automatisieren (kurz & gut)

Der kostengünstige Einplatinen-Rechner Raspberry Pi lässt sich für viele Dinge (miss-)brauchen. Mitunter messen wir…

Smart E-Mailbox
Schatz, du hast Post! Intelligenter Briefkasten 1.0 [TEIL 2/2]

Bereits im ersten Teil des Posts haben wir den ersten Prototypen des Smarten Briefkastens…

Smart Mail Box
Schatz, du hast Post! Intelligenter Briefkasten 1.0 [TEIL 1/2]

Heute gibt es eine Weltpremiere! Wir stellen heute einen vernetzten Briefkasten vor, der selbständig…