.

Magic Mirror 2.0 mit Gestensteuerung

Vorwort

Ich probiere gern neue Technologien aus und versuche dies mit möglichst nützlichen Projekten zu verbinden. In der Vergangenheit habe ich so Cocktailfeiern durch (mobile) Webseiten, Bestell-Apps, generierte Cocktailkarten, etc. optimiert, oder eine WLAN und App-fähige Hintergrundbeleuchtung für den Fernseher gebaut. Heute möchte ich über meinen magischen Spiegel berichten.

Erklärung der Module (Dunkelblau = Hardware, Hellblau = Software-Module)
Erklärung der Module des Magic Mirror 2.0 (Dunkelblau = Hardware, Hellblau = Software-Module)

Vorhandene Probleme

Als ich vor anderthalb Jahren einen Artikel auf T3N zum Magic Mirror von Michael Teeuw gesehen hatte, war mir sofort klar - so etwas will ich auch haben.

In dem Artikel wird über das Projekt des niederländischen Entwicklers Michael Teeuw berichtet, der seinen Badezimmer-Spiegel mit einem Spionspiegel und einem Raspberry Pi zu einem Magic Mirror umgebaut hat.

Viele Probleme aus dem Alltag, die man mit so einem Spiegel lösen kann, kamen mir sofort in den Sinn. Da diese technische Spielerei auch noch nützlich war konnte ich sie auch sofort meiner Familie schmackhaft machen.

An diesen Problemstellen unseres Alltag bot der Magic Mirror Lösungen:

  1. Obwohl wir in der Familie unsere Kalender online pflegen und synchronisieren, kam es doch häufiger vor, dass Termine vergessen oder viel zu spät gesehen wurden. Auf dem Handy bekommt man für die eigenen Termine zwar immer Erinnerungen, aber bei der Unmenge an Meldungen gehen diese schnell unter, tauchen erst zehn Minuten vorher auf und Termine der anderen Familienmitglieder sind nicht sonderlich präsent.
  2. Auch Geburtstage haben wir einfach zu oft vergessen, da nach dem kurzen “plim plim” des Handys die Präsenz schnell wieder weg ist.
  3. Das nächste Problem ist die Präsenz von Wettervorhersagen. Ich will mich nicht über das Wetter beklagen - es gibt ja nur unpassende Kleidung ;) Aber als Radfahrer muss ich mich immer kurz vor dem Verlassen des Hauses fragen: “Soll ich die Regenhose lieber einpacken?”, “Lass ich das Fahrrad heute stehen?”. Klar kann man diese Info auch auf dem Handy nachschauen, aber das kostet alles Zeit und nervt, vor allem wenn es mal wieder etwas stressiger zu geht. Durchnässt nach Hause kommen sollte sich doch in Zukunft vermeiden lassen.

Also auf ins Vergnügen und rein in dutzende Stunden Arbeit.

Unser Magic Mirror 2.0 in den Medien

Dieses Video entstand in Zusammenarbeit mit der Sächsischen Zeitung.

Der gesamte Artikel ist auf http://www.sz-online.de/ratgeber/dieser-spiegel-macht-nicht-nur-komplimente-3344057.html zu erreichen.

Umsetzung

Das Projekt war geboren. Ich wollte einen solchen Spiegel für unseren Flur bauen, mit Wetteranzeige, Kalendereinträgen aus den diversen Kalendern aller Familienmitgliedern und Geburtstagserinnerungen.

 
Der Magic Mirror Aus (links) und An (rechts)

Der t3n Artikel verwies auf den Blog von Michael Teuuw, wo das Projekt detailliert vorgestellt wurde - mit Anleitungen zum Nachbau und Programmieren. Neben vielen Fotos, waren hier auch zahlreiche Links z.B. zu GitHub oder zu Hardware-Shops hinterlegt.

Einkaufsliste

Nach intensiver Recherche der Anleitungen und vielen Kommentare habe ich eine Einkaufsliste erstellt und folgende Dinge besorgt:

Einkaufsliste (lokaler Handel und Amazon):

  • Monitor, iiyama PROLITE E2481HS-B1, wie von Michael Teeuw empfohlen (153 €)
  • Raspberry Pi Model B+ inkl. Gehäuse und Netzteil mit 2m Kabel (57 €)
    • mittlerweile durch Raspberry Pi 2 ersetzt, da dieser schneller ist für Laden der Newsseite (38 €)
    • dazu USB WLAN Adapter (8 €), SD Karte (8 €) und ein HDMI Kabel (5 €)
  • nur eine (Firma Glaserei & Glaswaren Marco Herzig) von vielen kontaktierten Glasereien aus Dresden hatte einen Spionspiegel vorrätig, der Reflexionsgrad wurde vor Ort mit dem Handy hinter dem Spiegel getestet, es funktionierte gut, also habe ich den Spiegel auf meine Maße zuschneiden lassen und mitgenommen (65 €)
    • empfohlen wird ein Reflexionsgrad von 70%
    • der Reflexionsgrad unseres Spiegels scheint allerdings etwas niedriger
  • Holz und Schrauben für den Rahmen gab es im Baumarkt (14 €)
  • das Holz für die Blende gab es geschenkt aus Opas Garten, Kirschholz (umsonst)

