Das Projekt „Magic Mirror“ stand schon seit geraumer Zeit auf meiner Todo-Liste. Aber erst mit dem Ansteigen der Anzahl meiner SmartHome-Komponenten und dem damit verbundenen Wunsch, die Zustände der Sensoren und Aktoren repräsentativ darzustellen, war die Motivationsschwelle erreicht.
Schon länger schlummerte mein alter 21″ NEC Monitor (Multisync LCD2170NX) in einem Regal im Keller, den ich genau für diesen Zweck aufgehoben hatte und der so vor dem Ruhestand auf dem Elektroschrott bewahrt wurde. Die Auflösung des Monitors ist mit 1600×1200 Pixel für den Zweck ausreichend und Dank seiner hohen Blickwinkelstabilität (176° horizontal und vertikal) eignet er sich hervorragend für einen Magic Mirror. Das Display im Monitor (ohne Plastikrahmen) ist genau 35 x 45,6 cm groß. Da ich den Spiegel im Eingangsbereich des Hauses aufhängen wollte, um so die wichtigsten Informationen beim Betreten und Verlassen des Hauses im Blickfeld zu haben, sollte er aber größer ausfallen, um auch gleichzeitig als Garderobenspiegel dienen zu können. Daher plante ich den Spiegel in der doppelten Größe des Displays, also 70 x 45,6 cm.
Nachdem die äußeren Maße fest standen, ging es um die inneren Werte. Ein Raspberry Pi ist mit seinem geringen Anschaffungskosten, niedrigen Stromverbrauch und seinen GPIO (general purpose input/output) Kontakten geradezu prädestiniert dazu, das Herzstück eines Magic Mirrors zu sein.
In den meisten mir bekannten Magic Mirror Projekten steckt deshalb der Raspi, so auch bei mir. Zum Zeitpunkt des Projekts war der Raspberry Pi 3 B+ das aktuellste Modell, also kam dieses zum Einsatz. Inzwischen ist Raspberry Pi 4 B aktuell. Der NEC Monitor hat schon seine Jährchen auf dem Buckel und ist mit bis zu 66 Watt Stromverbrauch nicht gerade der sparsamste seiner Zunft. Darum sollte auch ein Bewegungsmelder zum Einsatz kommen, der den Monitor nur aktiviert, wenn auch jemand vor dem Spiegel steht. Außerdem habe ich mir noch etwas überlegt, was ich so bisher noch bei keinem magischen Spiegel gesehen habe. Ich wollte zwei der vier USB-Anschlüsse des Raspi nach außen führen, um bei Bedarf Maus und Keyboard anschließen zu können, ohne den Spiegel zu demontieren. Wie sinnvoll das Ganze dann im täglich Gebrauch ist, wird sich noch zeigen müssen.
Bildschirm und Raspi waren also gesetzt, fehlte noch die wichtigste Komponente eines Magic Mirror, nämlich der richtige Spiegel. Etwas Recherche und Empfehlungen anderer Zauberspiegelenthusiasten führten mich schließlich zu Brigla wo ich mir ein Musterset mit verschiedenen Spiegeln bestellte. Nach einigen Tests fiel meine Wahl auf den Mirropane Chrome Spy 6 mm, der im Zusammenspiel mit meinem Monitor für mich das beste Ergebnis erzielte. Das Spiegelbild war ausreichend für einen Garderobenspiegel. Gleichzeitig waren Lesbarkeit und Helligkeit des Monitorbildes sehr gut. Selbst bei Lichteinfall durch die Eingangstür war der Spiegel noch lesbar.
Als erstes wurde der Monitor von seinem Plastikgehäuse befreit und in seine Komponenten zerlegt: Display, Steuereinheit und Netzteil. Dies ist notwendig, um die Komponenten nebeneinander statt hintereinander im Spiegel verbauen zu können. So kann der Spiegel möglichst flach gehalten werden. Dazu war es allerdings auch notwendig, die Kabel für die Hintergrundbeleuchtung mit entsprechenden Kabeln zu verlängern, um Display und Steuereinheit getrennt im Gehäuse zu verbauen.
Zum Einsatz kam hier ein farbiges Litzensortiment, was die Verwechslungsgefahr einzelner Kabel reduziert und Lüsterklemmen, welche per Powerstrips fixiert wurden. Das Signalkabel von der Steuereinheit zum Display war glücklicherweise bei entsprechender Platzierung der Komponenten lang genug. Eine Verlängerung wäre aber auch hier mit etwas mehr Aufwand möglich gewesen.
Das Gehäuse selbst habe ich mit Holz aus dem Baumarkt gefertigt. Dabei kamen „Saunalatten“ oder auch Saunaleisten zum Einsatz, weil sie besonders widerstandsfähig gegen Feuchtigkeit und Temperaturschwankungen sind und außerdem eine optisch ansprechende Maserung aufweisen. Aufgrund der geringen Wärmeleitfähigkeit dieses Holzes sollte man aber unbedingt Lüftungsschlitze- oder Löcher im oberen Teil des Gehäuses vorsehen, die für den Abtransport der Abwärme des Bildschirms bzw. Netzteils sorgen können. Da ich dunkles Holz sehr mag, habe ich das Holz noch mit der japanischen Technik Yakisugi behandelt, also „abgeflammt“ und gebürstet. Das hebt die Struktur des Holzes deutlicher hervor und verleiht ihm, wie ich finde, eine äußerst edle Optik. Wer eher helles Holz mag, kann die Latten auch unbehandelt lassen oder ölen, wachsen oder streichen. Der Kreativität sind hier keine Grenzen gesetzt. In den fertigen Rahmen kommt dann der Spiegel.
Im nächsten Schritt wurde das Display im Gehäuse befestigt. Dazu kam biegbares Lochband aus dem Baumarkt zum Einsatz. Die nicht vom Display bedeckten Teile des Spiegels wurden mit schwarzem Kartonpapier abgedeckt, um eine optimale Reflektion des Spiegels zu gewährleisten. Darauf kam als Befestigungsunterlage für die Komponenten eine dünne MDF-Platte, welche mit Winkeln am Gehäuse fixiert wurde. Display und restliche Komponenten wurden durch eine weitere Leiste mit Lüftungs- und Kabeldurchlässen im Gehäuse voneinander getrennt, welche dem Bildschirm zusätzlichen Halt und dem Gehäuse mehr Stabilität verleiht.
Zur Stromversorgung habe ich im unteren Teil eine Kaltgeräte-Buchse verbaut, an welche das Bildschirmnetzteil direkt und eine besonders flache Eurosteckdosenleiste für das Netzteil des Raspi angeschlossen wurde. Denkbar wäre hier auch, die Steckdosenleiste weg zu lassen und das Netzteil des Raspi zu öffnen und ebenfalls direkt anzuschließen. Ebenfalls im unteren Teil des Gehäuses wurde der Bewegungssensor verbaut.
Das hat zwei Vorteile: Zum einen ist der Sensor unsichtbar, wenn man vorm Spiegel steht und „stört“ nicht die Optik. Zum anderen reagiert er so nur, wenn man sich dem Spiegel auf ca. 1m nähert. Verbunden wurde der Sensor mittels Steckbrücken mit den GPIO Ports des Raspi. Ein Python Skript schaltet den Monitor bei Bewegung ein und nach 5 Minuten wieder aus.
Am linken, oberen Rand des Gehäuses habe ich zudem den Schalter des Monitors nach außen geführt. Als Schalter kam ein einfacher für 230V/16A zugelassener Wippschalter zum Einsatz. Das ist nicht zwingend für die Funktion des Spiegels notwendig, hat aber den Vorteil, dass man das Display getrennt vom Raspi abschalten kann, wenn z.B. auf dem Raspi weitere Dienste laufen. Und wie bereits erwähnt, habe ich 2 USB-Anschlüsse im Gehäuse verbaut, um so von außen Tastatur und Maus anschließen zu können. Hierfür kamen zwei USB-Buchsen im Rundgehäuse zum Einsatz, passend zum Spiegelgehäuse in schwarz, welcher sich ideal in ein Bohrloch gleicher Größe versenken und verschrauben lässt.
Verbunden wurden die USB-Buchsen mit einem USB-„Druckerkabel“ mit dem Raspi, also einem USB-Kabel mit jeweils einem Typ A und Typ B Stecker. Da ich mich platztechnisch hier etwas verschätzt hatte, musste ich hier für einen USB Anschluss auf ein abgewinkeltes Kabel zurückgreifen. Zuletzt wurde noch die Steuereinheit mittels eines kurzen HDMI auf DVI Kabels mit dem Raspi verbunden und dieser wiederum mit einem speziellen flachen Netzteil in die Steckdosenleiste gesteckt.
Falls möglich habe ich die Platinen der Komponenten auf der MDF-Platte festgeschraubt oder alternativ mit Heißkleber fixiert. Zur Fixierung der Kabel kamen selbstklebende Kabelklemmen und Klebesockel mit Kabelbindern zum Einsatz, sowie Isolierband. Als Gehäuserückwand kamen wieder 2 dünne MDF-Platten zum Einsatz, jeweils mit einem Lüftungsschlitz. Zum Aufhängen des Spiegels habe ich 2 Schwerlast-Aufhänger, auch als Möbelverbinder bekannt, verwendet. Als Stromkabel dient ein klassisches Kaltgerätekabel, der Optik wegen allerdings in Weiß.
Nun wurde der Raspi mit einer 16 GB microSD Karte bestückt, auf der Raspbian als Betriebssystem aufgespielt wurde. Zusätzlich kommt die Software MagicMirror² zum Einsatz, welche speziell für diesen Zweck entwickelt wurde und jede Menge verschiedene Module mitbringt, vom Wetter über Kalender hinzu Nachrichten und Börsenkursen. Und natürlich SmartHome. Für Homematic gibt es zwar schon einige Module, allerdings entsprach keines davon zu 100% meinen Vorstellungen, weshalb ich ein eigenes Modul entwickelt habe, welches hier zu finden ist.
Beim Verlassen der Wohnung habe ich nun sofort das aktuelle Wetter und die Vorhersage im Blick. Wetterwarnungen informieren mich über bevorstehenden Eisregen oder Orkanböen. Ich sehe die Reichweite meines Autos und werde gewarnt, falls noch Fenster im Haus geöffnet sind. Beim Betreten sehe ich, ob Post im Briefkasten darauf wartet entnommen zu werden und ob meine Katze daheim ist oder sich draußen rumtreibt. Insgesamt bin ich äußerst zufrieden mit meinem MagicMirror und erfreue mich täglich daran.
An dieser Stelle noch eine Warnung: Arbeiten mit elektrischem Strom, insbesondere 230V, sollten dem Fachmann überlassen werden. Es besteht Lebensgefahr durch Stromschlag! Falsch angeschlossene Kabel können zu Kurzschluss und einem Brand führen. Man sollte genau wissen, was man tut oder einen Fachmann zu Rate ziehen.
Jedem, der sich selbst einen Smart Mirror bauen möchte, kann ich nur empfehlen, sich im Netz umzusehen. Es gibt viele Anleitungen und Videos im Internet zu finden, wo man sich Inspirationen und Hilfestellung holen kann. Hier noch meine Materialliste, falls sich jmd. an meinem Modell orientieren möchte:
1 alter 21″ NEC Monitor (Multisync LCD2170NX)
1 Mirropane Chrome Spy 6 mm Spiegel
1 Raspberry Pi 3 B+ (inzwischen ist der Nachfolger erhältlich Raspberry Pi 4 B)
1 USB-Netzteil für Raspberry Pi 3 B+ (hier für Pi 4 B)
1 Kühlkörper Set für Raspberry Pi 3 B (hier für Pi 4 B)
1 SanDisk 16 GB microSD Karte
1 PIR Bewegungssensor Modul
1 Steckbrücken Kabelsatz
1 Litzensortiment, farbig
1 Packung Lüsterklemmen
1 Sortiment Isolierband, farbig
1 HDMI auf DVI Adapterkabel
1 USB Kabel Typ A auf Typ B
1 USB Kabel Typ A auf Typ B, abgewinkelt
2 USB Buchsen im Rundgehäuse
1 Wippschalter 230V/16A
1 Eurosteckdosenleiste, flach
1 Kaltgeräteeinbaustecker
1 Kaltgerätekabel, weiß
2 Saunaleisten für den Rahmen bzw. das Gehäuse, 20x50x2400
1 Holzleim
1 MDF-Platte (daraus 3 Teile in der benötigten Größe gesägt)
1 Packung schwarzes Kartonpapier
1 Schraubensortiment (ich empfehle Spax, Fischer oder Connex)
1 Rolle Lochband
1 Sortiment Winkelverbinder
1 Sortiment Winkelverbinder, schwarz
2 Schwerlast-Aufhänger/Möbelverbinder
1 Packung selbstklebende Kabelklemmen
1 Packung Klebesockel
1 Packung Kabelbinder
1 Packung Tesa Powerstrips
Hey Sickboy, sehr schönen Spiegel den du dir da gebaut hast!
Und sehr ausführliche Materialliste ich hab mir einige Anregungen geholt.
LG André
Tolles Projekt, ich mag vor allem auch deine Homematic-Anbindung, die ich nach etwas Fummelei dann auch hinbekommen habe!
Das Python Skript für den Bewegungsmelder findet man wo? 🙂
Danke!
Als Ausgangsbasis diente mir https://github.com/cowboysdude/Pir-Sensor/.
Allerdings funktionierten die Shell Skripte bei mir nicht um den Monitor ein- und auszuschalten.
Darum hab ich meine eigene Version gemacht: https://github.com/Sickboy78/Pir-Sensor/ und statt der Skripte das Tool vcgencmd verwendet.
Außerdem habe ich bei mir noch einen Schwellwertfilter eingebaut, der kurze Bewegungsmelderimpulse rausfiltert.
Hoffe, eins der beiden Skripte hilft dir weiter!