Présentation d'un miroir connecté combiné au projet S.A.R.A.H.

Rédigé par monptitnuage - - 17 commentaires
Comme vous pouvez le constater, ces derniers temps j'ai un peu lâché mon site pour consacrer toute mon énergie à la fabrication et la configuration de mon miroir connecté.

Présentation :
Il y a quelques mois j'ai découvert un projet nommé S.A.R.A.H. de Jean-Philippe Encausse.
Le principe de fonctionnement est de déclencher des actions via des requêtes HTTP en utilisant différents moyens de communications (reconnaissance vocale, gestuelle ou faciale, reconnaissance de QRCode, planification à l'aide d'un Google calendar ou pour finir à l'aide d’applications tiers).
Ensuite ces requêtes HTTP déclenchent à leur tour des plugins sur le serveur NodeJS utilisé par S.A.R.A.H.
Pour finir les scripts contenus dans les plugins interagissent avec les objets connectés (montre, lampe HUE, box domotique, ...) que vous avez pu installer ou bien avec de l'open data (horaires de bus, météo, horaires de cinéma, ...).

Concernant les plugins, il s'agit de dossiers contenant plusieurs fichiers. Il y a trois fichiers principaux :
  • monPlugin.prop : fichier qui définit votre plugin (comme la version, l'auteur, les paramètres de l'utilisateur, ...)
  • monPlugin.xml : fichier XML principal qui doit contenir la grammaire (commandes vocales). C'est avec ce fichier que vous pouvez par exemple demander à S.A.R.A.H. "Quelle est la météo aujourd'hui ?"
  • monPlugin.js (optionnel) : fichier JavaScript de votre plugin qui gère des fonctions avancées. Par exemple lorsque vous allez demander à S.A.R.A.H. la météo, le fichier monPlugin.xml va ensuite appeler le script monPlugin.js qui va de son côté effectuer plusieurs actions afin de récupérer la météo et permettre à S.A.R.A.H. de vous donner le résultat sous forme de phrase.
Vous l'avez compris, S.A.R.A.H. est comme une intelligence artificielle. Actuellement elle est dans sa version 4.0.0 mais de mon côté je suis resté sur la version 3.1.6 depuis le début et qui fonctionne très bien.

Installation et configuration de S.A.R.A.H. :
J'ai installé et configuré S.A.R.A.H. sur un PC WINDOWS 8.1 en suivant les documentations présentes ici puis j'ai fais plusieurs tests afin de comprendre son fonctionnement et pour finir je me suis lancé à la création de mes propres plugins.
J'ai ensuite modifié la voix de S.A.R.A.H. (plus d'infos ici) et j'ai également changé son nom en JARVIS (nom affectueux et très recherché évidemment.)

Il m'a fallu du temps pour réussir à le configurer selon mes besoins étant donné que je n'ai jamais fais d'études en développement, j’apprends sur le tas en bidouillant, en faisant des recherches, etc... Je fais évidemment de mon mieux pour toujours optimiser un maximum tous mes scripts.
Voyons un peu les différentes options que je lui ai donné :
  • Heure : Plugin natif lors de l'installation de S.A.R.A.H.
  • Meteo : Plugin natif lors de l'installation de S.A.R.A.H.
    J'y ai apporté quelques modifications pour que, suivant la température et le temps, JARVIS m'informe comment m’habiller, si je dois prendre un parapluie, si le temps est idéale pour se promener, si je dois conduire prudemment sur la route, etc...
  • wok : Plugin créé par Emilien Degert. Le but est de pouvoir allumer un PC sur le réseau en utilisant le wake on LAN.
  • Funradio : Je suis allé le récupérer dans le Marketplace dédié à S.A.R.A.H. Ce plugin à était créé par "La taupe" en se basant sur un plugin d'Alexis BARRY
  • Playlist : C'est un plugin que j'ai créé en me basant sur le plugin "Funradio". Il s'agit tous simplement de lancer ma playlist en utilisant Windows Media.
  • Home : Je l'ai mis en place dans l'intention de l'utiliser surtout lorsque j'aurais acheté mes lampes HUE. Je l'utiliserai pour le soir, dès que je demanderai à JARVIS d'activer la maison, il allumera la lumière de la cuisine, il m'affichera son interface (à voir juste après) et suivant le jour de la semaine il me donnera le planning du week end.
  • Interface : Il s'agit du plugin qui permet d'afficher l'interface sur le miroir. Concernant cette interface, c'est une page en php où j'affiche différentes informations que je vous détail ci-dessous :
  • Course : Permet de demander à JARVIS de me préparer la liste de course en ajoutant tous les aliments que je n'ai plus dans le stock.
  • Scan : Je peux demander à JARVIS de scanner le réseau de la maison afin de récupérer toutes les IP présentes ou uniquement scanner mes machines perso.
  • Stock : JARVIS peut m'afficher le stock alimentaire sous forme de vignette en utilisant un encadré rouge ou vert suivant si l'aliment est en stock ou non.
  • Planning : Plugin créé en suivant le tutoriel de Jean-Philippe que vous pouvez retrouver ici. Tous les matins je demande à JARVIS de m'afficher son interface et, quand j'aurais les moyens, il allumera la lumière de la cuisine.
