# data[].attributes.attachment_link.provider_name
Framboise 314, le Raspberry Pi à la sauce française....

# data[].attributes.attachment_link.readable_text
Publié le 21 octobre 2018 - par
Petit article pour parler d'un projet qui a échappé au blog jusqu'ici : Le Magic Mirror. Le Magic Mirror (miroir magique) est un projet Raspberry Pi très populaire, qui permet de concevoir un miroir intelligent modulaire.

Petite vidéo pour vous faire une idée d'implémentation, ici le projet est couplé avec l'assistant Kalliopé, déjà couvert dans ce blog.

Le projet est modulaire, vous pouvez donc afficher toutes sortes d'informations comme :

la date et l'heure

la météo

vôtre agenda

des news

des citations

l'horaire de bus/train et autres moyens de transport

une TODO list

le trafic routier

des informations provenant de modules connectés au Raspberry (température, humidité, pression atmosphérique, etc..)

l'Informations liées à vos éléments domotiques

Certain module sont natif et disponible immédiatement après installation, les autres sont communautaire et à installer manuellement.

La liste des modules natifs est là. Et la liste des modules communautaire est disponible ici.

Il est bien sur possible de créer son propre module. Le projet est codé en javascript et basé sur nodejs. La documentation pour vous aider dans ce sens est ici.

Préparation du raspberry

Installation d'un gestionnaire graphique de bureau

Cette partie de l'installation est nécessaire si vous avez installé un Raspbian Lite, c'est à dire dépourvu d'interface graphique.

Installation d'un serveur graphique :

On configure le Raspberry pour qu'il utilise le gestionnaire graphique de bureau au démarrage :

Rendez vous dans " Boot Options " et passez l'option sur " Desktop Autologin "

On installe d'autres paquets et librairies nécessaire à l'installation :

Pulseaudio s'est installé en même temps que le gestionnaire de bureau. Sa suppression est recommandée afin de laisser le programme par défaut Alsa gérer le son si vous pensez coupler le système à un assistant vocal :

On redémarre une première fois pour appliquer les changements :

Vous devriez cette fois démarrer sur un environnent de bureau.

Désactiver le curseur de la souris

On ajoute un petit programme qui va se charger de cacher le curseur de la souris automatiquement :

Incliner l'écran

Si vous voulez incliner l'écran, éditez le fichier /boot/config.txt en ajoutant le flag display_rotate selon la syntaxe suivante :

Ou le numéro de config est :

display_rotate=0 Normal

display_rotate=1 90 degrés

display_rotate=2 180 degrés

Par exemple :

Full screen

Si vous n'êtes pas en plein écran, il est possible de le forcer en éditant le fichier /boot/config.txt :

Vous allez forcément utiliser le module qui permet d'afficher l'heure sur vôtre miroir. Ce module se base sur l'heure du système, il est donc préférable que ce dernier soit réglé sur une heure française.

Lancez le gestionnaire de configuration Raspbian :

Rendez vous dans l'onglet " Timezone ", puis sélectionner " Europe ", puis " Paris " pour basculer sur l'heure Française :

Par ailleurs, être à la bonne heure est aussi plutôt appréciable.

Pour cela on utilise le protocole NTP (Network Time Protocol). C'est un protocole qui permet à un ordinateur de synchroniser son horloge sur un autre ordinateur avec une précision plus élevée via internet.

Installation du paquet qui va bien :

Lancement du deamon :

On édite le fichier /etc/ntp.conf et on modifie les lignes " server " pour se synchroniser sûr les serveurs français :

On redémarre le service pour prendre en compte les changements :

Vérifiez que l'heure est correcte avec la commande suivante :

Désactiver l'écran de veille

On souhaite voir uniquement l'affichage du Magic Mirror sans interruption. Par défaut Raspbian possède un écran de veille qui se lance automatiquement après une période d'inactivité.

Éditez /etc/xdg/lxsession/LXDE/autostart et .config/lxsession/LXDE/autostart, supprimer ou commentez la ligne suivante :

Et ajouter la ligne suivante en fin de fichier

Enfin, éditez le fichier /etc/lightdm/lightdm.conf et ajouter la ligne suivante dans la section [Seat:*] :

Il faut redémarrer le Rpi pour prendre en compte ces changements.

Magic Mirror

Installation

L'installation est très facile, depuis un Raspbian fraîchement installé :

D'autre méthodes d'installations sont disponible depuis le site officiel ici.

Vous avez à présent un dossier MagicMirror dans le " home " de l'utilisateur " pi ". Placez vous dans ce dossier et lancer l'installation des modules javascript. Normalement c'est une étape qui a déjà été effectuée pendant le processus d'installation mais cela ne coûte pas grand chose de vérifier que tout est bien là :

On va activer la configuration par défaut, pour cela on copie juste le fichier :

Maintenant vous pouvez lancer le Magic Mirror

Si vous être en direct sur le Rpi, utilisez cette commande :

Si vous êtes en SSH, utilisez cette commande :

Normalement vous devriez avoir un résultat comme celui-ci à l'écran :

Faite un ctl-C pour stopper le programme.

Démarrage automatique

On va faire en sorte que le projet se lance automatiquement après chaque reboot du Rpi.

Installez le packet PM2 qui est un gestionnaire de processus node :

On lance le gestionnaire depuis le dossier MagicMirror :

Cette commande va vous retourner une commande à exécuter qui devrait ressembler à ceci :

Exécutez la commande comme demandé. Magic Mirror est à présent lancé automatiquement à chaque démarrage.

Pour relancer Magic Miror vous pouvez à présent faire :

Configuration

Vous l'avez compris, la configuration se passe dans le fichier config/config.js. Je vous recommande d'éditer ce dernier avec un IDE comme VScode afin de détecter vos erreurs de syntaxe. Le fichier est écrit en javascript.

Le bon workflow pour travailler avec ce type de projet est :

copier le fichier avec WinSCP (via SSH) sur votre station de travail Windows

Editer avec VScode le fichier

Envoyer à nouveau le fichier sur le Rpi avec WinSCP

Relancer le service Magic Mirror pour prendre en compte les changements

Dans le fichier config.js, vous pouvez commencer par mettre la langue du miroir en français :

