Magic Mirror für IKEA KALLAX-Regal selber bauen

Magic Mirror für IKEA KALLAX-Regal selber bauen

In diesem Beitrag beschreibe ich, wie man einen Magic Mirror für ein IKEA KALLAX-Regal selber bauen kann.

Bei einem Magic Mirror oder Smart Mirror handelt es sich, stark vereinfacht ausgedrückt, um einen verspiegelten Bildschirm, der aussieht wie ein handelsüblicher Spiegel. Dieser Spiegel ist üblicherweise mit dem Internet verbunden und zeigt aktuelle Informationen an. Bei den Informationen handelt es sich meist um die Uhrzeit und das Datum, um bevorstehende Kalendertermine, das aktuelle Wetter und die Wettervorhersage für die nächsten Tage.

Herzstück des Magic Mirrors ist der verspiegelte Bildschirm. Dieser besteht meist aus einem handelsüblichen (ausrangierten) Computermonitor und einem Einwegspiegel, der davor montiert wird. Der Einwegspiegel ist auch unter den Namen halbdurchlässiger Spiegel, Spionspiegel oder Venezianischer Spiegel bekannt. Von einer Seite geht der Großteil des Lichts durch, von der anderen Seite nicht.

Anstelle eines (teuren) Einwegspiegels lässt sich auch eine gewöhnliche Glas- oder Acrylglasscheibe verwenden, bei der man auf der dem Bildschirm zugewandten Seite eine (halb-) lichtdurchlässige Spiegelfolie anbringt. Das grundlegende Prinzip eines auf diese Art und Weise konstruierten Magic Mirrors ist in der folgenden Abbildung dargestellt.

Prinzip des MagicMirrors
Ein Beobachter vor dem Spiegel sieht sein Spiegelbild und den Inhalt des Bildschirms hinter dem Spiegel

Erstmals auf den Magic Mirror aufmerksam geworden bin ich im Februar 2017 durch einen Artikel in Ausgabe 54 des Magazins The MagPi. Darin wird der Bau eines einfachen Rahmens beschrieben, als Rechner kommt ein Raspberry Pi zum Einsatz und als Software dient das modulare Open Source Framework MagicMirror2 des Niederländers Michael Teeuw.

Software

Wie bereits erwähnt, soll die Software MagicMirror2 zum Einsatz kommen. Im Folgenden möchte ich die Installation der Software auf einem Raspberry Pi 3 von Grund auf beschreiben.

  1. Herunterladen des Betriebssystem-Images Raspberry Stretch with desktop.
  2. Das Betriebssystem-Image auf eine MicroSD-Karte flashen, z.B. mit der frei verfügbaren Software Etcher.
  3. Um den SSH-Zugriff auf den Raspberry Pi zu aktivieren, einfach eine leere Datei mit dem Namen SSH in der Boot-Partition auf der MicroSD-Karte erstellen.
  4. Um nach dem ersten Booten auch schon WiFi am Raspberry Pi zur Verfügung zu haben, muss man in der Boot-Partition auf der MicroSD-Karte eine Datei namens wpa_supplicant.conf mit folgendem Inhalt erstellen:
    # Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
    country=DE
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
           ssid="wlan-bezeichnung"
           psk="passwort"
           key_mgmt=WPA-PSK
    }
    
  5. MicroSD-Karte in den Raspberry Pi stecken und booten.
  6. Ein Bash-Fenster öffnen und MagicMirror2 durch Eingabe des folgenden Befehls installieren:
    bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"

    Die Installation dauert mehrere Minuten. Etwaige Fragen ob ein (Auto-)Start-Manager verwendet werden soll einfach mit Ja beantworten, dann startet MagicMirror2 nach dem Booten des Raspberry Pi oder nach einer Änderung der Konfigurationsdatei automatisch.

    Nachtrag am 22.08.2020: Ich wurde von einem Leser darauf aufmerksam gemacht, dass die Installation der MagicMirror2-Software wie im obigen Code-Feld beschrieben, nicht mehr funktioniert. Anfang 2020 wurde tatsächlich der automatische Installer aus dem MagicMirror2-Repository entfernt. Details zur nun notwendigen manuellen Installation findet man unter dem Link Manual Installation. Ich fasse mal die dafür notwendigen Befehle, die nacheinander eingegeben werden müssen, zusammen:

    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    sudo apt install -y nodejs
    cd MagicMirror/
    npm install
    cp config/config.js.sample config/config.js
    npm run start
    
  7. Spätestens nach dem Booten des Raspberry Pi sollte nun die MagicMirror2-Software in ihrer Grundkonfiguration laufen.