Et les fonctions que j'aimerais lui donner plus tard :
  • Caméra IP : surveiller une partie de la maison.
  • Flower Parrot : pouvoir surveiller la santé de mes plantes.
  • Store automatique : Ouvrir et fermer les stores sur commande ou bien suivant une horaire précise.
  • Thermométre : gérer la température par la voix et pouvoir l'afficher sur l'interface.
  • Mail : afficher sur l'interface le nombre de mails reçus.
Durant quelques mois j'ai utilisé JARVIS pour mes tâches quotidiennes, j'ai continué à modifier et ajouter des plugins jusqu'à ce que je tombe sur un site concernant la conception d'un miroir connecté. J'ai tous de suite trouvé l'idée géniale et le rendu est vraiment impressionnant, j'ai donc voulus faire pareil en fabriquant mon propre miroir mais en intégrant une option en plus....JARVIS.

Fabrication du miroir :
En recherchant "miroir connecté" dans Google, j'ai trouvé plusieurs sites qui expliquent les étapes de fabrications. J'ai donc comparé tout ça pour trouver la meilleure manière de le fabriquer à moindre coût et facilement.

Je vous met ci-dessous le matériel que j'ai utilisé :
  • 1 écran d'ordinateur. Veiller à choisir un écran avec les connectiques vers le bas, vous comprendrez pourquoi par la suite !
  • 1 film miroir sans tain. Pour ma part je l'ai acheté à Leroy Merlin pour environ 11€.
  • 1 cadre photo aux dimensions les plus proches de votre écran.
  • 1 raclette à vitre et du produit à vitre.
  • Tournevis, cutteur, ciseaux, scotch, ....
Pour les étapes de constructions, à défaut de ne pas avoir de galerie photos pour mon site (c'est en cours de réalisation...), je vous met un lien qui redirige vers l'album sur mon photoshow :
Etapes miroir connecté

Informations diverses :
- Pour le micro qui me permet de parler à JARVIS, il s'agit d'un simple micro de bureau que j'ai acheté en magasin.
Je l'ai pas mal modifié pour qu'il prenne le moins de place possible afin de l'installer en dessous du miroir.

- Pour l'écran ne faite pas la même erreur que moi. Au départ je me suis dis que j'allais l'incruster sans retirer l'armature mais le problème c'est quand faisant ça on obtient pas du tous un bel effet de miroir une fois l'écran allumé.
En effet, étant donné que les écrans ont un petit rebord, ma vitre semi teintée n'était pas plaquée complètement sur l'écran donc lorsque j'allumai l'écran je voyais bien la différence entre le miroir et l'écran.

- Il est conseillé de calfeutrer les côtés du miroir avec du papier noir (Photo1 et Photo2) étant donné que l'écran ne recouvrira pas toute la vitre.

Je dis merci à Jean-Philippe Encausse pour son projet de maison intelligente. N'hésitez pas à consulter son site où vous retrouver entre autre les informations concernant S.A.R.A.H.
Sur ceux amusez vous bien les gens ;)

Technicien helpdesk
Webmasteur et rédacteur du blog monptitnuage
Vous pouvez me suivre sur Twitter : @monptitnuage

17 commentaires

#1  - xhark a dit :

Super projet avec un rendu top, bravo !

Répondre
#2  - Christian a dit :

Très joli !
C'est quoi la référence exacte du film sans tain ? parce que j'ai fait un miroir aussi mais le film n'est pas parfaitement lisse, ça reflète avec un léger flou.
Il faut que je fasse une version 2 avec un raspberry intégré.

Répondre
#3  - David a dit :