Les modules

Dans ce fichier, vous aurez à jouer principalement avec la variable " modules " qui contient la liste des modules chargés sur votre miroir et leurs configurations.

Un module c'est quoi ? C'est un plugin qui va effectuer une tache et dans la plus part des cas afficher une information sur le miroir.

Une déclaration de module s'effectue avec la syntaxe suivante :

Par exemple :

Voici la liste des principaux éléments que compose un module :

La position du module sur le miroir. Les valeurs possible sont :

top_bar, top_left, top_center, top_right

upper_third

middle_center,

lower_third

bottom_left, bottom_center, bottom_right, bottom_bar

fullscreen_above, fullscreen_below.

Optionnel: Affiche un texte au dessus du module

Optionnel: Mettre à true pour désactiver le module

Optionnel: Objet contenant les propriétés de configuration du module. Il faut se référer à la documentation de chaque module pour connaitre les propriétés.

Vous pouvez trouver la liste complète sur la documentation officielle ici.

Au niveau des " positions ", cette image pourra vous aider :

Utilisation d'un module natif

Les modules natifs sont les modules déjà présent après installation du Magic Mirror. Vous pouvez trouver la liste complète ici.

Pour les utiliser, vous devez juste les déclarer et les configurer dans vôtre fichier config.js.

Par exemple, je souhaite afficher un simple texte à l'écran, je vais utiliser le module " HelloWorld ". Si je regarde sa documentation, je peux voir que seule la clé " text " est nécessaire dans sa configuration. Je peux donc écrire :

Le résultat sera le suivant :

Un exemple avec le module " newsfeed ", qui n'est autre q'un lecteur de flux RSS. Ici je le configure pour lire le flux du site " Le Monde " :

Et maintenant ma page ressemble à ceci :

Installation d'un module communautaire

La force du projet réside dans sa communauté. Vous trouverez sur cette page une liste de module que vous pouvez installer sur votre miroir.

Pour installer un module c'est très simple, il suffit de :

le télécharger et de le placer dans le dossier " modules " qui se trouve à la racine du dossier MagicMirror.

Installer les librairies associées au module

Ajouter la déclaration du module à vôtre config.js

Généralement, les modules sont hébergés sur Github. Le plus simple est donc d'installer Git :

On va maintenant pour l'exemple, installer un module communautaire: Trello Ce dernier permet d'afficher une liste de taches.

On se place dans le dossier " modules " :

On clone les sources, on se place dans le module et on installe les librairies associées :

Voila à quoi ressemble maintenant le répertoire " modules " :

default contient les modules par défauts du projet Magic Mirror

MMM-Trello est notre nouveau module fraîchement installé

node_modules est le répertoire qui va héberger les librairies nécessaires au fonctionnement de vos modules

Voila, le module est prêt a être utilisé. Pour l'afficher il faut mettre à jour notre fichier de configuration config.js. La documentation du module permet de savoir comment le configurer.

On y apprend qu'il faut :

Je vais avoir une configuration qui ressemble à ceci :

Et voila le résultat :

Conception du miroir

La partie conception est totalement libre. Je ne peux que vous recommander de fouiller le forum pour y trouver des idées. Il y a également pleins de vidéo sur Youtube.

Certain travail avec le cadre avec du bois et d'autres avec du plastique via de l'impression 3D.

Au niveau matériel vous avez obligatoirement besoin :

D'un Raspberry

Un écran

Un miroir sans tain (en anglais un Two Way Mirror)

Pour le miroir, vous pouvez passer par un miroitier dans vôtre région ou trouver sur internet des miroir moins chère en acrylique. La encore le forum vous sera d'une grande aide.

Bonus : relier Magic Mirror à Kalliopé

Il est possible de relier votre Magic Mirror à plusieurs modules de reconnaissance vocale. La liste complète se trouve ici. Parmi eux, vous trouverez Alexa et Google Home pour les assistants commerciaux les plus connus.

Dans cette partie je vous explique comment relier vôtre Magic Mirror à Kalliopé.

Je pars du principe que Kalliopé est déjà installée sur vôtre Raspberry. Si ce n'est pas le cas je vous invite à regarder cet article dédié.

Du coté de MM: Installation du module

Du coté du Magic Mirror, on se place dans le dossier module, on clone et on installe le module Kalliope.

On ajoute le module à nôtre config.js

Voila. Le module est prêt à recevoir les phrases prononcées par Kalliopé.

Du coté de Kalliopé: Installation du neurone

On se place dans nôtre dossier kalliope (votre starter kit) et on installe le neuron :

On va créer un synapse dans notre brain.yml qui se charge d'envoyer les phrases prononcées par Kalliopé au Magic Mirror. Les phrase seront capturées par le module, qui les affichera à l'écran :

Ici, l'adresse mm_url est en 127.0.0.1 car Kalliopé est installée sur le même Rapsberry que Magic Mirror. Si vous avez l'installation sur deux Rapsberry différents vous devez mettre à jour cette partie. Par exemple http://192.168.0.10:8080/kalliope.

A chaque fois que kalliope parle, elle place la phrase qu'elle a prononcé dans une variable nommée " kalliope_last_tts_message ". Cette variable est placée dans la mémoire de Kalliopé, accessible via " kalliope_memory ". L'article dédié sur kalliope explique plus en détail cette partie.

Le synaspe est prêt. La dernière étape consiste à relier ce synapse au " hook " " on_start_speaking " qui va se charger le lancer le synapse " mm-say " à chaque fois que Kalliope parlera.

On édite nôtre settings.yml, dans la partie hook :

C'est terminé. Apres un redémarrage du MM et de Kalliope vous devriez à présent voir afficher tout ce que cette dernière vous dit.

Les Frères Poulain ont utilisé cet article pour construire leur Miroir Magique, en vidéo

Vous êtes prêt à vous lancer dans votre projet de Magic Miroir !
N'hésitez pas à laisser vos commentaires, vos questions et vos retours qui permettront d'aider à améliorer l'article.