------------------------------------------------------------------------------------------------------------------------

Gesamtkosten ca. 310 €

Der Zusammenbau

Die Anleitung von Michael Teeuw schien mir sinnvoll, weshalb ich mich auch weitgehend daran gehalten habe.

Programmierung

Die Grundlage für die Programmierung war ebenso das GitHub Projekt von Michael Teeuw. In dem Projekt ist die Implementierung für Uhrzeit, Datum, aktuelles Wetter, Wetter der nächsten 6 Tagen, “Geschirrspüler fertig”-Meldungen für Geschirrspüler mit mit Internetadresse, Nachrichten (Atom/RSS Feed), Kalender und Komplimente anschaulich dokumentiert.

Für meine Zwecke habe ich einige Anpassungen vorgenommen:

  • Übersetzung des Interfaces ins Deutsche (Datum, Wetter, Komplimente)
  • Anpassung des Wetter Feeds
  • Anpassung für deutsche News (Tagesschau RSS Feed)
  • Anpassung für sicheren Kalenderabruf und Zusammenfassen von verschiedenen Kalenderquellen (Google Calender für den Familienkalender)

Die erste Version des Spiegels sah dann also so aus:

 

Electronics Open Space

Überzeugt vom Konzept und der Nützlichkeit des Magic Mirrors, habe ich mein Projekt beim 6. Electronics Open Space in Dresden im Spetember 2014 vorgestellt. Es gab viel Resonanz, viele Rückfragen und Ideen für weitere Widgets. Die Motivation den Spiegel weiter zu entwickeln war groß!

Erweiterungen Hardware

