Smart Mirror2


Wie ich einen Smart Mirror baute und warum er besser sein könnte
Honeyport | 2016 Smart Mirror

Eines der beliebtesten Bastlerprojekte in den letzten zwei Jahren war vor allem der Smart Mirror: ein Spiegel, der neben der Uhrzeit auch das Wetter anzeigen kann. Da es aber so ein Gerät noch nicht wirklich im Handel gibt, kommt man derzeit nicht drum herum, selbst aktiv zu werden, will man ein solches zukunftsträchtiges Gerät sein Eigen nennen. Der vermeintlich erste Smart Mirror stammt von Michael Teeuw. Sein „Magic Mirror“ (bei GitHub erhältlich) stellte die Basis von so ziemlich allen weiteren Bastelprojekten dar, die sich im Internet finden lassen. Die ursprüngliche Idee war genial, die Ausführung aber recht teuer, aufwendig und klobig.

Erst Max Braun, ein Ingenieur bei Google, brachte frischen Wind in die Angelegenheit, als er seinen Smart Mirror präsentierte. Im Gegensatz zu Teeuw unterlegte Braun nur einen kleinen Bereich des Spiegels mit einem Display. Auf diese Art hat Braun einen größeren Spiegel für weniger Geld bekommen, der zudem wesentlich aufgeräumter und dadurch auch ansehnlicher wirkt. Gibt man sich mit einer kleineren Anzeige zufrieden und nutzt die passende Hardware, lässt sich so auch ein wesentlich schlankeres Exemplar erstellen als die doch eher klobige Variante von Teeuw.

Smart Mirror Full Front

Für meinen Smart Mirror habe ich daher die Neuerungen von Braun übernommen und mit ein paar Bauteilen ohne viel Handarbeit ein respektables Ergebnis gezaubert. Für das Frontend habe ich nicht auf den Quellcode von Teeuw zurückgegriffen, da ich meine eigenen Vorstellungen verwirklichen wollte.

Folgende Informationen zeigt mein Spiegel an:

  • Uhrzeit und Datum
  • aktuelles Wetter, Wettervorhersage und Regenwahrscheinlichkeit
  • Innen- und Außentemperatur
  • Kalendereinträge und Geburtstage
  • die nächsten Bundesligaspiele meines Vereins
  • Verspätung der nächsten Bahn in Minuten
  • Zahl der täglichen Beiträge in einem Blog, den ich verfolge

Das Prinzip ist bei allen Smart Mirrors das Gleiche: ein Bildschirm wird hinter einen halbdurchlässigen Spiegel (auch Spionspiegel genannt) platziert. Diese Art Spiegel reflektiert einen Großteil des Lichts, lässt aber auch einen bestimmten Anteil hindurch. Zeigt der Bildschirm weiße Schrift auf schwarzen Grund, ist von allem hinter dem Spiegel lediglich die weiße Schrift zu sehen. Zur Realisierung der Anzeige wird in der Regel eine Webseite genutzt, die in einem Browser geöffnet wird, der sich auf einem Microcomputer befindet. Der Browser befindet sich dabei im Kiosk-Modus (also im Vollbildmodus ohne die Möglichkeit der Interaktion), der Mauszeiger wird versteckt.

Smart Mirror Front closer

Raspberry Pi Zero und Hardware aus China

Für die technische Realisierung habe ich ebenfalls wie Braun auf das LCD Controller Board aus China gesetzt, an das man ein LCD-Panel über einen LVDS-Port anschließen kann und diverse Video-Ausgänge erhält. Brauns Smart Mirror war so dünn, dass der Spiegel in die Tür eines Badezimmerschrankes passte. Das funktionierte, weil er den Rest der Hardware einfach in das Innere des Schrankes verlegte. Da die Technik bei meines Smart Mirros aber komplett in den Spiegel integriert werden sollte, wird die nötige Tiefe des Rahmens von dem höchsten Bauteil (das LCD Controller Board) plus der Dicke des Spionspiegels bestimmt. In meinen Fall passte alles locker in einen Rahmen von Ikea.