# data[].attributes.attachment_link.description
Petit article pour parler d'un projet qui a échappé au blog jusqu'ici : Le Magic Mirror. Le Magic Mirror (miroir magique) est un projet Raspberry Pi très populaire, qui permet de concevoir un miroir intelligent modulaire. Petite vidéo pour vous faire une idée d'implémentation, ici le projet est couplé avec l'assistant Kalliopé, déjà couvert dans...

# data[].attributes.attachment_link.readable_text
A Raspberry Pi powered Magic Mirror

A magic mirror is a raspberry pi powered monitor behind a double sided mirror. A mostly black web page allows you to add some widgets to the mirror's reflection as if by magic. This version includes widgets for displaying the weather forecast, the date/time and a nice randomly generated greeting. No low level hardware hacking required, just some basic woodworking and some code I've already put together.

What you'll need

A double sided acryllic mirror fit to the size of the monitor

A few 2 x 4's to build a case around the monitor

Thin wood to build the forward facing mirror frame, I used 1/8 x 3' board

A raspberry pi and it's needed components, i.e. the power supply, HDMI cord, wifi usb dongle, and a keyboard for initial setup

Basic woodworking tools like a saw, sander, screwdriver

Screws, liquid nails

Choosing the monitor

The size of the mirror is really dictated by the kind of monitor you get. I wanted to get something large as possible but also with a removeable arm so it could fit inside of a case. Another important aspect is making sure you get a monitor with the inputs towards the center of the monitor rather than the sides.

I was cautious to get a monitor with it's inputs on the bottom or side because it would be hard to make the frame to fit and have the raspberry pi's HDMI cord also fit. I ended up picking the BenQ GW2760HL 27 inch monitor. Turned out perfect for the job.

Getting the Mirror

The mirror is definitely the most essential piece to the whole project. However what I didn't know was that these double sided mirrors are actually acryllic and plastic like. They're much more forgiving than actual mirrors and you can cut them in several different ways to fit what you need. So order a mirror that's close to the size of your monitor (only the screen part, do not include the bezel in your measurement). But don't worry too much about ordering slightly too big, you can cut to fit the size you need.

I ordered my mirror from TAPPlastics.com but you can get them from several other vendors online. This is the exact product I ordered.

Removing the monitor's bezel (optional)

I decided to make the case fit even closer to the monitor by removing the plastic around the monitor. Turned out to be a good call because at first I didn't take in for account the depth space I'd need to fit in all the wiring. I used a paint scraper to pry at the edges of the monitor till it eventually gave in and split.

Make sure to be careful removing the monitor controls. They're wiring is very thin and you'll definitely need it intact to turn on and adjust the monitor.

Building the case

Nothing super exciting here. I just cut 4 4x2 pieces to fit the new Jenny Craig'd monitor in a case. I used a few clamps to hold the pieces in place while screwing in the sides. With this method you'll get a flush fit and be able to remove the montior from the case with no issues.

A side note, I also screwed in holes at the top and bottom of the case. This was to allow the raspberry pi to at least have some air flow. You don't want your computer to bake in a completely enclosed space.

Final side note, remember to make one of those holes at the bottom of the case big enough for a power plug to fit through. You'll need it later when you're wiring up your monitor and raspberry pi's power through the case. I ended up just using a straight saw and making a slot to fit the cable through.

Building the frame

At first I wanted to make a fancy frame with 45 degree angles at each of the corners. Key phrase: at first. Remember when I said I wasn't an expert craftsman? Yea, that bit me a little bit. I didn't get pieces long enough to make that kind of cut possible. Instead I said I was a "minimalist" and wanted simple cuts 90 degree cuts on purpose.

But another snag, originally the plan was to use a kreig jeg to make little pocket holes to screw in. But however 3/8 thick wood, just like jihadst groups, are cowardly and easily splintered under the slightest pressure. But luckily a helpful employee at Home Depot showed me this awesome tool:

Now I could just use some liquid nails at the joints and this tool would hold them for a few hours to let them dry. No screws required. My only regret is not buying two so I could get this part done twice as fast.

Attaching the frame to the case

This part of the project I thought the least about and when I make another I'll definitely do it differently. Essentially I was in a bit of trouble because the mirror didn't fit flush with the frame, causing a gap between the case and frame. Luckily it's really easy to cut a double sided mirror. You can do it a number of ways, TAPPlastics has a whole tutorial series on it.

I happened to have a band saw available and put that puppy to use. My only word of advice here is taken from Will it Blend? : "Don't breathe this". By this I mean the plastic dust.

Now it fits flush to the frame and case.

Another pitfall I made was to not stain the frame and case separately before gluing the mirror between them. I don't have pictures but I ended up using painters tape to cover the mirror and stain around the edges.

But volia! A mirror that allows light to shine through it. Right now that light is monitor diagnostic text but hey, progress!

Installing the Raspberry Pi

Now comes the fun parts. Ideally you want to have only one cord coming out of the bottom of the case to supply power. There are ways to splice power from a cord with electronics and soldering and all kinds of stuff...but me, I'm simple. I just bought a 2-way power splitter:

Then all of the components fit nicely together with a bit of painters tape:

Now you can supply power to both the monitor and raspberry pi with one cable. Simply hook up the raspberry pi to the monitor, and ethernet to your router. I won't go into super detail on how to install Raspian (the official linux distro of raspberry pi's) because it would do this tutorial a disservice.

Once you go through the NOOBS installation process, you should finally be rewarded with the raspberry pi boot sequence:

Turning the Raspberry Pi into a "Kiosk"

Now it doesn't make sense for the mirror to just show the raspberry pi desktop. There are a few different ways to get your raspberry pi to work like a "kiosk" but here are the steps I took.

Install Chromium

Depending on your raspbian version you may have some trouble with this. I know I did. The raspberry pi behind this mirror is running version Jessie of the Raspbian OS. Apparently there have been some changes to the raspbian repository, including the removal of Chromium which is the easiest browser to set up as a kiosk.

You can google around yourself but these commands worked for me to install it:

Run Chromium on startup

Now that you have chromium installed, you can configure it to open on startup and in full screen mode:

Open the autostart settings:

Disable the screensaver by adding a # in front of the line:

And add the following lines:

Exit and save. Now you've disabled the screensaver, disabled power management settings and have the chromium browser opening in kiosk mode on localhost on startup.

