MagicMirror – Finalisierung

Gestern konnte ich endlich mein MagicMirror Projekt (zum Grössten Teil) abschliessen. Nach dem ersten Versuch mit Spionspiegel Folie, habe ich Alternativen gesucht. Dazu startete ich zwei Anfragen bei Glasereien. Eine davon wurde bis heute leider nicht beantwortet, bei der zweiten habe ich eine Offerte für ein Spionspiegel aus Glas erhalten. Leider wäre der Spiegel ca 300.- CHF teuer gewesen, 6mm Dick und ca 2.7 Kg schwer. Das ist mir erstens zu teuer und auch von den Massen unpassend. Dann bin ich auf einen Acrylglas-Spiegel 2W gestossen, den ich über die Firma Kunststoffpark bestellen konnte. Preis inkl. Mwst und Versand waren etwas über 90.- CHF. Diesen Acryglas-Spiegel 2W kann ich empfehlen, wenn jemand ein ähnliches Projekt machen will. Den Spiegel habe ich auch schnell erhalten und konnte dann endlich mein MagicMirror fertigstellen.

Damit ich das Display im Spiegel ein- und ausschalten kann, habe ich via Banggood ein 250V Relais bestellt, welches über die GPIO Schnittstelle des Raspberry Pi angesteuert wird. Auch das ist nach etwa 2 Wochen eingetroffen. Mit Python habe ich einen kleinen Daemon geschrieben, der das Relais ansteuert (via SIGUSR1 und SIGUSR2 Signals). Weiter habe ich eine MQTT Schnittstelle in den  Daemon eingebaut, damit ich das Display auch Remote ein- und ausschalten kann. Damit ist nun auch ein produktiver Einsatz von Node-Red. welches ich früher schon Mal erwähnt habe, möglich. Via Node-Red Dashboard habe ich ein einfaches Dashboard erstellt, um das Display An- und Auszuschalten. 

Aktuell steuere ich das Display über einen MQTT Channel smartmirror/command an den ich ein JSON sende. Z.B. {„screen“:“on“} um einzuschalten oder {„status“:“get“} um den Status abzufragen. Beim Status Command wird auf dem Channel smartmirror/status den aktuellen Status via JSON ausgesendet. Das geschieht auch automatisch bei jedem Statuswechsel (von on zu off oder umgekehrt). Vermutlich werde ich diese Schnittstelle aber noch umbauen, ich muss mich noch schlau machen, was hier die gängigen Standards sind um IOT Geräte via MQTT zu steuern. Vermutlich werde ich es so umbauen, dass es nur einen Channel smartmirror/display/power gibt. In den Channel wird dann eine einfache 0 oder 1 gesendet um die Stromzufuhr zum Display zu steuern. Der gleiche Channel kann auch für die Status-Response verwenden werden.

Was noch fehlt, ist ein kleiner Push-Button am MagicMirror, um das Display auch ohne Dashboard Ein-und Auszuschalten. Aktuell habe ich ein via Cronjob getriggertes Script am laufen, um das Display zeitgesteuert Ein- und Auszuschalten (in der Nacht sowie ab spätem Morgen bis spätem Nachmittag läuft das Display z.B. nicht).

Update 22. Mai 2018

Hier ein kurzes Video wie der Spiegel live aussieht