Einen Spionspiegel im Internet zu finden erwies sich als die schwerste Aufgabe. Bei meinen Funden landete ich bei Preisen zwischen 80 € und 500 €. Hier lohnte sich allerdings tatsächlich der Gang zum Spezialisten: Meinen Spionspiegel habe ich in den Maßen 50 cm x 70 cm bei einem örtlichen Glaser für lediglich 42,50 € bekommen.

Smart Mirror Calendar with weather forecast

Der Browser und die Webseite wird in meinen Fall auf einem Raspberry Pi Zero gehostet. Die Zwergenvariante des Raspberry Pis, die aktuell schwer zu bekommen ist, erscheint wie gemacht für diese Aufgabe, da der Pi extrem platzsparend und leicht ist, und dennoch alle nötigen Anschlüsse mitbringt. Wer derzeit keinen PI Zero bekommt, kann natürlich auch auf die herkömmliche Variante zurückgreifen. Der Mini-Computer lässt sich praktischerweise über den USB-Port des LCD Controller Boards mit Strom versorgen. Das macht ein zweites Kabel für die Stromversorgung überflüssig. Über ein Wlan-Stick habe ich den Raspberry Pi mit dem Netzwerk verbunden. Die Ausgabe des Video-Signals erfolgt über ein HDMI-Kabel.

Für das Display habe ich nach einem möglichst hellen und großen Notebook-Bildschirm mit einem 40 Pin LVDS-Port in FULL-HD-Auflösung gesucht. Bei Ebay konnte ich das Modell N173HGE-L21 (17,2 Zoll, 300 cd/m², 1920(RGB)×1080 , FHD) für wenig Geld (ca. 15 €) erwerben. Damit der Spiegel auch die Zimmertemperatur anzeigen kann, habe ich zusätzlich einen Temperatursensor an den Pi angeschlossen. An dieser Stelle war ein kleinwenig Lötarbeit nötig. Die Ganze Technik musste dann nur noch verkabelt und auf dem mitgelieferten Bilderrahmenboden (und schließlich am Rahmen) befestigt werden.

Hier die Liste der benötigten Materialien:

  • IKEA RIBBA Rahmen in schwarz (50x70cm)
  • Spionspiegel
  • LCD controller Board
  • Raspberry PI Zero + Stiftleiste
  • Temperatursensor DS18B20 und Widerstand (4,7 kOhm)
  • WLAN-Stick
  • MiniHDMI-to-HDMI-Kabel
  • Micro USB to USB Kabel (für die Stromversorgung)
  • Micro USB to USB Adapter
  • Netzteil
  • Jumper Kabel

Den Smart Mirror mit einer Fernbedienung einschalten

Dem Controller-Board liegt zusätzlich eine Bedienungsleiste mit diversen Tasten bei. Dieses sollte mitverbaut werden, um den Smart Mirror an- und ausschalten zu können. Zusätzlich lässt sich das Board aber auch über eine mitgelieferte Fernbedienung steuern. Da Infrarotstrahlen den Spionspiegel ohne Probleme passieren können, kann man den Infrarotsensor perfekt hinter dem Spiegelglas verstecken. Mit diesen Bauteilen konnte ich meinen Smart Mirror schon für ca. 140 € realisieren.

Smart Mirror back

ReactJS und diverse APIs

Die einzelnen Informationen, die auf dem Spiegel angezeigt werden, stammen aus verschiedensten Quellen. Datum, Uhrzeit und die Zimmertemperatur liefert der Pi selbst. Da ich keine Wetterstation im Garten habe, der ich die gewünschten Informationen über das Wetter entlocken könnte, beziehe ich die Wetterangaben über eine Wetterstation in nächster Nähe. Die dazugehörige API bietet wunderground.com. Die Fußballinformationen stammen von openligadb.de.

Alle weitere Schnittstellen mussten eigenständig implementieren werden. Verwundert hat es mich, dass die Deutsche Bahn so rückschrittlich ist, keine API für ihre Zuginformationen anzubieten. Glücklicherweise bleibt die URL für eine einfache (aber nicht für eine komplexe) Fahrzeitensuche identisch, so dass ich nur die Zeitinformationen in der URL aktualisieren und den gelieferten HTML-Code nach den nötigen Informationen zur Verspätung und Abfahrtszeit parsen brauchte. Für meinen Kalenderserver habe ich ebenfalls eine API gebastelt, die mir die relevanten Inhalte in JSON ausgibt. Ebenso bin ich mit dem Blogbeitragszähler verfahren, bei dem ich über ein Skript die Inhalte aus dem RSS-Feed des Blogs in JSON umwandle.