Using your Wifi network

There are a number of tutorials out there for getting your raspberry pi on wireless. If you're already in terminal it's as easy as editing your wpa_supplicant file:

And edit the network setting:

I'm assuming you're smart and not using the ancient and insecure WEP protocol on your router.

Now restart your wifi connection with these 2 commands:

Don't worry if you see an obscure error, I did too. You can experiment to make sure your change worked by using

If you're wlan0 device has an assigned IP address you're free to disconnect the ethernet connection and install your backboard. I just used some cheap breadboard like material held against the back of the monitor with 4 screws halfway in.

Setting up the webpage

Now we have a pretty functional kiosk. The missing piece is the actual webpage. I have written my own application for this, you're free to modify it or use it.

I decided to use the PHP micro-framework Lumen with some jQuery and MomentJs.

Installing a web server

In order to host the webpage you'll need to install a web server and to run Lumen you'll need php installed:

That might take awhile, but once that completes you need to configure nginx to know where the MirrorMirror site is located:

And paste the configuration in this gist:
mirror.conf
Save, and exit.

Now activate this configuration by running:

You now have a php enabled web server running on your pi!

Installing MirrorMirror

This is the final step of the project, installing the actual web page. Make a folder projects inside of /home/pi and move into it:

Clone the MirrorMirror web app with this command:

Install Composer which will install Lumen's dependencies:

And use composer into install Lumen's dependencies to get MirrorMirror up and running:

One last thing, nginx needs to be able to write/read files inside of the storage directory for the Lumen application to work.

Goto to http://localhost and you should see your version of Mirror Mirror up and running!

Current Features:

Displays forecast and animated weather icon.

Displays Date and Time.

Displays a random greeting, currently there's only one but planning on adding more.

There definitely needs to be more work to make this installation and customization process easier but I'm already thinking of ways to improve it. I hope you enjoy building/using your own magic mirror was much as I did mine!

Big thank you to Michael Teeuw for the original inspiration and documentation on the project.

# data[].attributes.attachment_link.description
A magic mirror is a raspberry pi powered monitor behind a double sided mirror. A mostly black web page allows you to add some widgets to the mirror's reflection as if by magic. This version includes widgets for displaying the weather forecast, the date/time and a nice randomly generated greeting.

# data[].attributes.attachment_link.readable_text
Comment fabriquer un miroir connecté avec Google Assistant [Partie 1 Google Black Mirror] par Rodolphe Degandt - [datedermaj]

Comment fabriquer un miroir connecté avec Google Assistant

[Partie 1 - Projet Google Black Mirror : Fonctionnalités, matériels, budget]

Je vous propose de suivre ce projet, au nom de code " Google Black Mirror " au fur et à mesure de son avancement. Il consiste à fabriquer un miroir connecté utilisant la reconnaissance vocale pour afficher sur l'écran des informations, de la vidéo, ou diffuser de la musique. Au moment ou j'écris ces lignes, seul le matériel est commandé (il me reste les planches à aller chercher).

" OK Google, allume le black mirror "

" OK Google, mets de la musique sur black mirror "

" Ok Google, regarder Mad Men sur Netflix sur black mirror "

" OK Google, quel temps aujourd'hui à La Défense "

Les étapes du projet :

1. Fonctionnalités, choix du matériel, commande et réception

2. Réalisation du miroir-écran

3. La partie UX design : fabrication du cadre (en bois)

4. Installation et connexion du matériel dans le cadre du miroir connecté

5. Configuration du Raspberry Pi et Configuration de Google Assistant

6. Création de l'interface du miroir connecté

7. Tests, finitions et résultat

Partie 1 : Fonctionnalités, Prix et matériel

Les fonctions du miroir connecté avec Google Assistant

Le projet consiste donc à réaliser un miroir intégrant un écran connecté qui affichera de la vidéo, la météo, les trajets, le calendrier avec bien sûr des enceintes pour le son et la musique. Le tout pouvant être piloté à la voix grâce à Google Assistant. En théorie, le contenu affiché pourrait se personnaliser en fonction de la voix de différentes personnes qui d'adresse au miroir.

L'ambition est de dépenser maximum 400 €, ce qui sera en dessous des miroirs connectés présentés dans notre comparatif (qui n'ont pas Google Assistant intégré). L'autre objectif est de vous permettre de refaire ce miroir en moins de 6 heures sans connaissance particulière. 🤞🏻

Pour y arriver, n'étant ni ingénieur ni programmeur, j'ai monté une équipe avec trois amis de ma fille, élèves ingénieurs : Maxime, Quentin et Tanguy. Je garde la partie gestion du projet et UX design (ça promet !), ainsi que de comprendre et de vous expliquer ce qu'ils font au travers une série d'articles :

Les 6 étapes du projet Google Black Mirror

1. Définition du cahier des charges, ressources documentaires, choix du matériel, commande et réception

2. Réalisation du miroir-écran et fabrication du cadre en bois

3. Installation et connexion du matériel dans le cadre du miroir connecté

4. Configuration du Raspberry Pi et Configuration de Google Assistant

5. Création de l'interface du miroir connecté

6. Tests, finitions et résultat

Le matériel nécessaire pour fabriquer un miroir connecté avec Google Assistant

L'objectif est de ne pas dépasser des achats de matériel de plus de 300 € tout compris. Voici la configuration que j'ai retenu avec comme principe u n miroir dont la totalité est un écran connecté avec assistant vocal et du son correct. Le budget serait évidemment beaucoup plus bas avec un tout petit écran pour afficher quelques informations.

Temps passé à la commande (avec déballage et vérification) : 10 minutes

Délai : 5 jours

Budget : 300 €

Voici donc la liste du matériel, le prix et les fournisseurs :