Es gab sowohl auf Seiten der Hardware, als auch auf Seiten der Software einige Erweiterung, die ich hier mal zusammenfasse:

  • Integration eines Ultraschall-Entfernungssensors mit dem Ziel:
    • Komplimente erst beim Nähertreten im Spiegel anzuzeigen
    • die Zeitschaltuhr abzulösen und den Monitor hinter dem Spiegel erst dann an zuschalten, sobald jemand davor steht (Stromverbrauch des Monitors liegt bei 22 W im Betrieb)
  • 2. Ultraschall-Entfernungssensor, um einfache Gesten zu erkennen.
  • Verbesserung der Gestenerkennung durch:
    • Leap Motion Controller - der ließ sich aber nicht direkt am Raspberry Pi anschließen auf Grund der ARM Architektur und zu geringen Rechenleistung.
    • Spezieller Infrarot Gestensensor (APDS-9960 via https://www.sparkfun.com/products/12787 für $ 15 plus Versand) - dieser hatte besserer Genauigkeit. Der Nachteil ist aber, das er nur im Nahbereich (10 cm) funktioniert.
    • Zu guter Letzt habe ich für die mittlere Weitenerkennung (steht jemand 20-50cm vor dem Spiegel) einen Infrarot Entfernungssensor (GP2-1080 für 6 € plus Versand) ergänzt. Hier zeigte sicher aber, dass das analoge Ausgangssignal nicht direkt vom Raspberry Pi gelesen werden kann. Ich hatte aber noch einen Arduino Micro in der Schublade, welchen ich zwischengeschaltet und dabei den Gestensensor gleich mit über den Arduino verdrahtet habe. Dadurch wurde der Raspberry Pi weiter entlastet.

Erweiterungen Software

Im Laufe der Entwicklung sind der Familie immer wieder neue Ideen und Verbesserungen für den Spiegel gekommen.

  1. Wetter:
    • statt der Anzeige von min/max Temperaturwerten der nächsten 6 Tage, habe ich eine detaillierte Vorhersage der nächsten 24h als Graphen umgesetzt. Die Graphen zeigen den Temperaturverlauf, die Niederschlagswahrscheinlichkeit und die Niederschlagsmenge an.
  2. Abbildung unserer Einkaufsliste via Wunderlist API
  3. Abbildung eines DVB Abfahrtsmonitors mit Echtzeitanzeige der Bus und Straßenbahnabfahrten der nächstegelegenen Haltestelle:
    • die API ist zwar nicht öffentlich dokumentiert, aber verschiedene Projekte die sich auf GitHub befinden (https://github.com/kiliankoe/dvbpy) haben das Protokoll herausgefunden.
  4. Anpassung der News:
    • Ziel war es, durch die News blättern zu können, z.B. durch Links/Rechts-Gesten.
    • Zusätzlich zu der Schlagzeile sollte mach sich auch noch einen längeren Teasertext anzeigen lassen können. Dazu wurde die Nach-Oben-Geste implementiert. Durch die Blättern-Geste oder durch die Nach-Unten-Geste gelangt man aus dieser Ansicht zurück.
    • Durch eine weitere Nach-Oben-Geste kann man sich nun auch den kompletten Artikel auf der Tagesschau Webseite anzeigen lassen. Durch die Blättern-Geste oder durch die Nach-Unten-Geste gelangt man aus dieser Ansicht zurück.

  5. Zitate:
    • Jeden Tag ein neues, inspirierendes Zitat - das wär’ doch was. Also haben wir die Anbindung an einen Webservice mit englischen Zitaten beschlossen. Da diese nicht immer treffend und manchmal schwer verständlich waren, wurden später Zitate von zitate-online.de verwendet.

  6. Technisch:
    • Ursprünglich ist der Spiegel mit HTML, CSS, JS und PHP programmiert. Um moderne Technologien einzusetzen habe ich serverseitig viele PHP Skripte in Node.js Anwendungen umgebaut, u.a. für die Kommunikation mit dem Arduino über die serielle Schnittstelle, das Abrufen der Kalendereinträge, etc.
    • Für die Echtzeitbenachrichtigung bei Gesten (Blättern) oder Entfernungsänderung (Kompliment), habe ich eine Client-Server Kommunikation auf Basis von Websockets eingeführt.
    • Für mehr Modularität in der Darstellung habe ich AngularJS eingesetzt.

Zukunftsideen

Die Ideen sind uns noch nicht ausgegangen und wir werden weiter an neuen Modulen für den Magic Mirror arbeiten. Leider ist nur der Platz auf der Spiegelfläche endlich.

Unsere Ideen:

  • Smart Home Hub
    • Eine Zentrale zum Sammeln von Raumdaten wie Temperatur oder Luftfeuchtigkeit.
    • Die Darstellung der Temperatur und Luftfeuchtigkeit als raumbasierte Heatmap
  • Sprachsteuerung
    • “Spieglein, Spieglein an der Wand” - a la Google Now.  Ziel ist es, dass unsere vierjährige Tochter auch mit dem Spiegel sprechen kann.
      • Wer ist die schönste?
      • Wie wird das Wetterheute?
      • … oder mit dem Spiegel singen
    • Hier habe ich aber noch Bedenken bezüglich Überwachung. Andererseits ist die lokale Spracherkennung auf dem Raspberri Pi sehr aufwändig einzurichten für die deutsche Sprache.
  • Spotify Connect für den Spiegel
    • Audio-Wiedergabe im Flur über die Lautsprecher des Monitors ermöglichen
    • Steuerung der Playlist mit Gesten
  • verschiedene Mirror-Faces / Ansichten / Spaces erstellen
    • Ziel ist es, die vielen Module auf unterschiedliche Mirror Spaces zu verteilen und so thematische Ansichten zu erzeugen.
    • Der Wechsel der Ansichten soll durch die Näherungs- und die Wegbewegungsgeste erfolgen.

Andere Projekte

Auch andere Elektronik-Projekte in unserer Wohnung verdienen etwas Aufmerksamkeit:

  • Tea-Bot nach einem Bausatz von Steffen Gemkow, Betreiber des Onlineshops Agile Hardware aus Dresden (http://www.agile-hardware.de/). Der Tea-Bot zieht den Tee-Beutel nach einer vorher eingestellten Zeit automatisch aus der Tasse. Ein Temperatur-Sensor aktiviert beim Eingießen von heißem Wassers automatisch den Timer.
  • Für stimmungsvolles Licht: LED TV Hintergrundbeleuchtung, welche steuerbar per Web & App ist.
  • Schatzsuche mit iBeacons: Mit Hilfe von iBeacons können Gäste bei Feiern unsere Wohnung erkunden und spannende Sachen erleben. Dazu braucht der Gast lediglich ein Smartphone.

Durch das rege besuchen verschiedener Communities bekommen wir immer wieder neue Inspirationen und Anregungen:

Nächste Projekte

Neben dem Magic Mirror steht der Entwicklergeist auch nicht still. Aktuell arbeite ich an einem Küchenradio mit Bluetooth und WLAN für Internetradio und Spotify Connect. Auch hier soll ein Temperatur- und Feuchtigkeitssensor integriert werden.


Tags: Internet of Things, IoT, Smart Home, Elektronik, Haushalt


Kommentare

comments powered by Disqus