Sie nutzen einen veralteten Browser. Für eine schnellere und sichere Verbindung aktualisieren Sie den Browser kostenfrei.


Einen Augenblick Geduld...

  • Techn. Development

  • Kontakt
    Weitere Tutorials

    Projekt "Smart Mirror"


    Idee

    Ich will einen coolen Spiegel. Er soll nicht nur mein Spiegelbild zeigen, sondern auch durch das Spiegelglas hindurch verschiedene Informationen einblenden.

    Die Idee dazu kam mir mit einer der vielen modernen Filme, wie z.B. "Minority Report", "Passengers" und natürlich "Zurück in die Zukunft".
    Allerdings hatte ich auch schon ähnliche Projekte im Internet gesehen.

    Was ich nicht wollte, war auf dem Spiegel mit den Fingern herumzuschmieren um die Informationen einzublenden oder andere Funktionen auszulösen. Das musste ich anders lösen. Er sollte "sauber" bleiben.
    Also entfällt hier wohl die Nutzung eines Touchscreens.

    Anforderung

    Er soll nicht nur die allgemeine Wetterinfos anzeigen, sondern auch die der eigenen Wohnung mit Temeratur, Luftdruck, Feuchtigkeit und Luftqualität in jedem Raum. Außerdem soll er Verkehrsinformationen einblenden, den Spritpreis sämtlicher Tankstellen im Umkreis von 8km darstellen, meine diktierte Einkaufliste anzeigen und den Status des Servers optisch darstellen.

    Er soll sich automatisch einschalten (und ausschalten) wenn man sich vor dem Spiegel aufhält. Er soll per Sprachbefehl die Beleuchtung im Spiegelglas einschalten. Außerdem, da er an prominenter Stelle im Flur aufgehangen wird, soll er mir Freitags nach Beendingung der Arbeit ein schönes Wochenende wünschen.

    Umsetzung

    Ich benötige einen halbdurchlässigen Spiegel ("Spionspiegel"), der dann von hinten mit einem Monitor die entsprechenden Informationen einblendet - soweit war mir das klar. Aber wie erhalte ich nun dynamische Infos von unterschiedlichen Quellen? Womit betreibe ich die Verwaltung dieser Informationen?
    OK, da gibt es einen sehr kleinen Computer, der keine Kühlung benötigt, mittlerweile sogar einen QuadCore-Prozessor nutzt und dabei unter 5 Watt verbraucht. Außerdem kostet er um die 30 EUR. Es ist nur eine kleine Platine, die sich leicht in einen Spiegel verbauen lässt. Das war schon mal ein Anfang.
    Für eine automatische Einschaltung könnte ich einen Bewegungsmelder nutzen, mal sehen...

     

     

    • Nun habe ich es doch gewagt einen SmartMirror zu bauen. Ich kenne persönlich noch nicht einmal eine handvoll Leute, die ich zu diesem Projekt sowohl von der Hardware, als auch von der Software-Seite vorher hätte befragen können. So manche Hürde wäre mir genommen worden - aber so ist das nun mal: bewegt man sich in neue Gefilde ist die Luft schnell ganz dünn. Aber dank des Internets und dem Nachschlagen in vielen verschiedenen Foren ist es mir nun doch gelungen einen SmartMirror zu bauen - und ich muss sagen: er hat mit seinen Funktionen meine Erwartungen übertroffen:

      Vom ersten Versuch Schrift hinter, bzw. in Glas zu bannen und ein paar "smarte" Informationen abbilden zu können ist nun ein vollständiges und irgendwie auch abgeschlossenes Projekt geworden.


     

     

    1. Planungsphase

    Damit hab' ich mir zunächst Zeit gelassen, da ich ungerne Geld und Zeit für etwas Nutzloses verschwende. Es sollte kein billiger Abklatsch und auch kein Studentenversuchsgefrickel werden, dass am Ende doch in irgend einer Ecke als Elektronikschrott landet oder im Keller als gescheiterter Versuch gelagert wird.


    Erste Überlegungen

    Es soll ein Spiegel werden, der das eigene Spiegelbild verzerrungsfrei wiedergibt und zunächst dennoch unter der Haube möglichst gut leserliche Informationen bereit hält.


    Das Spiegelglas

    Dazu hatte ich im Internet bereits von ersten Versuchen gelesen, alternativ zu Glas Kunststoff zu nutzen, das mit einer Spiegelfolie beklebt wird und damit anschließend einseitig durchsichtig ist. Das wäre zwar die vom Gewicht her leichtere Variante, da Kunststoff nunmal leichter ist als Glas, aber auch nicht gerade die Wertigere. Außerdem las ich im Internet von Verzerrungen im Spiegelbild. Besonders an den Rändern sieht's dann schon mal schnell aus wie in einem Spiegelkabinett ;-)


    Ein zweites K.O.-Kriterium war das Aufbringen der Spiegelfolie. Da gab es Leute, die haben das Unterwasser zusammengefügt um zu verhindern, dass die statische Aufladung des Kunststoffs und der Spiegelfolie beim Aufbringen derart Staub anzog, dass dieser anschließend als "Unebenheit" auf der Oberfläche zu sehen war. Nein, so sollte es nicht sein, da bin ich zu sehr esthetisch veranlagt.

    Also habe ich mich für Glas entschieden. Das Problem und die Herausforderung bestand darin, "Einweg-" bzw. "Zweiweg"-Spiegelglas zu finden das transparent genug war, aber auch entsprechend ausreichend spiegelt. Nach längerem Forschen fand ich eine Glaserei, die mir in meinen gewünschten Maßen (50x70cm Hochformat) dieses Spiegelglas für knapp 80,00 EUR verkaufte. In Fachkreisen wird dies auch als "Spionspiegel", "Polizeispiegel" oder "venezianischer Spiegel" bezeichnet, da er für Verhöre genutzt wird. Der Trick bei dieser Technik ist, dass es auf einer Seite vollständig dunkel sein muss. Die Seite in der man sich spiegeln soll ist möglichst hell - so kann man von dieser Seite nicht hindurchschauen, von der anderen Seite aber alles erkennen... James Bond lässt grüßen... ;-)


    Dieses Glas hat nun eine Reflexion von 70% und eine Transparenz von 30% - das sollte für meine Belange reichen, obwohl ich das zu diesem Zeitpunkt noch nicht genau wusste...

    Damals ging ich noch davon aus, dass ich eine Kamera hinter das Glas bauen könnte (was für'n Quatsch: steht man doch vor dem Spiegel und sieht sein eigenes Spiegelbild! Was soll man da mit einer Kamera? Das Abfilmen machte also keinen Sinn. Und als Fotoapparat, der das Spiegelbild abfotografiert, wollte ich den Spiegel eigentlich auch nicht nutzen).

    Soweit so gut, das Spiegelglas mit seiner 6mm Stärke war also entschieden und gekauft.


    Nun zum Rahmen

    Auch hier habe ich einige Hinweise gelesen von günstigen Rahmen die z.B. bei IKEA angeboten werden. Diese sind etwas tiefer, allerdings auch etwas kleiner (50x50cm). Es gibt sie in schwarz und weiss. Allerdings bekomme ich da keinen größeren Monitor verbaut um die Schrift auch leserlich zu halten und trotzdem viel Informationen unterzubringen.

    In einem Baumarkt in meiner Nähe fand ich - eigentlich für Bilder - dann den passenden Rahmen, der zum Einen ein tieferes Profil hat, zum Anderen aber auch zum Stil meiner Möbel passt. Immerhin wusste ich, dass der Spiegel im Flur den grössten Sinn macht. Hier las ich im Internet von Projekten im Badezimmer.

    Ich habe da allerdings ein paar Vorbehalte bezüglich der Verwendung von Elektronik in Feuchträumen,


    so schön das ja auch sein mag, während des morgentlichen Waschvorganges die Informationen des Tages sehen zu können, aber die hohe Luftfeuchtigkeit macht da auf Dauer eher Probleme. Außerdem wollte ich aus belüftungstechnischen Gründen den Spiegel hinten offen lassen.
    Also ließ ich mir vom Baumarkt einen Rahmen fertig verkleben. Dieser hat dann auch das korrekte rechtwinklige Maß. Allerdings hat das auch seinen Preis: ca. 85,00 EUR. Aber das war es mir wert.

    Im selben Baumarkt habe ich mir auch direkt noch Vierkanthölzer besorgt, die den Rahmen noch ein bisschen tiefer machen und den Monitor von der Tiefe her in den Rahmen mit aufnehmen - und gleich noch die dunkle Holzbeizfarbe mitgenommen, passend zur Grundfarbe des fertigen Rahmens vom Baumarkt.


     

    Der Monitor

    Da habe ich ein bisschen gesucht. Anders als einige das im Internet beschrieben hatten, habe ich keinen alten Monitor besessen um ihn für diesen Zweck einzusetzen. Also habe ich in Media Markt und Co. im Internet ein Modell gefunden, welches relativ hohe Kontrastwerte hat und auch sonst von seinen Rezensionen gut besprochen wurde. Der Kostenpunkt hier lag bei ca. 110,00 EUR. Ich habe den Monitor im Internet bestellt und mir in eine Niederlassung liefern lassen um ihn bei Abholung direkt in Augenschein nehmen zu können.

    Soweit so gut, die Hardware hatte ich nun grob zusammen... aber halt, da fehlt noch etwas:

    Die Steuereinheit: der "Raspberian Pi 3" oder kurz auch als "Raspi" bezeichnet.
    (...und nun betrete ich das dünne Eis meines damaligen Wissens bezügl. Linux & Co.)

    Was ich wusste: es gibt einen kleinen PC,

    • der unglaublich wenig Leistung verbraucht (2-3 Watt)
    • aber dennoch für den Dauerbetrieb geeignet ist
    • nicht besonders warm wird
    • relativ schnell bootet
    • komplett geräuschlos läuft (es ist kein Lüfter verbaut und auch nicht notwendig)
    • das Betriebsystem auf einer SD-Karte hat
    • bei Bedarf sogar eine grafische Benutzeroberfläche bietet
    • 1 GB Arbeitsspeicher besitzt
    • ein eingebautes WLAN-Modul besitzt (also keine Kabel nötig, obwohl der Raspi 3 eine RJ45-Buchse mit immerhin 100 MegaBit besitzt)
    • einen QuadCore!-Prozessor nutzt
    • Fernzuwarten ist über eine Konsole (auf dem Mac mit "Terminal" auf dem PC mit dem Programm "Putty")
    • ein "freies" Betriebssystem nutzt
    • und ca. 38,00 EUR kostet (bei Amazon).

    Im Vergleich zu anderen PCs ist der Raspi mit seinen Fähigkeiten in punkto Steuerbarkeit von Schaltungen und den zugehörigen Python-Scripts, sowie sein extrem geringer Energiebedarf, weitaus überlegen - mal ganz abgesehen von den o.g. Vorzügen.


     

     

    2. Die ersten Gehversuche

    Nun ging es also los.
    Chronologisch betrachtet hatte ich zuerst den Raspi bestellt und parallel dazu schon mal den Monitor abgeholt. Das zugehörige Betriebssystem gibt es im Internet gratis, da die Raspberian-Gemeinde eine große Entwicklertruppe und Interessensgemeinschaft ist, die keine kommerziellen Interessen verfolgen - Hut ab und Applaus!!

    Ich entschied mich für das sog. "SmartOS" von GlancR, eine junge Truppe mit Sitz in Berlin, die dazu ein modifiziertes Linux anbieten, welches nach der Installation zwei Webserver nutzt: einen zum Verwalten und Konfigurieren der Inhalte und einen zum Anzeigen auf dem Spiegel (im KIOSK-Modus).

    Der Vorteil bei diesem vorkonfigurierten System ist, das beim Start (Hochfahren des Betriebsystems) direkt der Webserver ("Apache2") gestartet wird und kein weiteres Eingreifen notwendig ist um den Spiegel anschließend nutzen zu können. Außerdem bieten sie auch Updates der Module an, die direkt auf der eigenen Konfigurationsseite geladen werden können. Somit ist es nicht erforderlich, die typischen kryptischen Ladebefehle auf der Konsole nutzen zu müssen um die anzuzeigenden dynamischen Inhalte zu programmieren...



    zumindest nicht für die Grundversion.... es stelle sich später heraus, dass es aber unabdingbar ist, sich auch auf der Konsole sicher bewegen zu können, z.B. bei der Erstellung von eigenen Python-Scripts. Diese laufen dann im Hintergrund und können, unabhängig von dem was auf dem Spiegel gezeigt wird, eigene Steuervorgänge übernehmen.

    Also lud ich das Betriebssystem mit einem PC herunter (Image-Datei) und kopierte es anschließend lauffähig auf eine leere 16GB SD-Karte. Die steckte ich dann in den Raspi und schaltete, nachdem ich den Monitor mit der HDMI-Schnittestelle des Raspi verbunden hatte, das System zum ersten Mal ein.
    Der Startvorgang bis zur Anzeige auf dem Spiegel benötigt ca. so lange wie ein Windows 7-Start - aber das ist egal - er bleibt ja immer an und verbraucht dabei lediglich 2-3 Watt.

    Also, bis jetzt war ich schon sehr zufrieden. Wenn jetzt auch die Hardware, sprich Rahmen und Spiegelglas, genauso eine gute Figur machen würden, wäre das ein optimales Zusammenspiel.

    Aber so leicht sollte es dann doch nicht werden...



     

     

    3. Der Zusammenbau

    • Zunächst habe ich mir den Rahmen mal grob zusammengelegt. Ich sah schon: oh oh, die zusätzlich besorgten Leisten zum Rahmen waren schief und verzogen. Also verleimte ich zunächst die halbwegs geraden zwei Leisten am Rahmen. Um die restlichen zwei Leisten mit den bereits verleimten Leisten zu verbinden brauchte ich dann doch noch 2 Schraubzwingen, eine kleine und eine relativ große mit der ich die einzelne Leiste am gesamten Rahmen fixieren konnte.

      Als alles abgebunden war (und das dauert bei Ponal bekanntermaßen ca. 12 Stunden) habe ich am nächsten Tag die inneren Leisten zum Befestigen des Monitors verleimt.
      Diese "Chassis" ist nötig, da der gesamte Spiegel größer ist als die Maße des zerlegten Monitors... apropo "zerlegter Monitor":

     

    Das Zerlegen des Monitors

    Das war auch so eine Sache... Theroretisch hätte ich vom Monitor lediglich den Fuß abschrauben müssen und ihn dann hinter das Glas bringen müssen, anschließend fixiert und fertig. Da ist dann nur der Haken damit, dass die Schrift möglichst nah an das Spiegelglas gebracht werden muss um scharf dargestellt werden zu können. Also musste ich den Kunststoffrahmen des Monitors enfernen. Die Monitore sind heutzutage nicht mehr verschraubt sondern mit "Klemmnasen" versehen. Diese musste ich mit Schraubenzieher etwas gewaltsam voneinander trennen. Man könnte theoretisch - falls alles nicht funktioniert hätte - auch wieder einen Monitor daraus basteln. Allerdings wären diese "Klemmnasen" anschließend etwas ausgelutscht und man sähe den vorgenommenen manuellen Eingriff anschließend - also "no point of return"!

    Beim Zerlegen hatte ich Glück: ich habe festgestellt, dass die Elektronik des Display Controllers geschützt unter einer Kunststoffabdeckung untergebracht war. Die Anschlüsse und Flachbandkabel dieser Einheit sind normaler Weise sehr empfindlich. In diversen Beschreibungen ist die Rede von in China gekauften Display Controllern, aber ich bin da skeptisch. Die Lieferzeiten lagen bei 4-8 Wochen! Und ob der Transport hierhin dann auch sachgemäß erfolgt kann man vorher nicht sagen. Am Gesamtpreis hätte das auch nicht viel geändert. Also sah ich keine Vorteile vom getrennten Besorgen der Bildschirmbauteile.

    • Aber da sind noch die im Monitor verbauten Druckschalter für Ein/Aus, Helligkeit, Kontrast, Bildeinstellungen, Eingangsregelung (VGA, DisplayPort, HDMI). Diese sind fest integriert in den entfernten Kunststoffrahmen. Also habe ich das Stück mit den Schaltern aus dem Rahmen herausgesägt. Es soll später in einem eigenen Ausschnitt im Rahmen des Spiegels Platz finden.

      Ich will an dieser Stelle nicht jedes verbaute Einzelteil beschreiben. Das würde den Rahmen sprengen.


     

     

    4. Modifikationen

    Also der Spiegel sieht ja schon ganz gut aus, aber was ist denn mit ein paar Extras. Immerhin wenn man den Raspi unter Strom setzt geht dieser sofort an. Blöd, das man keinen Schalter hat um ihn einzuschalten. Das ist tatsächlich Standard beim Raspi...

    Also überlegte ich mir einen Schalter zum Herunterfahren einzubauen. So habe ich kurzerhand einen sehr schönen gedrehten Edelmetall-Schalter bestellt. Lieferzeit: 2,5 Wochen, mmh, OK. ich kann ja schon mal anfangen das Script dafür zu schreiben. Die Drähte hänge ich einfach an den 19mm Bohrungen für den Schalter (Taster) aus dem Rahmen heraus und kann sie zur Not aneinanderhalten. das erfüllt ja denselben Zweck eines Tasters und ist zum Testen allemal OK.

    Ein Python-Script war auch relativ schnell gefunden. Das habe ich dann leicht angepasst, da ich andere sog. "GPIOs" benutzen wollte (Schaltkontakte am Raspi).


    Funktionierte zunächst tadellos. Hab das Script sogar lauffähig hinbekommen ohne es mit jedem Start des Raspis laden zu müssen. Mit "sudo nano /etc/rc.local" kann man, ähnlich wie die Funktion "Autostart" bei Windows, Programme mit dem Systemstart ausführen. Dieses lief auch brav im Hintegrund und beeinflusste die Funktionen des Spiegels zunächst nicht.

    So konnte ich den Spiegel per Knopfdruck herunterfahren ohne dass ich über eine Konsole (Terminal) den Befehl zum Herunterfahren geben musste.

    Mir war zu Beginn nicht klar, dass ich den Raspi wie einen Computer behandeln musste. Ich ging immer davon aus man könne ihn einfach Stromlos machen, also Stecker ziehen und gut. Aber die Foren wiesen da auf einen etwaigen Dateistrukturverlust hin, der beim Steckerziehen ein komplettes Betriebssystem unbrauchbar machen kann.



     

     

    5. Energiesparfunktionen - die ersten Hürden

    • Was ist ein heutiges modernes Gerät ohne Energiegedanke? Der Raspi benötigt zwar nur 2-3 Watt, aber der Bildschirm benötigt da schon mehr, so ca. 20-30 Watt im Betrieb. Das ist für eine kurze Anzeige nicht viel, aber im Dauerbetrieb kommt da schon ein bisschen zusammen.

      Was konnte ich tun?

      Ich las von diversen Methoden den HDMI-Ausgang vom Raspi auszuschalten. Diverse Nutzer berichteten allerdings davon, dass der Monitor anschließend nicht mehr richtig anging, besonders bei den älteren Raspi-Modellen war das so ein Problem, wenn man nicht den HDMI, sondern einen anderen Display-Ausgang nutzte.

    So gefiel mir die Idee den HDMI-Ausgang mittels Bewegungsmelder ein- und auszuschalten. Das Prinzip sollte sein: Grundsätzlich ist der Monitor aus (Standby). Ich trete vor den Spiegel und dieser geht an (HDMI aktiv). Nach vorgegebener Zeit (180sek) wird der HDMI-Ausgang wieder ausgeschaltet.

    Soweit so gut... Ein Script dazu hatte ich auch gefunden. Einen Bewegungsmelder (PIR-Sensor), der speziell für den Raspi geeignet sei, hatte ich auch bestellt. Nach einer Woche Lieferzeit dann der ernüchternde Test: das Script funktioniert zwar, aber nach kurzer Zeit (ca. 20sek) schaltete sich der Monitor selbstständig wieder ein, blieb wieder 180 sek. an und ging dann wieder aus, wieder an, usw. Also habe ich nach einem besseren Script gesucht und versucht es zu modifizieren.

    Doch hoppla. was ist das?

    Jetzt gingen auf einmal die Probleme los. Neben dem obigen Problem des Bewegungsmelders hatte ich noch ein Problem - und das war das Größte des gesamten Spiegelbaus: da der Spiegel im Flur hing und ich natürlich die Flurbeleuchtung benutzte wenn es dunkel wurde, verabschiedete sich der Spiegel nach jedem Schaltvorgang des Flurlichts.


     

     

    6. Schwierigkeiten - und wie man sie löst

    Mit diesem Problem hatte ich nun wirklich nicht gerechnet. Also begann die Suche im Internet, zunächst nach Problemen mit dem Raspi... Probleme gab es einige. Es gibt auch zu Hauf halbgare Vorschläge von Usern, die meinen Ihnen gehöre das gesamte Wissens des Universums. Wenn man das als unbedachter Anwender liest versucht man viel und glaubt auch angeblich funktionierenden Scripten, die wenn man sie startet auf dem Raspi alles andere als funktionieren und bereits in der zweiten Zeile aus dem Programm, bzw. dem Script aussteigen.

    Auch ich hab' Lehrgeld dafür gezahlt und mich dann doch grundsätzlich mit dem Programmieren von Python-Scripten beschäftigt. Was ich gar nicht kannte, dass man z.B. unterschiedliche Programmzeilen je nach Programmierung einrücken MUSS. Tut man es nicht, steigt u.U. das Programm einfach aus. Da spielt der korrekte Syntax auch keine Rolle mehr. Ist die betreffende Zeile nicht korrekt eingerückt, läuft es einfach nicht.


    Man muss also das Programm in seinem kompletten Ablauf verstehen (und am besten nicht einfach nur irgendwo her aus dem Internet kopieren).

    Da ist also das Problem mit dem "selbstständigen Bewegungsmelder". Vielleicht ist er ja defekt, kommt ja vor, also neu bestellt - Fehlanzeige: die selbe Reaktion aus, ein, aus...
    Nochmal nach anderen Scripten gesucht - vergeblich.

    Das Projekt "Bewegungsmelder" ist gestorben! Schade um das Loch, dass ich unterhalb des Spiegels für die Kabeldurchführung gebohrt habe.
    Laut den "schlauen Kollegen" im Internet sollte nämlich der Bewegungsmelder durch den Spionspiegel funktionieren. Tut er aber nicht! Das Loch fand aber später eine andere sinnvolle Verwendung - das wusste ich zu dem Zeitpunkt aber noch nicht...


     

    Alternativen zum Bewegungsmelder:

    • hab' ne vermeintlich gute Idee gefunden! Wenn man mit seinem Handy zuhause ist und das WLAN aktiviert hat geht der Spiegel automatisch an. Soweit so gut... nur, ein Android-Handy bleibt WLAN-mässig aktiv. Ein iPhone schaltet die Energiesparfunktion ein, sobald man das Handy auf Standby schaltet. Na gut, man könnte es ja auch kurz vor dem Spiegel einschalten...mmmh. Der Spiegel benötigt dann aber ca. 30sek. bis 2 min. um sich einzuschalten, wenn das WLAN des Handys erkannt wurde. Irgendwie unpraktisch.

      Ein zweiter, negativer Aspekt, ist eigentlich eine ebenso gut gemeinte Funktion: in einem gefundenen Script schaltet sich die Suche zur Nachtzeit ab. Damit konnte man einstellen, dass z.B. zwischen 22:00 Uhr und 06:30 Uhr eine Suche nach dem WLAN des Handys nicht stattfindet. Eigentlich gut gemeint.

    Wäre da nicht das Problem mit den sog. Oktalzahlen im Betriebssystem des Raspi.
    Hier ist das Problem, das alle Zahlen, bzw. Uhrzeiten die mit 08:00 beginnen und bis 09:59 Uhr Schaltvorgänge auslösen sollten (HDMI ein/ausschalten) auf Fehler laufen. Diesen Fehler sieht man erst, wenn man das Script händig startet (also wenn es nicht mit dem System automatisch gestartet wird).

    Also, so richtig rund ist das auch noch nicht. Leider hat sich der Autor auch nicht mehr zu dem von mir beschriebenen Problem gemeldet.

    Was gibt's noch an Aktoren für Bewegungen? ja richtig "Ultraschall"!

    Auf dem richtigen Weg: Der Ultraschallsensor HC-SR04 ist ein kostengünstiger Sensor (ca. 3 EUR, pro Stück) hat eine eigene kleine Platine dabei und wird mit 4 Anschlüssen an die GPIOs angeschlossen. Dazu gibt es eine gute Beschreibung im Internet. Man muss allerdings ein bisschen aufpassen mit den Anschlüssen an den GPIO-Pins des Raspi. Wenn ein Kabel falsch angeschlossen wird, kann das den Tot des Raspis oder des Moduls bedeuten (je nach Spannung: 3,3V/5V). Also lieber einmal mehr geprüft und die GPIOs mit den angegebenen "PIN's" vergleichen. Das wird schon mal gerne verwechselt.

    Das Ultraschallmodul versendet einen für uns unhörbaren Ton vom ersten Sensor. Der zweite Sensor empfängt diesen Ton. Die verstrichene Zeit vom Senden bis zum Empfangen bestimmt mit Hilfe einer Formel und dem Mittelwert mehrerer Messungen, die Entfernung zum Sensor, bzw. zum Spiegel.

    Ich habe für meine Zwecke die Entfernung zum Spiegel, bei dem eine Reaktion vom Script auf die HDMI-Anzeige erfolgen soll, auf 70cm (und weniger) eingestellt - und es funktioniert. Nur ganz ganz wenige Messungen ergeben einen falschen, bzw. abweichenden Wert. Das ist aber vernachlässigbar. Es ist immer noch besser das in einer Nacht zweimal der Monitor für 2min angeht, als wenn er eingeschaltet bleiben würde. Damit kann ich nun wirklich leben.

    Die Technik hat einen weiteren Vorteil: gerade im Flur "huscht" man oft vor dem Spiegel vorbei. Diese kurzzeitigen Messabweichungen werden durch das Berechnen des Mittelwertes ignoriert, der Spiegel bleibt also ausgeschaltet - ein angenehmer Vorteil!

    Aber schon holt mich wieder das Problem des Flurlichts ein.

    So las ich von instabilen Stromversorgungen (China-Ware) und das der Raspi mit seinen standardmäßig gelieferten 2Ampere-Netzteilen und gleichzeitiger Nutzung der GPIO-Pins auch kurzeitig mehr Strom benötigen würde, also: ein stärkeres Netzteil musste her. Gesagt, getan, bzw. bestellt: 3 Ampere-Netzteil. Das sollte aber jetzt reichen.
    Tat es auch, aber das Problem blieb: sobald ich das Flurlicht einschaltete verabschiedete sich der Raspi.

    Im einzig verbliebenen Elektronikladen hier in der Großstadt legte ich mir dann einen Bausatz zu: "Netzfilter" für 18,00 EUR. Durch die auf dieser Platine verlöteten Bauteile wurde der Strom gefiltert und kurzeitig auch gepuffert, da ich annahm das die Schaltvorgänge des Flurlichts zu einem kurzzeitgen Spannungsanstieg, bzw. -abfalls sorgen würden.

    Ergebnis: das Gleiche: bereits beim ersten Schaltvorgang des Lichts schmierte der Raspi wieder ab.


    • 2 Tage Bedenkzeit...

      OK, die Last im Flur ist vermutlich zu groß. Da waren noch Halogenlampen montiert. Also das komplette Flurlicht auf energiesparende LEDs umgestellt. Die benötigen jetzt zusammen nur noch 7 oder 8 Watt, also fast nichts. Eingeschaltet: NIXXXX. Es war zum "Mäuse melken".

      Im Internet nochmals nachgelesen: Aha: ein neuer Aspekt: "EMV" (Elektromagnetische Verträglichkeit). Eigentlich sollte das alles selbstverständlich sein bei in Deutschland gekauften elektronischen Geräten.


    Ich erfuhr so, das man durch die Verwendung von sog. "Klappferiten" (Metallkerne, die man um ein Kabel clipt) die Schirmung für betroffene Kabel entsprechend verbessert. Klang gut. Einen kompletten Satz (6 Stück) bestellt und um sämtliche Kabel befestigt die vom Raspi abgingen; gleichzeitig zur besseren Abschirmung noch ein Metallgehäuse für den Raspi bestellt. Nach ca. 3 Wochen kam dann endlich das Gehäuse. Fest verbaut, sogar mit Erdungskabel versehen (gelieferte Masse vom Netzfilterbausatz). Ergebnis: Fehlanzeige! Ein Schaltvorgang und der Raspi war wieder tot.

    Für mich war das Kapitel "EMV" aber noch nicht gegessen - und wie sich herausstellte war das auch gut so! ... noch bevor ein Elektriker kommen sollte um die Dreifach-Wechselschaltung des Flurlichts zu überprüfen.

    Da war es dann endlich zu lesen (allerdings zu meinem vollkommenen Erstaunen): die beiden Kabel, die ich lediglich dafür benötigte den Raspi herunterzufahren, können, da die verwendeten GPIO-Pins des Raspi hochohmig sind, wie Antennen wirken. Diese "Antennen" ziehen Lichtbögen und elektromagnetische (Schalt-)Ströme, wie sie beim Ein- und ausschalten von Licht entstehen, quasi an. Das hat bewirkt, dass der Raspi nicht abgestürzt ist, sondern lediglich selbstständig herunterfuhr - so als ob ich den Taster zum herunterfahren gedrückt hätte. Den Test wollte ich natürlich umgehend machen und habe die Kabel einfach von den GPIOs entfernt und - siehe da - ich konnte schalten wie und sooft ich wollte: keine Probleme, der Raspi lief durch.


    Mein geliebter Elektronikladen hatte dann auch die benötigten Bauteile: 2 Widerstände und eine LED, die mir nun sogar den Betriebszustand des Raspi anzeigt.

    Ein 10kOhm-Widerstand als Pullup Widerstand (für 10 cent) der den Level des GPIO hochohmig hält und nur bei Tastendruck auf "LOW" setzt, war die Lösung des größten Problems, dass ich bei meinem SmartMirror hatte... puh, endlich! :-)



     

     

    7. Smart, smart, smart

    • Nun läuft der Spiegel munter vor sich hin, hört dank Sprachsteuerung sogar auf mündlich erteilte Befehle, erzählt Witze, zeigt meine an Alexa diktierte Einkaufsliste (mittlerweile auch mit Männerstimme verfügbar), erklärt mir das Wetter oder z.B. den nächsten Zeitpunkt der Zeitumstellung oder spielt einfach nur Musik meines Lieblingssenders und sorgt durch einen mündlich vorgegebenen Timer dafür, dass nix in der Küche anbrennt oder wenn die Waschmaschine fertig ist.

      Außerdem synchronisiert sich der Spiegel mit meinem Handy-Kalender und zeigt mir so immer die aktuellen Termine der nächsten Tage und heute. Er zeigt aktuelle politische Geschehen in Kurzform an, die Luftqualität im Wohnzimmer (ist ein bisschen nerdig, aber mal wieder Zeit zum Lüften... :-) und von mir festgelegte sog. "RSS-Feeds" (News zu bestimmten Themen) aus dem Internet.

    Steckdosen für die Steuerung per Sprachbefehl im Haus sind bereits bestellt. Damit lassen sich dann Lichtquellen schalten und/oder dimmen. Sogar Deckenleuchten lassen sich damit steuern. Dazu wird einfach ein kleines Kästchen (Vorschaltbox "SonOff") in die Decken- oder Schrankleuchten mit hinein montiert. Mit Sprache kann man so diese Leuchten ein- oder ausschalten. Das müssen dann nicht immer die noch sehr teuren Philips Hue-Leuchten sein...

    Zur Sprachsteuerung dienen dann sog. "Skills". Diese Skills sind Scripte mit Steuerbefehlen die auf bestimmte Sprachmuster anschließend Aktionen vornehmen können. Auch diese können theoretisch frei programmiert werden und lassen so eine individuelle Nutzung zu, z.B. den Fernseher per Sprachbefehl aus- und einschalten, die Raum- oder Pooltemperatur auf bestimmte Werte anzupassen oder Beleuchtungsszenen (Lampengruppen und bestimmte Farben, abhängig von der beabsichtigten Stimmung) für Räume zu steuern.


     

     

    8. Fazit

    Auf die Frage hin, ob ich den Spiegel nochmal bauen würden, traue ich mir mittlerweile ein JA! zu. Bis vor ein paar Tagen (wir haben noch März 2017) wäre ich mir da nicht so sicher gewesen, da die Probleme lange Zeit ungelöst waren und irgendwie auch unlösbar schienen, besonders in Hinsicht auf die Zuverlässigkeit, bzw. Stabilität. Jetzt, da ich weiss, was z.B. das ungewollte Herunterfahren bewirkt hat und ich die Bewegung vor dem Spiegel in den Griff bekommen habe, bin ich mir sicher, das Projekt vielleicht nocheinmal in anderen Dimensionen angehen zu können.


    Zur Frage der gesamten Projektkosten:

    Also mit neuen Ideen ist das ja immer so eine Sache. Wenn es fertig und qualitativ hochwertiger werden soll, werden i.d.R. mehr finanzielle Mittel benötigt als ursprünglich geplant, da es ja auch Fehlversuche und damit verbundene Investitionen gibt. Allerdings, da ich mir vorher viel überlegt und recherchiert hatte und die finanziell aufwendigeren Materialien gut geplant waren, lag dieser "Überschuss" in erträglichem Rahmen. Das waren hauptsächlich Anschaffungen, wie z.B. die beiden Bewegungsmelder (Stückpreis ca. 18,00 EUR), einen "falsch" bestellten Taster aus Edelmetall für 5 EUR (war ein "Schalter" und kein "Taster") und kleinere überschüssige Bauteile, die man en gros kaufen sollte, da sie dann günstiger sind.


    So belief sich die Summe der reinen Materialkosten auf ca. 370,00 EUR (inkl. der Sprachsteuerung). Ob es dann den Preis wert ist muss jeder für sich entscheiden. Es war ein Forschungsprojekt, allerdings mit dem Ziel den Spiegel in jedem Fall umzusetzen. Diesen Ehrgeiz benötigt man aber auch. Die beschriebenen Hürden waren nur die Spitze des Eisbergs. Es werden schon Grundkenntnisse der EDV und handwerkliches Geschick vorausgesetzt. Im angegebenen Preis nicht enthalten ist das Werkzeug. So etwas, wie Schraubzwingen, Lötkolben, Bohrmaschine, Heissklebepistole, Pinsel und kleineres Handwerkszeug (und deren Umgang) sind dabei voraussgesetzt vorhanden oder schlagen sich sonst zusätzlich auf den Preis nieder.


    Zur Frage der benötigten Bauzeit:

    Die längeren Bestellzeiten und meine momentanen beruflichen Auszeiten haben die meiste Zeit verschlungen. In Summe würde ich sagen ca. 3 Monate inkl. aller Bestellzeiten. Die reine Bauzeit würde sich vielleicht auf ca. einen Monat belaufen.



     

     

    9. SmartMirror Tuning

    Wie das nunmal so ist wenn technische Neuerungen Einzug halten, habe ich damit begonnen kleinere Anpassungen nachträglich am Spiegel vorzunehmen. Seine Breite von 50cm erwog mich dazu den noch verbleibenden Rand von ca. 10cm links und rechts neben dem Monitor und den Platz unterhalb sinnvoll zu nutzen.


    Mod 1.)

    Die erste Modifikation war eine dauerhafte Spannungsmessung mit digitaler Anzeige rechts unten im Spiegel. Diese Spannung misst das Modul an den 5V GPIO-Pins des Raspis gegen Masse. Eine schöne blaue (und dauerhafte) Anzeige der Messung gibt mir nun Auskunft über die anliegende Spannung des Netzteils. Da die Anzeige auf 2 Stellen genau misst, kann ich hier kleinere Spannungsabfälle direkt ausmachen. Sobald der HDMI-Ausgang für den Monitor eingeschaltet wird, beginnt diese Anzeige in kürzeren Abständen minimal abzuweichen. Ich gebe zu, das ist etwas "nerdig" und nicht zwingend nötig, verleiht dem Spiegel aber auch einen gewissen "technischen look" und dient bei etwaigen Fehlern aber auch zu deren Behebung, z.B. zur Kalibierung des Ultraschallsensors und dessen Empfindlichkeit in punkto Pause zwischen den Messzeiten und Abstand zum Sensor.


    Mod 2.)

    Die zweite und maßgeblichere Modifikation beschreibt den Einbau von 6 LED-Lampen HINTER dem Spiegel.
    Auf diese Art der Spiegelbeleuchtung bin ich durch aktuelle Spiegelkonstruktionen der modernen Baubranche, z.B. der Badezimmereinrichtungen aufmerksam geworden.

    • Ein gewisses Risiko verbarg sich schon dahinter, da ich nicht wusste ob die LED-Lämpchen hell genug für einen Durchleuchtung des Spiegels sein würden. Immerhin haben sie je LED nur 1 Watt Leistung!
      Naja, und ein bischen smart musste es ja auch noch werden. Also war es klar: diese Lämpchen schalte ich mittels Sprache ein und aus - ich wollte schließlich keine dauerhaften Fingerabrücke auf dem Spiegel und auch sonst nichts manuell schalten müssen. Mittlerweile gibt es für die SmartHome-Steuerung ein paar Anbieter und private Nachbauer, die auf dem Spiegel "rumschmieren" um irgendwelche Regler oder sonstige Schalter per Touch zu bedienen. Aus dem o.g. Grund kommt das aber für mich nicht in Frage. Um das nun materialtechnisch zu bewerkstelligen habe ich einen Satz LED-Lampen nebst (sogar dimmbarem) Netzteil besorgt.

    Dazu noch ein von mir modifiziertes SonOff-Relais und schon war per Alexa eine Sprachsteuerung möglich.
    Hierbei war die elektronische Konfiguration eher Nebensache. Das Problem bestand in der Modifikation der Hardware, und zwar bei der Bearbeitung der schwarzen Folie hinter dem Spiegel und die Befestigung der LED-Lampen:

    Lösung: die schwarze Folie musste ich für die Durchleuchtung der LEDs durch den Spiegel kreisrund ausschneiden. Das gelang mir trotz ruhiger Hand und der Enge im Spiegelgehäuse nur bedingt gut (trotz Paspatous-Messer). Eine kreisrunde Schablone, bzw. eine Unterlegscheibe aus schwarzer Pappe mit 1cm Durchmesser war dann die Lösung. Diese befindet sich nun zwischen den LEDs und der Spiegelrückwand (von vorne nicht sichtbar).

    Die zweite Hürde war die Befestigung der LEDs. Da half der Baumarkt aus mit Klemmschellen (EM20) in die ich die kreisrunden LED-Gehäuse klemmen konnte und am Spiegelrand mit Heisskleber fixieren konnte. Da ich dafür keine Tests durchführen konnte ohne die "Zerstörung" der bisherigen Spiegelkonstruktion, hatte ich nur einen Versuch.
    Tja, und was soll ich sagen: er ist geglückt. Die LEDs sind richtig hell und beleuchten das Gegenüber (mich) um auch bei schlechteren Sichtverhältnissen die gewünschten Details erkennen zu können.


    Mod 3.)

    • ...beschreibt eher technische Feinheiten, bzw. das nachträgliche Tuning des Python-Scripts vom Ultraschallsensor. Hier habe ich die Kennzahlen für Abstandsmessung, das Messintervall (in Sekunden) und die Gesamtzeit des einzuschaltenden (/auszuschaltenden) HDMI-Eingangs bearbeitet, damit er sich möglichst nur dann einschaltet wenn ich vor dem Spiegel verweile - und nicht beim Vorbeigehen im Flur eingeschaltet wird.

      Außerdem habe ich im "crontab" des Raspis dafür gesorgt, dass er jeden Montag morgen neu startet um etwaige "Speicheraltlasten", bzw. Probleme in Scripts loszuwerden.

      (Modifizierter Spiegel, seitlich)


    •  

    Abschließend hier noch das Script, welches ich für das Ultraschallmodul nutze um den Spiegel nur beim ''davorstehen'' zu aktivieren. Ich bin diesbezügl. schon oft angesprochen und angeschrieben worden. Deswegen hier nun der Quelltext dazu - sorry für die Verspätung.

    SCRIPT ZUM ULTRASCHALLMODUL (in PYTHON programmiert).

     


    Es bleibt für mich ein innovatives und lohnendes Projekt das mir nun nachhaltig viel Freude bereitet und das Leben ein bisschen "smarter" macht - und wieder einiges dazu gelernt...!

    Vielleicht hilft meine Beschreibung ja beim Umsetzen des eigenen SmartMirrors weiter und sorgt anschließend für einen "unbeschwerten" Blick in den Spiegel! ;-)


    (Stand: 2020)


    Zurück zu Techn. Development