zondag 16 juli 2017

Een Magic mirror maken met een raspberry pi

Een magische spiegel kennen we van het sprookje Sneeuwwitje. Met een raspberry pi kunnen we er zelf één bouwen.

In het officiële raspberry pi magazine MagPi nr 54 komen we te weten hoe we hieraan beginnen. De basissoftware kan je met één regel installeren en daarna kan je beginnen tunen: extra modules toevoegen of  een pir-sensor, buttons of een camera aansluiten ...

Het magazine kan je gratis als pdf lezen: https://www.raspberrypi.org/magpi/issues/54/

Stappenplan:
  • halfdoorschijnende spiegel maken
  • raspberry pi klaaarmaken
  • 'magic mirror'-software installeren en tunen
  • extra modules configureren (kalender, rss feeds, ...)
  • extra hardware opzetten: pir-sensor, camera, buttons, ...
  • raspberry pi configureren om automatisch op te starten en zorgen dat het computerscherm niet in slaapmodus gaat

  • halfdoorschijnende spiegel maken
Een halfdoorschijnende spiegel maken we door "zonnewerende raamfolie met spiegeleffect" op een glasplaat te kleven.  We volgen de instructies die bij de raamfolie zitten.

We hebben enkele fotokaders. Je kan ook de glasplaat van een afgedankte scanner recycleren.
De spiegel monteren we dan voor een oud computerscherm dat we aansluiten op een raspberry pi.

  • raspberry pi klaarmaken
We hebben voor dit project een raspberry pi 2 of 3 nodig. Het besturingssysteem van een raspberry pi staat op een sd-kaartje. Download het "raspbian jessie met desktop"-zipbestand van de officiële site: https://www.raspberrypi.org/downloads/raspbian/
Op deze plaats vind je ook de methode om het zipbestand op een sd-kaartje te copiëren.
Raspbian is een versie van Linux speciaal gemaakt voor de hardware van de raspberry pi. Als je nog nooit met linux hebt gewerkt dan is deze introductie handig.
  • 'magic mirror'-software installeren en opstarten
Om software te installeren en configureren maken we gebruik van een "terminal' waarin we commando's intikken. Het standaard terminal-programma van raspbian noemt LXTerminal. We kunnen de 'magic mirror'-software installeren met één regel:
curl -sL http://magpi.cc/MirrorInstall | bash
Het programma is dan geïnstalleerd in /home/pi/MagicMirror. We maken nog een copie van het configuratiebestand:
cp ~/MagicMirror/config.config.js.sample ~/MagicMirror/config/config.s

Hier wordt stap-voor-stap uitgelegd hoe je de magic mirror (mm) automatisch kan laten opstarten. Het enig wat ze vergeten te vertellen is hoe je een commando kan intikken als de mm draait. Dat kan door de toetsencombinatie  ctrl-alt-d.
  •  magic mirror configureren: taal aanpassen
We personaliseren de magische spiegel door het configuratiebestand ~/MagicMirror/config/config.s aan te passen met de "editor" nano.
Nano werkt helemaal niet zoals een windowprogramma en misschien vergt het enige aanpassing om ermee te werken. Om een bestand op te slaan doe je bijvoorbeeld ctrl-X. We openen het bestand met:
nano ~/MagicMirror/config/config.js
Wanneer we dit aandachtig lezen dan kunnen we zien welke instellingen er zijn, welke modules er actief zijn en welke instellingen die modules hebben.
Het bestand is op een preciese manier gestructureerd - je kan niet zomaar lijntjes of tekens wissen of toevoegen.
Alles wat op dezelde regel na // staat of alles wat tussen /* en */ staat wordt beschouwd als commentaar en wordt niet uitgevoerd. Om iets te deactiveren zetten we dus een // voor de regel die we willen deactiveren.

Een instelling  kunnen we aanpassen door bijvoorbeeld na 'language" "en" te vervangen door "nl".   Daarna slaan we het configuratiebestand op met ctrl-X en J.
Daarna herstarten we de mm:
pm restart mm
De datum van de kalender moet nu in de Nederlandse taal staan.

  • magic mirror configureren: een module verwijderen of aanpassen