Anschließend kann man die MagicMirror2-Software nach belieben konfigurieren und auch weitere Module installieren. Alle Konfiguration werden prinzipiell in der Datei config.js durchgeführt, die sich standardmäßig im Verzeichnis /home/pi/MagicMirror/config/ befindet.

Die folgende Abbildung zeigt einen Screenshot meines Magic Mirrors.

MagicMirror-Screenshot
Screenshot des Bildschirminhalts meines Magic Mirrors

Ich habe die folgenden Module aktiviert bzw. installiert:

  • MMM-Page-Selector: Mehrere Module können nacheinander abwechselnd an der selben Bildschirmposition dargestellt werden. Das Zeitintervall wird vorgegeben.
  • clock: Aktuelle Uhrzeit und Datum.
  • calendar: Anzeige eines oder mehrerer lokaler ical-Kalender oder Onlinekalender. Lokal habe ich die Geburtstage meiner Freunde und Bekannten als .ics-Datei eingebunden und aus dem Internet werden die Feiertage in Deuschland geladen.
  • currentweather: Das aktuelle Wetter in meinem Wohnort, bereitgestellt von OpenWeatherMap.
  • weatherforecast: Die Wettervorhersage für meine Wohnort, ebenfalls von OpenWeatherMap. ACHTUNG: In der config.js-Datei nur die locationID angeben, die location selbst aber weglassen. Lässt man die location nicht weg, kann es passiern, dass das Modul nach einigen Stunden hängenbleibt und die Wettervorhersage nicht mehr aktualisiert → war zumindest bei mir regelmäßig der Fall.
  • newsfeed: RSS News Feeds, bei mir aktuell von Spiegel Online und news.orf.at.
  • MMM-NameDay: Namenstage in verschiedenen Ländern werden aufgelistet.
  • MMM-PublicTransportHafas: Live-Ansicht der aktuellen Abfahrtszeiten von öffentlichen Verkehrsmitteln in der Nähe meiner Wohnung. Bei mir sind dies S-Bahn und Busse. Ich habe das Modul mehrfach eingebunden und lasse mir die Abfahrtszeiten bei einer S-Bahnstation und bei 3 verschiedenen Busstationen abwechselnd im 10 Sekunden Intervall mit Hilfe des Moduls MMM-PublicTransportHafas anzeigen.
  • MMM-DWD-WarnWeather: Wetterwarnungen des Deutschen Wetterdiensts (DWD)
  • MMM-pollen: Pollenvorhersage des Deutschen Wetterdiensts.
  • mmm-weatherchart: Wetterdiagramm mit Vorhersage für meinen Wohnort.
  • MMM-Globe: Ein Nahe-Echtzeit-Bild (Aktualisierung alle 1 bis 3 Stunden) einer Erdhälfte, aufgenommen von dem geostationären Meteosat-Wettersatelliten der über dem Längengrad 0° steht, wird angezeigt. Ich verwende hierfür in der config.js-Datei den Style europeDiscNat. Damit das Modul mit Meteosat-Bildern fehlerfrei funktioniert, sollte man noch in der Datei MMM-Globe.js, die im Verzeichnis /home/pi/MagicMirror/modules/MMM-Globe liegt, die URLs unter den beiden europeDiscNat-Überschriften mit den folgenden URLs austauschen:
    europeDiscNat:
        "https://eumetview.eumetsat.int/static-images/latestImages/EUMETSAT_MSG_RGBNatColourEnhncd_LowResolution.jpg",

