MagicMirror: Een slimme spiegel

MagicMirror: Een slimme spiegel

Iets van acht jaar geleden stuitte ik op YouTube op een video van een slimme spiegel. Door de spiegel heen scheen een, door een Pi aangestuurd scherm die allemaal praktische zaken liet zien zoals een agenda, reistijden, het weer, enzovoorts. Ik beloofde mezelf dat ik ook ooit zoiets zou maken.

Twee weken geleden begon het feest; De software moest aan de praat. Gelukkig is er al heel veel werk gedaan door het (nederlandse) MagicMirror² project.

MM Draait op een Raspberry Pi, daar had ik er gelukkig nog een paar van liggen. Een tweedehands monitor was snel gevonden via Marktplaats. Een HDMI-kabel was te vinden in de draadjesbak en een SD-kaartje had ik ook nog wel ergens liggen. Het bouwhout wat ik nodig had was toevallig in de aanbieding bij de Gamma.
Het enige wat ik nog nodig had was het spionnenglas. Het was de bedoeling dat de zichtkant weerspiegelde en de achterkant licht door kon laten. Er zijn verschillende manieren om dit te doen:

  • Acryl; goedkoop, lachspiegeleffect bij groot oppervlakte
  • Glas met folie; een betere oplossing, wel kans op luchtbellen
  • Spionnenglas; de duurste oplossing maar ook het beste

Onder het mom van 'Buy once, cry once' besloot ik om te gaan voor de laatste optie. Het bedrijf Pilkington maakt twee soorten glas die zich heel goed lenen voor dit gebruiksdoel, namelijk MirroView en MirroPane. Het verschil is dat de View variant via de 'achterkant' meer licht doorlaat. Hierdoor is het scherm beter te zien maar is het spiegelend effect minder. Bij de MirroPane werkt het andersom.

MirroPane is beschikbaar in twee diktes: 4 mm en 6 mm. Ik koos voor de vier omdat ik het gewicht binnen de perken wilde houden, en omdat er dan minder glas is wat het licht van de monitor tegen kan houden. Op Tweakers.net stuitte ik op een forumpost met allerlei praktische tips en leveranciers binnen Nederland. Na een lijstje gemaakt te hebben van de verschillende leveranciers en hun prijzen kwam ik er al snel achter dat het glas van Pilkington aardig duur was. Ik woon vlakbij de Duitse grens dus besloot ik om mijn zoekgebied te vergroten. Ik belande bij Glas Star: Die konden ~30% goedkoper leveren dan de bedrijven in Nederland en ik kon betalen via iDeal.

De achterkant van de Magic Mirror, nog zonder raspberry PI

Terwijl ik aan het wachten was op het leveren van het glas, ben ik me gaan verdiepen in de software. MM draait op een Node.js backend met Electron als user interface. Ik ben met beide technieken niet bekend maar gelukkig is ChatGPT dat wel. Door de modulaire opbouw van MM is het heel eenvoudig om de functionaliteit uit te bouwen naar iets wat goed aansluit op de eindgebruiker.

Afvalkalender

Het gebeurt thuis regelmatig dat we vergeten het afval buiten te zetten. Dit heeft alles te maken dat we geen normale werkweken hebben en soms vergeten welke dag het ook alweer is. De MM zou hier uitkomst kunnen bieden; immers is er al een hapklare module beschikbaar op de site van MM. Na het installeren kwam ik er achter dat er een API key nodig is van de ontwikkelaar van de module om er gebruik van de maken. Te moeilijk! Ik downloadde de PDF van afvalwijzer.nl. Een klein script scraped de gegeven uit de PDF en presenteert deze op de spiegel. De afvalkalender is geboren.

Familieagenda

Verjaardagen, vakanties, wanneer een voetbalwedstrijd is en wat we welke dag eten. Allemaal praktische dingen die mooi getoond kunnen worden op de MM. Ik heb een nieuw Google account aangemaakt en iedereen in huis het wachtwoord gegeven. Op deze manier kan iedereen items inplannen. Out-of-the-box zit er al een goedwerkende module die iCal gegevens kan importeren vanuit Google Calendar. Het enige wat gedaan hoeft te worden is de geheime link in de module te zetten en klaar.

Energieverbruik

Het zal niemand ontgaan zijn dat de energieprijzen de pan uit rijzen. Om grip op de situatie te krijgen heb ik een P1-meter gekocht van HomeWizard. Deze is in te pluggen in elke moderne meterkast en geeft uitgebreide info over het verbruik en hoeveel energie opgewekt wordt.
Ook hier is een module voor, echter wilde ik graag ook de gemiddelde energieprijs weten en berekenen wat we per dag ongeveer kwijt zijn aan de energiekosten en hoe het verbruik zich verhoudt met de afgelopen dagen.

De P1-meter in de groepenkast

Toekomstmuziek

Ik was ook begonnen met het integreren van een webcam. Deze zou dan door middel van gezichtsherkenning bepaalde modules wel of niet laden. Echter vraagt dat best wel veel van de raspberry Pi 3. Voor de beeldvorming: De Pi kon het net aan bijhouden door 1 frame per 2 seconden te scannen voor een bekend gezicht. Misschien dat ik in de toekomst ga upgraden naar een Pi 4 of een Intel N100.

De spiegel in actie. De informatie is onleesbaar gemaakt.