Als we bijvoorbeeld de klok-module willen verwijderen kunnen we niet gewoon // voor module: "clock" schrijven maar moeten we de hele module-block "uncommenten" door /* aan het begin van het blok en */ op het einde van het blok dat je wil verwijderen te zetten:
/*{
    module: "clock",
    position: "top_left"
},*/
Modules kunnen we verplaatsen door "top_left" aan te passen. Meer uitleg hier

De module "compliments" kunnen we aanpassen in het bestand ~/MagicMirror/modules/default/compliments/compliments.js (maak eerst een copie):
cp compliments.js compliments_OUD.js
nano ~/MagicMirror/modules/default/compliments/compliments.js
 Je kan hier de 'complimentjes" aanpassen door wat je wil. Respecteer ook hier weer de structuur van de tekst anders gaat het niet meer werken.

Bij de "calender-modules kan je de url of het online adres van de kalender aanpassen. Als je een gmail emailadres hebt dan heb je hierbij ook een google kalender die je voor deze module kan gebruiken.

Om de weerbericht-module de weersvoorspelling van Destelbergen te laten weergeven  kan je gratis een ID aanvragen bij openweather.

Om een newsfeed-module te gebruiken maak je bijvoorbeeld eerst een gratis blog bij blogspot.com blog/website en voeg je een gadget 'Abonnementlinks" toe. Als je dan op je blog/website op aamelden bij/berichten/Atom klikt krijg je een webpagina met al je berichten op die blog. Het adres van deze pagina (bijvoorbeeld https://bibschuur.blogspot.com/feeds/posts/default) kan je dan invoegen als newsfeed-url.

  • Extra modules installeren en configureren

Hier vind je heel wat interessante modules maar ze zijn niet allemaal even goed uitgewerkt en de documentatie is soms erg karig. Ik behandel er enkele om jullie op weg te helpen.

Om bijvoorbeeld in het midden van de magische spiegel een YouTube-filmpje af te spelen gaan we naar https://github.com/nitpum/MMM-EmbedYoutube 
en clonen of downloaden het zipbestand (dat wordt opgeslagen in de map ~/Downloads. In een terminal-venster doen we dan:
cd ~/Downloads
cp MMM-EmbedYoutube-master.zip ~/MagicMirror/modules
cd ~/MagicMirror/modules
unzip MMM-EmbedYoutube-master.zip
rm MMM-EmbedYoutube-master.zip
rename MMM-EmbedYoutube-master youtube
nano ~/MagicMirror/config/config.js
Kopieer deze blok tussen de andere modules:
      {
  module: "youtube", 
  position: "middle_center", 
  config: {
   // See 'Configuration options' for more information.
   watch: "KKiSoGj1hhM",
                        autoplay: true,
                        width: 1120,
                        height: 630
                         
 }
 }

Daarna opslaan met ctrl+x en J en
pm2 restart mm
"KKiSoGj1hhM" halen we uit het adres van het YouTube-filmpje: https://www.youtube.com/watch?v=KKiSoGj1hhM
We hebben autoplay op true gezet want anders begint het filmpje nooit te spelen. Spijtig voor een magische spiegel is ook dat het filmpje maar één keer speelt - eigenlijk zou het in een loop moeten spelen. Om dat te veranderen moet je het bestand youtube.js in de map ~MagicMirror/modules/youtube aanpassen zodat aan de youtube-url zowel 'loop=1' als bijvoorbeeld 'playlist=KKiSoGj1hhM' worden toegevoegd.

Nog enkele modules om mee te experimenteren:

https://github.com/sp4ceman/MMM-googlemaps
https://github.com/paviro/MMM-PIR-Sensor
https://github.com/mochman/MMM-Swipe
https://github.com/masters1222/mm-music-player
https://github.com/eouia/MMM-DropboxWallpaper
https://github.com/mykle1/MMM-EasyPix
https://github.com/MichMich/MMM-Snow
https://github.com/kapsolas/MMM-Instagram













Geen opmerkingen:

Een reactie posten