@Christian : Ah oui j'ai effectivement oublié de mettre les photos du film miroir. Je vais les rajouter à la fin de l'album que tu peux retrouver ici , j’espère que ça pourra t'aider. Pour info, il m'a fallut 5 essais avant de réussir à coller correctement le film sur la vitre et ne voir pratiquement aucunes bulles, le 5ème essai était le bon.
Si tu veux un conseil, nettoie la vitre avec du produit vaisselle, ensuite tu décolle ton film miroir de son plastique et tu le vaporise également avec du produit vaisselle puis tu applique le film sur la vitre et tu utilise une raclette à vitre pour bien chasser les bulles d'air ;)

Répondre
#4  - Christian a dit :

ok merci du conseil.
J'avais pas vraiment de probleme de bulle, ça vient du film qui n'est pas parfaitement lisse de base. Il faut que j'essai avec le tien.
Pour info, le flicker n'est plus accessible.

Il faut que j'achete un ecran, mon premier etait basé sur un viel ordinateur portable que j'ai démonté et intégré dans un cadre, mais c'est trop bruyant quand il se met a chauffer un peu...

Répondre
#5  - David a dit :

@Christian : Les liens photos sont mis à jour, merci de m'avoir prévenu ;) C'est que je n'utilise plus Flickr pour mettre les photos, ce n'était que temporaire. J'utilise désormais Photoshow qui est open source et que j'héberge directement sur mon serveur (voir Monptitnuage s'offre une galerie photo open source..

Répondre
#6  - ceddirr a dit :

Bonjour,
Très beau projet, le rendu est top =)
As-tu finalement pu afficher tes mails sur ton interface php? Je suis intéressé par cette fonctionnalité ^^
Bonne continuation

Répondre
#7  - David a dit :

Salut @ceddirr, merci pour ton commentaire :) Pour les mails malheureusement je n'ai pas encore mis en place la chose. J'avais commencé les recherches mais étant donné que je compte retravailler toute l'interface je vais attendre ce moment là pour me plonger dedans ;)
Actuellement je ne vais avoir pas le temps de le faire, j'ai d'autres projets pour mon site mais t'inquiète dès que mon interface est retravailler je vais poster toutes les sources sur mon github.

Répondre
#8  - Info Maison a dit :

Merci beaucoup pour cet edito, je pense avoir vraiment beaucoup appris

Répondre
#9  - David a dit :

De rien ;)

Répondre
#10  - xoxo a dit :

Bonjour David,

Je trouve ton projet excellent et j'ai quelques petites questions à te poser le concernant. Tout d'abords si j'ai bien compris tu branche ton écran directement sur ton client sarah (ordinateur).

L'affichage de la page php ce fait grâce au module "interface" disponible sur le store sarah.
Petite question concernant cette affichage, est-il fixe ou est-ce que l'on peut rajouter des infos a la voix ? (par exemple pour les listes de courses ou des notes).
Si je lance un service audio type "sonos" est-ce que je vais avoir l'affichage sur l'interface de la musique écouter? puis-je le masquer ou faire apparaître par la voix?

Est-ce que par le biais du plugin interface il est possible de faire afficher n'importe quelle plugins de sarah et de définir les endroits d'affichage pour chaque module?

Si je pose une question a sarah ou demande une définition, est-ce que j'aurai l'affichage sur l'interface?

La mise en place et création du miroir j'ai compris mais pas l'utilisation du plugin "interface".

Mon projet étant le suivant: faire un homedash screen avec un raspberry couplé à sarah et donc un contrôle par voix. Il suffit avec le raspberry d'installer un micro, configurer en tant que client sarah et de faire afficher la page php du plugin "interface" en page par défaut à l'ouverture de chromium. Le raspberry étant utilisé en client et donc caché dans le cadre avec l'écran.

Encore bravo pour ce projet

Répondre
#11  - David a dit :

Bonjour xoxo et merci pour ton commentaire. Je te remet ci-dessous certaines de tes questions avec mes réponses :

Je trouve ton projet excellent et j'ai quelques petites questions à te poser le concernant. Tout d'abords si j'ai bien compris tu branche ton écran directement sur ton client sarah (ordinateur).
Effectivement, l'écran est branché à mon UC Windows 8.1

Si je lance un service audio type "sonos" est-ce que je vais avoir l'affichage sur l'interface de la musique écouter? puis-je le masquer ou faire apparaître par la voix?
Je n'ai pas compris ce que tu veux dire par --> "sur l'interface de la musique écouter?"