Articles commandés sur Amazon.com, livrés en France (avec mon compte Amazon Prime France, commande passée le lundi, je l'ai reçu le vendredi)

1. Un écran LG HDMI de 24 pouces à 127 €, plus un câble HDMI (livré avec un câble

2. Une plaque Plexiglas effet miroir aussi en 24 pouces à 29,99 $ [viendra recouvrir l'écran pour notre effet miroir quand il est éteint]

3. Un clavier et une souris USB basiques à 14,44 $ [interface pour programmer la Raspberry Pi]

4. Le kit Google AIY Voice à 15,77 $ [pour intégrer la reconnaissance vocale Google Assistant] - nécessite en plus le Raspberry Pi 3 Model B.

La carte Raspberry Pi voice hat avec micro et le câblage nécessaire

un mini haut-parleur, là aussi suffisant pour le test, mais l'idée est de le remplacer par une paire plus puissante pour avoir un son plus puissant.

Une boite en carton pour assembler l'ensemble (mais nous ne l'utiliserons que pour le test pas dans l'assemblage derrière le miroir.

Sur Amazon.fr

Par simplicité j'ai pris un kit complet Raspberry Pi Modèle 3B+ à 82,98 €

Carte mère Raspberry Pi 3 modèle B Plus (3 B+) 1,4 GHz 64-bit processeur Quad-Core avec 1 Go LPDDR2 SDRAM

Une carte micro SD 32 GB Class 10, avec lecteur de carte

Boîtier d'assemblage noir avec un couvercle (on sait qu'on va le laisser ouvert au début)

Un adaptateur d'alimentation 1,5 m avec interrupteur marche/arrêt (indispensable de mon point de vue).

Connexion Wifi et Bluetooth

Dissipateurs de chaleur.

Grande surface de bricolage, pour moi Leroy Merlin

Planches à découper pour réaliser le cadre en pin, sapin/épicéa (pas cher, simple à couper et assez résistant à l'humidité). Environ 30 €

Vis et colle à bois et scie (j'ai déjà tout ça).

Peinture bois de protection résistante à l'eau (je prendrais dans mes stocks de fond de pot)

Des options : des composants pour booster le résultat final

2 haut-parleurs 3 W à 11,12 €. Il viendraient remplacer le speaker fourni dans le kit Google AIY Voice. Mais je voudrais tester avant la prise casque jack 3,5 mm présente à l'arrière de l'écran LG pour savoir si le son peut passer par là.

Ajout d'un bandeau LED pour l'éclairage,

Ou 2 ampoules connectées à visser pour donner un effet miroir de maquillage. (Voire le comparatif ampoule connectée).
J'ai pris2 ampoules Yeelight pour moins de 34 € en 16 millions de couleurs, car elles sont compatibles Google Assistant et elles ne nécessitent pas de pont de connexion.

Un détecteur de mouvement pour déclencher l'écoute de Google Assistant, car avec le kit Google AIY Voice, l'action se fait en pressant un bouton, pas pratique. Mais à vérifier avant d'en acheter un car il semble possible de contourner cela avec du code avec la version Raspberry Pi 3 modèle B Plus. Peut-être possible avec un capteur du type HC-SR501 PIR Motion Sensor à moins de 10 €.

Résumé du matériel, budget et fournisseurs pour fabriquer un miroir connecté

Matériels Prix Fournisseurs

Écran LG HDMI de 24 pouces
127,00 $
Amazon.com (109 €)

Plaque Miroir Plexiglas de 24 pouces ou Film sans tain effet miroir (44,5 x 200 cm)

29,99 $14,99 €

Amazon.com (25,8 €) Amazon.fr

Clavier et Souris USB
14, 44 $
Amazon.com (12,42 €)

Kit Google AIY Voice
15, 77 $
Amazon.com (13,57 €)

Kit Raspberry Pi 3 (inadapté au projet)

Carte de base
+ alimentation
+ carte micro SD 32 Go

82,98 €39 €
10 €
18 €
Amazon.fr

Adapteur prise US/France
6, 60 €
Amazon.fr

Planche en sapin

60,00 €

Leroy Merlin

Vis, colle, peinture (hors outillage)

25,00 €

Leroy Merlin

3 ampoules connectées Yeelight

+ 3 Douilles à vis E 27

50 €17,90 €

Gearbest.com

Amazon.fr

Frais de livraison, frais de change

5,00 €

avec Amazon Prime

Détecteur de mouvement à l'étude

Marge

10 €

Divers

TOTAL 400, 00 €

Étape 1 du projet Google Black Mirror accomplie, La bonne nouvelle est une petite réserve de 10 € = 🍕 + 🍻 = 🚀

# data[].attributes.attachment_link.title
Comment fabriquer un miroir connecté avec Google Assistant [Partie 1 Google Black Mirror]

# data[].attributes.attachment_link.description
Comment fabriquer un miroir connecté avec Google Assistant [Partie 1 Google Black Mirror] par Rodolphe Degandt - [datedermaj] Je vous propose de suivre ce projet, au nom de code " Google Black Mirror " au fur et à mesure de son avancement.

# data[].attributes.attachment_link.title
Fabriquer un Miroir Intelligent Surprenant !

# data[].attributes.attachment_link.readable_text
Your browser was unable to load all of Trello's resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again and if that doesn't work, check out our troubleshooting guide .

# data[].attributes.attachment_link.description
Your browser was unable to load all of Trello's resources. They may have been blocked by your firewall, proxy or browser configuration.Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again and if that doesn't work, check out our troubleshooting guide .

# data[].attributes.attachment_link.readable_text
Miroir, miroir, dis-moi quel temps fait-il aujourd'hui ? Le miroir magique est bien plus qu'un conte, il est devenu une réalité ! L'IoT envahit les maisons et le digital s'installe confortablement dans votre salle de bain. Se doter d'un miroir intelligent permet de joindre l'utile à l'agréable : accédez à vos applications (météo, actualités, calendrier ou encore trafic routier) pendant vos trois minutes réglementaires de brossage de dents, ou définissez un service à la carte en programmant vous-même votre miroir connecté ! Suivez le guide, je vous explique comment y parvenir pas à pas.
LE MATÉRIEL NÉCESSAIRE :

Dalle LCD 17 pouces (d'un ancien portable HS)

Carte contrôleur vidéo et son câble LVDS

Raspberry PI 3

Carte mémoire Micro SD 16Go

Transformateur 220V /12V pour la carte vidéo et l'écran

Transformateur 12V /3V pour le Raspberry PI

Câble HDMI

Câble électrique

Cadre blanc 30×40 avec vitre

Film semi transparent

Plaque de polystyrène à découper de 5mm

Plaque de bois de 5mm

Scotch

Pistolet à colle

PARTIE 1 : UN PEU DE BRICOLAGE

Un trou est réalisé en bas au milieu du cadre afin de faire passer le câble d'alimentation secteur. La vitre est posée à plat pour y pulvériser de l'eau savonneuse (sans alcool) et posez le film semi. Étalez-le avec une carte rigide de type carte bancaire afin d'enlever au maximum les bulles d'air entre le film et la vitre. Essuyez bien et laissez sécher. La vitre est ensuite remise dans le cadre, film vers l'intérieur du cadre.

La dalle LCD est placée derrière la vitre, centrée et calée de chaque côté par des bandes de polystyrène. Elles sont fixées par du scotch qui permettra aussi d'isoler la partie électronique de l'écran. Le câble LVDS est connecté à l'écran et fixé avec du scotch afin de l'immobiliser.

Une plaque de polystyrène de la taille du cadre est ensuite positionnée pour protéger l'écran des vis utilisées pour fixer les différents composants. La plaque de polystyrène comporte une encoche afin de pouvoir faire passer le câble LVDS de la carte contrôleur vers l'écran.

Placez ensuite la plaque en bois qui comporte la même encoche, sur laquelle sont fixées les vis, le capteur infrarouge (inutilisé pour le moment), la carte contrôleur vidéo et le panel comportant les boutons de marche / arrêt, de volume et de configuration. Le câble LVDS est raccordé à la carte contrôleur vidéo.

Les deux transformateurs sont fixés en bas de la plaque de bois à l'aide du pistolet à colle. Le câble d'alimentation est passé à travers le trou réalisé dans le cadre et est raccordé à l'entrée du transformateur 220V / 12V. Un second câble est raccordé de la sortie du transformateur à l'alimentation de la carte vidéo, un troisième vers le transformateur 12V / 3V, puis un quatrième en sortie de ce transformateur vers une prise mini USB pour alimenter le Raspberry Pi. Le câble HDMI est connecté entre le Raspberry Pi et l'entrée HDMI de la carte vidéo.

PARTIE 2 : EN AVANT POUR LA PROGRAMMATION !

Téléchargez l' OS Raspbian et installez l'image Raspbian sur la carte micro SD avec le programme Etcher. Pour accéder au terminal Linux, nous utiliserons un clavier et une souris sans fil avec dongle USB. Le démarrage de l'OS prend un peu de temps la première fois, pas d'inquiétude ! Il faut ensuite configurer le langage, la localisation, le type de clavier, le mot de passe du compte administrateur et la configuration internet.

Une fois cette configuration effectuée, vérifiez les mises à jour avec les commandes :

sudo apt-get upgrade (-fix-missing)
sudo apt-get update (-fix-missing)
sudo apt-get dist-upgrade (-fix-missing)

Si des mises à jour ont eu lieu, lancez un reboot avec :

sudo reboot now

Nous sommes maintenant prêts pour installer l'application MagicMirror avec les commandes :

git clone https://github.com/MichMich/MagicMirror
cd MagicMirror
npm install
cp config/config.js.sample config/config.js

MagicMiror pourra ensuite être lancé par la commande npm start dans le répertoire MagicMirror. Il faut désormais configurer le programme et installer des modules additionnels pour afficher les différentes informations :

Affichage de la date

Affichage de la météo

Affichage du calendrier des vacances

Affichage des informations 20 minutes (via leur flux RSS)

Affichage des informations de trafic de certaines lignes de bus et de métro

Afin que la date soit affichée avec le format français, il faut mettre à jour dans le fichier config/config.js, les données :

language: " fr "
timeFormat: 24
units: " metric "

Afin de pouvoir afficher la météo, il faut tout d'abord installer le module additionnel openmapweather. Positionnez-vous dans le répertoire ~/MagicMirror/modules/ et clonez le repository Git :

git clone https://github.com/sathyarajv/MMM-OpenmapWeather.git

Ajoutez la configuration correspondante dans le fichier config/config.sj de MagicMirror :

{
                     module: "MMM-OpenmapWeather",
                     position: "top_left",
                     config: {
                                   location: "Saint-Denis,FR",
                                   locationID: "2980916",
                                   appid: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                   colorIcon: true
                     }
       },

Afin de pouvoir se connecter et récupérer les informations météo, inscrivez-vous gratuitement sur openweathermap et générez une clé appid à renseigner dans le bloc d'informations.

Affichage du calendrier des vacances :

Mise à jour des informations dans le fichier config.js pour aller chercher les informations sur le site du gouvernement.

{
                    module: "calendar",
                    header: "Vacances",
                    position: "top_left",
                    config: {
                                  maximumEntries: 4,
                                  calendars: [
                                                {
                                                               symbol: "calendar-check-o",
                                                               url: "https://cache.media.education.gouv.fr/ics/Calendrier_Scolaire_Zone_C.ics"
                                                }
                                  ]
                    }
},

Affichage des informations 20 minutes via leur flux RSS

Ajoutez dans le fichier config.js :

       {
                     module: "newsfeed",
                     position: "bottom_bar",
                     config: {
                                   feeds: [
                                                 {
                                                                title: "20 Minutes",
                                                                url: "http://www.20minutes.fr/rss/actu-france.xml"
                                                 }
                                   ],
                                   showSourceTitle: true,
                                   showPublishDate: true,
                                   broadcastNewsFeeds: true,
                                   broadcastNewsUpdates: true
                     }
       },

Affichage des informations de trafic de certaines lignes de bus et de métro

Installez le module MMM-Paris-RATP-PG en clonant le repository dans le répertoire modules dans le répertoire d'installation de MagicMirror. Puis lancer la commande :

npm install
dans le répertoire ../modules/MMM-Paris-RATP-PG/.

Il reste à ajouter le module dans le fichier de configuration config.js de MagicMirror :

{
                     module: "MMM-Paris-RATP-PG",
                     position: "top_right",
                     header: "Connections",
                     config: {
                                   debug: false,
                                   lineDefault: {
                                     hideTraffic: [
                                     ],
                                     conversion: { "Trafic normal sur l'ensemble de la ligne." : "Traffic normal"},
                                     updateInterval: 1 * 2 * 60 * 1000,
                                   },
                                   lines: [
                                     {type: "buses", line: 175, stations: "Porte+De+Saint-Cloud", destination: "A", firstCellColor: "#0055c8"},
                                     {type: "metros", line: "13", stations: "Chatillon+Montrouge", destination: "A", label: "13", firstCellColor: "#6ECA97"},
                                   ],
                     },
       },

Pour finaliser l'installation, il ne reste plus qu'à arrêter l'économiseur d'écran.

La dernière étape consiste à configurer le lancement (ou à relancer en cas de plantage) automatique de MagicMirror. Pour se faire, nous allons installer PM2 qui est un gestionnaire de process pour Node.js. Installation avec la commande :

Sudo npm install -g pm2

Configurez ensuite PM2 pour qu'il se lance au démarrage du Raspberry, il faut déclencher la commande pm2 startup qui affichera une autre commande à exécuter pour tout configurer. Créez ensuite le script qui sera appelé par PM2 pour lancer MagicMirror. A la racine du compte, créez le script mm.sh qui contiendra :

cd ~/MagicMirror

DISPLAY= :0 npm start

Sauvegarder ce script et en modifier les droits avec chmod *x mm.sh.

Il est maintenant possible de lancer MagicMirror via PM2 avec :

pm2 start mm.sh

Sauvegardez l'état de pm2 avec :

pm2 save

Désormais, MagicMirror sera automatiquement lancé au démarrage du Raspberry, ou redémarré en cas d'arrêt ou de plantage. Si vous avez besoin d'arrêter MagicMirror temporairement, exécutez la commande pm2 stop mm

Le SSH a été activé sur le Raspberry afin de pouvoir se connecter à distance depuis le PC via Putty et notamment faire les mises à jour des applications ou de l'OS Raspbian. À vous de jouer pour créer votre miroir 2.0 !

# data[].attributes.attachment_link.title
Do it yourself ! Construire son miroir connecté

# data[].attributes.attachment_link.description
L'IoT envahit les maisons et le digital s'installe confortablement dans votre salle de bain. Se doter d'un miroir intelligent permet de joindre l'utile à l'agréable : accédez à vos applications pendant vos trois minutes réglementaires de brossage de dents, ou définissez un service à la carte en programmant vous-même votre miroir connecté !

# data[].attributes.attachment_link.readable_text
Cette page est une fiche écrite dans le cadre de l'Inter Semestre ENIB 2017

Le contenu de cette fiche est en cours de rédaction, elle va s'étoffer pendant tout le mois de janvier !

Projet de fabrication d'un miroir connecté

" Chapeau " du projet de fabrication numérique :

Très prévenant et utiles, le miroir connecté permet de vous fournir des informations pratiques utiles telles que : musique, horoscope, météo, actualités, heure, date actuelle, etc. Etant personnalisable, vous pouvez choisir l'affichage voulue en fonction de votre humeur. A vous de la paramétrer selon votre bon vouloir

Ont participé à la rédaction de cette fiche :

Outils et matériaux

Outils nécessaire :

Matériaux utilisés :

Réaliser le projet

Pour la réalisation de ce projet on va fonctionner en 2 étapes principale. Dans un premier temps la conception du cadre contenant le l'écran d'ordinateur pour ensuite finir sur la partie codage de la raspberry pi 2B+

Il faut que cela soit visuel, intégrer au texte, des photos, des images, des dessins...

Première étape : La conception du cadre en bois

Pour ce projet, on va commencer par enlever la partie inutile de votre écran. Il vous suffit de dévisser 4 vis au dos de l'écran afin de n'obtenir que l'écran LCD et ainsi permettre un meilleur dimensionnement du cadre. On obtient alors le résultat ci dessous.

    Avant       Après

Tout d'abord vous devez choisir un écran d'ordinateur qui nous servira de fond, pour le miroir connecté. Prenez les dimensions de ce dernier. Ensuite prenez des planches de bois et découpez les bout qui vous permettront d'avoir le cadre ( voir ci dessous ).

Ensuite grâce à la colle à bois coller les extrémités de vos bouts de bois afin d'obtenir un beau cadre ( voir ci dessous ). Faites bien attention à être précis dans la découpe de votre bois. Sinon la colle ne prendra pas. Il ne faut pas d'espace entre les bouts de bois.

Désormais nous disposons du contour. Mais notre objectif est que le tout tienne dans un " cadre " qui finalement ressemblera plus à une boîte. C'est pourquoi on va redécouper des bouts de bois pour faire l'épaisseur de la boîte.

On fixe alors ces dernier avec le cadre que l'ont à fait au préalable. Pour ce faire vous pouvez utiliser des vis que vous venez implanter par le dessous pour le coté esthétique. Mais faites bien attention à vérifier vos dimensions afin que le cadre passe bien à l'intérieur.

Désormais on dispose d'un début de boite avec les rebord et le dessus. Donc maintenant on met le film de miroir sans tain sur l'écran d'ordinateur afin de créer un effet miroir. veillez bien à bien nettoyer l'écran avant sinon le film laissera des bulle d'air ce qui gâchera un peu l'effet de miroir. Une fois que c'est fait on insère l'écran dans le cadre. Pour les fixations vous pouvez imprimer en 3D les rebords du cadre afin que votre écran ne bouge plus du tout. Il ne vous reste plus qu'à faire le derrière de votre boîte. Pour cette phase vous avez plusieurs choix que vous pouvez faire. Vous pouvez faire un système de coulissement ( nous avons opté pour celui là ) ou encore de trappe. Faites bien attention à laisser un espace pour insérer la raspberry dans le cadre. Veillez aussi à laisser de l'espace pour laisser passer les fils permettant de d'alimenter la raspberry ainsi que l'écran.

Une fois fini voici ce que l'on obtient. Vous avez fini la première étape.

Deuxième étape : la partie codage de la Raspberry pi B2+

Prerequis : Ce tuto est à prendre avec des pincettes.

Pour le réaliser vous devez avoir des bases en python et vous être approprié la console linux ainsi que le système d'exploitation Raspian Jessie

Vous devez aussi disposer d'un ordinateur à côté pour pouvoir résoudre les problèmes qui arriveront car ce tuto ne pourra jamais être exaustif.

Vous devez aussi disposer d'un bon niveau de compréhension anglaise car beaucoup des forums et des tutos internet sont anglais.

Voici les sites qui nous ont inspirés : http://blog.dylanjpierce.com/raspberrypi/magicmirror/tutorial/2015/12/27/build-a-magic-mirror.html

== Dans un premier temps, On va avoir besoin de plusieurs choses :

- une carte Sd mini ainsi

-un connecteur Sd mini vers Sd.

-Une alimentation pour Raspberry.

Il faut aussi connecter le raspberry Pi à un écran via un cabl e HDMI et avoir un clavier USB que l'on utilisera sur le Raspberry

On aura aussi besoin d'une clé wifi, d'une connexion WIFI et d'un ordinateur avec le logiciel : Win32DiskImager ==

(http://win32-disk-imager.fr.uptodown.com/windows)

On commence par télécharger Raspian ( http://raspbian-france.fr/telechargements/) On met l'adaptateur Mini-Sd vers Sd avec la carte à l'intérieur et on met monte l'image via le logiciel Win32 (à la façon d'un dézippage)

Pour cela, on lance Win32, on cherche le fichier image raspian et on donne le dossier de destination (la carte sd). On lance. Cela prend plusieurs minutes. On met la carte dans le raspberry que l'on connecte à l'écran, au clavier et à la souris, on lance ensuite le raspberry.

Une fois sur le bureau on installe la WIFI via l'icone en haut à droite.

Il faut aussi faire

une extension de la mémoire, pour cela : faire CTRL + ALT + T afin d'ouvrir le terminal

On tape en suite "sudo raspi-config"

, cela lance les réglages de base que l'on va changer

Il faut ensuite naviguer avec les flèches et entrée pour aller dans

"expand_rootfs"

et faire une extension de mémoire.

Il faut ensuite aller dans

"configure_keyboard"

pour changer le clavier US en Fr

Une fois cela fait, retourner sur le terminal et lancer :

afin de mettre a jour le système

Puis,

"sudo reboot"

pour redémarrer le système.

Une fois de retour sur le bureau, on lance internet et on télécharge : ( https://github.com/HackerHouseYT/Smart-Mirror)

Après que cela soit téléchargé, on ouvre le terminal, on va à la racine du fichier téléchargé (grâce à la commance "ls" pour afficher les dossier et fichier et "cd" <X> pour aller dans le dossier X). On unzip ensuite le fichier via la commande "unzip NomduFichier.zip"

On va ensuite dans le dossier Smart-Mirror-master (cd Smart-Mirror-master) et on installe les packages manquants

Pour installer ces packages, on lance

"sudo apt-get install LeNomDuPackage"

, dans notre cas, le fichier requirements.txt introduit tout les packages à installer. On lance donc la commande :

"sudo apt-get install requirements.txt"

une fois installé, on lance l'application grâce à "python smartmirror.py"

Il doit alors manqué les news, la température.

== Pour celà, il faut se rendre sur ( https://darksky.net/forecast/48.3905,-4.486/si24/fr) et s'incrire sur ( https://darksky.net/dev/)

==

Une fois inscris, on reçoit un code que l'on garde.

On se rend dans le terminal, on lance "sudo apt-get update" puis sudo "reboot"

Une fois revenu sur le bureau, on lance le terminal, on retourne Dans le dossier Smart-Mirror-master et on lance "idle smartmirror.py" pour pouvoir modifier le fichier.

== Dans ce fichier, on marque :

news_country_code = 'fr'

time_format = 24

weather_api_token = 'CodeDonnéSurLeSite:darksky.net/dev'

weather_unit = 'si'

latitude = '48.3905'

longitude = '-4.486'

On enregistre avec CTRL + S ==

La longitude et la lattitude peuvent être changé en fonction de l'endroit dans lequel vous voulez avoir la température. En effet, sur ( https://darksky.net/forecast/48.3905,-4.486/si24/fr), en changeant l'adresse, vous aurez la nouvelle Longitude et Latitude dans le lien du site. Retournez ensuite sur le terminal et lancer : "python smartmirror.py"

Cette fois-ci, vous devriez voir apparaître la température et les news en oplus.

== Il ne reste plus qu'a lancer cette application au lancement du système. Pour cela, dans la console : "sudo nano /etc/profile "

Et on rajoute la ligne :

"@ /boot/python /home/pi/Download/Smart-Mirror-master/smartmirro.py"

CTRL + x

y

ENTREE

Voilà qui est fait

==

On lance "sudo reboot" et normalement tout marche !

Observations

Texte + images/photos

Explications

Pour ce qui concerne le fonctionnement c'est très simple. Le principe est d'afficher ce que l'on désir sur un écran d'ordinateur. Ensuite il faut recouvrir l'écran du miroir sans tain qui permet de voir sans être vue. De cette manière l'affichage de l'écran est visible dans un miroir. Après on peut personnaliser l'affichage que l'on met sur l'écran mais des connaissances en codage informatique sont ici requise.

Plus d'explications

Entrer dans des explications techniques et scientifiques plus complexes, mais toujours de manière ludique.

Texte + images/photos

Et dans la vie de tous les jours ?

Dans la vie de tout les jours ce miroir peut permettre de nombreuse application. Par exemple si on l'équipe de nombreux capteurs on peut programmer une reconnaissance faciale et de cette manière le miroir peut nous donner son avis de comment il nous trouve aujourd'hui. Aussi si jamais vous voulez un écran discret qui vous permette de savoir les nouvelle ou encore la météo de la journée, ce miroir est fait pour vous.

Vous aimerez aussi

http://monptitnuage.fr/index.php?article110/presentation-de-mon-miroir-connecte

Sources et ressources utiles

Liens vers les ressources pédagogiques + quelques mots de description si besoin

# data[].attributes.attachment_link.description
Cette page est une fiche écrite dans le cadre de l'Inter Semestre ENIB 2017 Le contenu de cette fiche est en cours de rédaction, elle va s'étoffer pendant tout le mois de janvier !