Wenn man seinen Magic Mirror fertig konfiguriert hat, dann kann man einfach den gesamten Ordner MagicMirror vom Raspberry Pi auf USB-Stick sichern oder via FTP-Client oder SSH herunterkopieren. So hat man im Falle eines SD-Karten- oder eines Hardwarefehlers eine Sicherheitskopie zur Verfügung.

Verwendete MagicMirror-Module
MagicMirror-Module, die bei mir zum Einsatz kommen

Hardware

Mein Wunsch war es, den Magic Mirror in ein Fach eines IKEA EXPEDIT- oder KALLAX-Regals einzubauen. Dadurch wird die maximale Größe des Spiegels mit 33×33 cm vorgegeben. Die maximale Diagonale eines geeigneten Bildschirms im 16:9-Format liegt somit bei 13.3 bis 14 Zoll, je nach Rahmenbreite des Displays (→ nachmessen oder vor einem Neukauf unbedingt die genauen Display-Abmessungen im Datenblatt nachschlagen). Ich habe mich für ein 13.3 Zoll Display entschieden, die folgende Abbildung zeigt den Testaufbau.

Display mit Ansteuerung und Raspberry Pi
Full-HD-Display für den MagicMirror inklusive Ansteuerung und Raspberry Pi

Um den Spiegel zusammen mit dem Bildschirm im Regalfach einzubauen gibt es mehrere Möglichkeiten:

  1. Die wohl einfachste und schnellste Variante: Kauf eines KALLAX-Vitrinentüreneinsatzes und anbringen einer lichtdurchlässigen Spiegelfolie auf der Innenseite der Vitrinentür.
  2. Kauf eines KALLAX-Einsatzes mit Spiegel: Da der Spiegel nicht lichtdurchlässig ist muss er mit etwas Aufwand entfernt und gegen einen Spionspiegel, eine Glas- oder Acrylglasplatte mit Spiegelfolie mit den Abmessungen 33×33 cm ausgetauscht werden.
  3. Kompletter Selbstbau des Regaleinsatzes.

Ich habe mich der Einfachheit halber und aus Kostengründen für Variante 1 entschieden. Die Spiegelfolie habe ich an der Innenseite der Vitrinentür angebracht. Die Folie sollte vor dem Anbringen ein bis zwei Zentimeter größer ausgeschnitten werden als die Abmessungen der Tür. Danach die Tür, die Klebeseite und auch die Nicht-Klebeseite der Folie mit viel Wasser einsprühen, in das zuvor einige Tropfen Spülmittel gegeben wurden. Die nasse Folie dann auf die zuvor gereinigte Glasoberfläche auflegen und von der Mitte nach außen mit z.B. einer alten Kreditkarte oder dergleichen über die Folie streichen und so das Wasser entfernen. Dann alles für mehrere Stunden trocknen lassen. Nach dem Trocknen werden die überstehenden Folienränder mit einem Stanleymesser abgeschnitten. Das Ergebnis ist in der folgenden Abbildung zu sehen.

KALLAX-Vitrinentür mit Spiegelfolie
KALLAX-Vitrinentür mit auf der Rückseite angebrachter Spiegelfolie. Die beiden großen kreisförmigen Öffnungen auf der linken Seite dienen zur Anbringung der Scharniere.

Mein 13.3 Zoll Display ist 2 bis 3 mm dick. Um es auf der Rückseite der Vitrinentür anzubringen, benötigt man eine Trägerplatte. Dafür habe ich einfach eine schwarze 3 mm dicke PVC-Platte genommen und die Öffnung bzw. den Ausschnitt für das Display mit dem Stanleymesser ausgeschnitten.