La mise en place et création du miroir j'ai compris mais pas l'utilisation du plugin "interface".
Je comprend effectivement que ma description n'est pas très détaillée. Première chose à savoir, j'ai installé XAMP sur mon UC afin de pouvoir exécuter du code php.
Ensuite pour ce qui est du fonctionnement j'ai entièrement créé le plugin "interface" de mon côté en suivant les tutoriels de première utilisation fourni par Jean-philippe, donc tu ne le trouvera pas dans le store de SARAH.

Le plugin "interface" se compose de cette manière :
- fermet.bat : permet de killer le process internet explorer.
- interface.js : contient les commandes permettant de lancer le fichier "ouvrir.bat" et "fermer.bat".
- interface.prop : définition du plugin
- interface.xml : contient la grammaire (ex : JARVIS affiche mon interface, JARVIS ferme mon interface).
- ouvrir.bat : ouvre la page php "matin.php" par internet explorer. Le fichier "matin.php" est situé dans un sous-dossier de XAMP afin qu'il soit exécuté correctement.

Les informations que tu vois à l'écran sont donc affiché à l'aide de ce fichier "matin.php". J'utilise le plugin "interface" uniquement pour le lancement et la fermeture du fichier.
J'ai ensuite créé les fichiers php "calendrier.php", "pourcentage_alim.php" et "rappel.php" (également placé dans le dossier de XAMP) que je lance par l'intermédiaire de "matin.php" et que tu vois affiché à l'écran.

Il s'agit d'un affichage tous simple fixe d'une page php (j'ai positionné les différentes informations à l'aide d'un code CSS) et j'ai mis un fond noir afin que l'effet du miroir soit toujours visible. De cette manière tu as l'impression effectivement que tu pourrais déplacer/afficher où tu souhaite les informations mais ce n'est pas le cas.
J'avais déjà regardé de mon côté pour afficher des fenêtres aux emplacements que l'on veux mais c'est compliqué apparemment.

Maintenant rien ne t’empêche d'afficher d'autres infos sur la page php.

Je pense que de toute façon il faut que je mette tous mes plugins sur mon Github afin que ce soit plus clair à comprendre.

Mon projet étant le suivant: faire un homedash screen avec un raspberry couplé à sarah et donc un contrôle par voix. Il suffit avec le raspberry d'installer un micro, configurer en tant que client sarah et de faire afficher la page php du plugin "interface" en page par défaut à l'ouverture de chromium. Le raspberry étant utilisé en client et donc caché dans le cadre avec l'écran.
Bonne idée pour ton projet. Par contre à ce que j'ai pu lire et voir en vidéo sur le net, l'installation de SARAH sur raspberry ne serait pas totalement fonctionnelle mais bon c'était il y a plus d'un an donc peut que cela à peut être changé.

Voilà j’espère que tu as obtenu les informations que tu voulais.

Répondre
#12  - Lyonnel a dit :

Salut aimerais aussi le faire mais une question me trotte la tête de plus que le conseiller de Leroy Merlin n'as pas pu me répondre.
De quellle côté du miroir fait t-il appliquer le film?
Merci

Répondre
#13  - David a dit :

Bonjour @Lyonnel
Tu n'a pas de miroir a acheter, si tu as bien lu mon article tu dois acheter :

1 film miroir sans tain. Pour ma part je l'ai acheté à Leroy Merlin pour environ 11€.
1 cadre photo aux dimensions les plus proches de ton écran d'ordinateur.

Ensuite tu n'a plus qu'à coller le film miroir sur la vitre du cadre photo. Pour savoir comment le coller, il te suffit de suivre les indications sur la boite du film miroir.
Si tu veux savoir quel film miroir j'ai acheté, tu peux aller voir ici

Répondre
#14  - dr31 a dit :

Salut,
J'aimerai savoir quelle taille d'écran tu as utilisé pour ce projet?

Selon les photos, je trouve qu'un miroir de ce type pourrait me correspondre.

merci

Répondre
#15  - David a dit :

J'utilise un vieille écran Philips 170S 1280x1024 pour la résolution

Répondre
#16  - Location fichiers et base de données btob pour des entreprises a dit :

Spot on with this write-up, I absolutely believe that this site needs much more attention. I'll probably
be returning to read through more, thanks for the advice!

Répondre
#17  - Charles a dit :

Bonjour,
Très beau projet, le rendu est super.
Un grand merci a vous Charles

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la deuxième lettre du mot zjgn ?