Um die einzelnen Inhalte nun über eine Webseite abzurufen und aktuell zu halten, bot sich Facebooks React an. Jedes Feature des Smart Mirros ist eine eigenständige Componente, die in der Regel in einem bestimmten Zeitintervall aktualisiert wird.

Kein Energiesparmodus, miserable Lichtstärke

Was ich bisher bei noch keinen Spiegelbauer gelesen habe, ist, dass sich die Schrift auf dem Spiegel nur bei schwachen Lichtverhältnissen wirklich gut erkennen lässt. Mein Display übersteigt sogar die Helligkeiten der verwendeten Displays von Braun (250 cd/m²) und Teeuw (250 cd/m²), dennoch würde ich die Lesbarkeit als miserabel einstufen. Bei mir könnte es allerdings auch am verwendeten Spiegel liegen, der ggf. das Licht stärker filtert als die Spiegel der anderen Bastler. Trotzdem würde ich eher darauf tippen, dass smarte Spiegel in dunklen Fluren oder Badezimmern besser aufgehoben sind als in einem Zimmer mit vielen Fenstern.

Was mich aber noch mehr ärgert ist die Tatsache, dass das China Controller Board keinen Energiesparmodus besitzt. Schaltet der PI sich in einen solchen Modus, zieht das Display nicht mit. Die Anzeige wird zwar schwarz, die Hntergrundbeleuchtung bleibt aber an und raubt dem ganzen so den gewünschten Spareffekt. Die einzige Möglichkeit wäre, von der Zeitschaltuhr des Boards Gebrauch zu machen und den Bildschirm nach einer bestimmten Zeit automatisch auszuschalten. Dies ist allerdings bei einer Startzeit von ca. drei Minuten nicht wirklich eine Option. Meine Idee, einen Bewegungssensor zu integrieren und den Bildschirm erst dann anzuschalten, wenn tatsächlich jemand vor ihm steht, habe ich daher verworfen.

Fazit

Der Spiegel war auf Grund der Energiesparproblematik bisher viele Tage ausgeschaltet und hat auch noch keinen richtigen Platz in der Wohnung gefunden. Ich halte den Smart Mirror dennoch für eine gute Erfindung im Bereich des IOT, die vermutlich in vielen Jahren zum Standard-Inventar eines jeden Badezimmers gehören wird. Dort sehe ich auch den Haupteinsatzort: In den Badezimmerspiegel beim Zähneputzen die Nachrichten, die Luftfeuchtigkeit und das Wetter checken, während man darauf wartet, dass die magischen drei Minuten abgelaufen sind, die alle Zahnärzte empfehlen. Um solch einen Timer starten zu können, würde es dann aber zumindest den Hauch einer Interaktionsmöglichkeit mit dem Spiegel bedürfen. Aber über ein Zahnputzbecher mit RFID-Chip und dem dazugehörigen Lesegerät am Waschbeckenrand würde mir dafür sogar schone eine bequeme Lösung einfallen.


2 Comments

  1. Cooles Projekt. Aber könntest du den Pi nicht direkt ans Netzteil anschließen und das Controllerboard nur bei bedarf aktivieren? (also wenn pi nicht schläft) Ist dann sicher etwas Lötarbeit… Die Suche nach einem Einwegspiegel ist aber wirklich das größte Problem an diesem Projekt :-/

    1. Vielen Dank.
      Meinst du, das Controller Board über den PI zu einzuschalten? Da würde mir keine Möglichkeit für einfallen, wäre aber theoretisch die Lösung für mein Problem. Mal sehen, vielleicht geht das tatsächlich.
      Für den Einwegspiegel fragst du am besten beim örtlichen Glaser nach – ich hatte bei dreien gefragt, und immerhin zwei hätten mir einen verkauft.

Schreibe einen Kommentar

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

*

*