Trägerplatte fürs Display
PVC-Trägerplatte (3 mm dick) für das 13.3 Zoll Full-HD-Display

Die Trägerplatte wird dann mittels transparenter doppelseitiger Klebefolie direkt auf die gründlich gereinigte und fettfreie Spiegelfolie geklebt. Zum Reinigen habe ich Brennspiritus verwendet.

Querschnitt der modifizierten Vitrinentür
Querschnitt der modifizierten Vitrinentür mit Spiegelfolie, doppelseitiger Klebefolie und Trägerplatte

Das Display habe ich einfach in den Auschnitt der Trägerplatte gelegt und die Spalten anschließend mit schwarzem Isolierband abgeklebt. Da im Bereich der Befestigungslaschen des Displays Licht von der Hintergrundbeleuchtung ausgetreten ist, habe ich hier zusätzliches Isolierband angebracht. Auch an den Ecken des Displays trat unerwünscht Licht aus, so dass mit Isolierband nachgearbeitet werden musste.

Aud der Trägerplatte habe ich anschließend mittels Kunststoffkleber mehrere kleine 5×5 bis 10×10 mm große Quadrate, die ebenfalls aus dem 3 mm dicken PVC-Material sind, aufgeklebt. Die Auflebepositionen wurden dabei so gewählt, dass sie mit den Befestigungslöchern der Elektronikplatinen übereinstimmen. Anstatt die Platinen mit der doch sehr dünnen Trägerplatte und den Quadraten zu verschrauben, habe ich sie mit doppelseitigen Klebeband mit Schaumstoffzwischenlage angeklebt. Dies hält sehr gut, lässt sich bei Bedarf aber auch wieder entfernen. In der nächsten Abbildung ist die Rückseite des Magic Mirrors mit den verbauten Elektronikkomponenten zu sehen. Wozu ich die Relais-Platine und den ToF-Sensor benötige, erkläre ich in meinem Beitrag zum automatischen Ein- und Ausschalten des Displays.

Rückansicht der MagicMirror-Hardware
Rückansicht der verbauten MagicMirror-Hardware-Komponenten. Die Platinen wurden unter anderem mit doppelseitigem Klebeband mit Schaumstoffzwischenlage befestigt.

Danach erfolgte der erste Test des fertig zusammengesetzten MagicMirror-Displays, der sehr erfolgreich verlief. Nur einige Lichtlecks an der unteren Displaykante mussten noch durch etwas Isolierband eliminiert werden.

Erster Displays-Test mit Vitrinentür und Spiegelfolie
Erster Test des Displays, nachdem es in die Trägerplatte, die direkt auf der Spiegelfolie mit transparenter doppelseitiger Klebefolie befestigt ist, eingesetzt wurde.

Abschließend wurde noch ein Time-of-Flight-Sensor (ToF-Sensor) an der Außenseite der Vitrinentür angebracht. Dieser Sensor sorgt dafür, dass sich das Display nur dann einschaltet, wenn sich eine Person näher als 100 cm vor dem Spiegel befindet. Wie das genau funktioniert, erkläre ich in diesem Beitrag.

Magic Mirror mit Time-of-Flight-Sensor
Eingeschaltetes MagicMirror-Display. Unten am Glas ist der kleine Time-of-Flight-Sensor angebracht.

Im Video seht ihr, wie sich das Display bei Annäherung automatisch einschaltet.

Bitte akzeptieren Sie Cookies von YouTube, um dieses Video abzuspielen. Wenn Sie akzeptieren, greifen Sie auf Inhalte von YouTube zu, einem Dienst, der von einem externen Dritten bereitgestellt wird.

Datenschutzerklärung und Nutzungsbedingungen von YouTube

Wenn Sie diesen Hinweis akzeptieren, wird ihre Wahl gespeichert und die Seite wird aktualisiert.

Kommentare sind geschlossen.