Comment ajouter Alexa à votre miroir intelligent



Imaginez un miroir qui ne se contente pas de refléter votre image, mais qui interagit avec vous grâce à l’intelligence artificielle. Si vous avez déjà créé un miroir intelligent, vous profitez déjà de fonctionnalités telles que l’affichage du calendrier, des prévisions météo et des dernières actualités. Cependant, il est possible d’aller encore plus loin. Le logiciel Magic Mirror offre la possibilité d’ajouter des modules qui étendent ses capacités, notamment l’intégration d’Alexa pour le contrôle vocal.

Ces modules, conçus par une communauté de développeurs, proposent un large éventail d’options. Certaines sont très pratiques, comme Alexa ou la détection de présence (grâce à une caméra ou un capteur infrarouge), tandis que d’autres sont plus ludiques, telles que l’affichage de flocons de neige ou les informations de lecture Spotify.

Pour Alexa, nous recommandons le module mmm-awesome-alexa. Il bénéficie d’un suivi régulier par un développeur actif, ce qui est un gage de qualité. Bien que d’autres modules Alexa existent pour Magic Mirror, celui-ci semble être le plus fiable.

Si vous préférez l’Assistant Google, Google propose un tutoriel détaillé pour l’installation sur un Raspberry Pi. Il contient toutes les informations nécessaires, des instructions pas à pas aux liens de téléchargement. Bien que quelques modules Magic Mirror soient disponibles pour Google Assistant, notre expérience a révélé qu’ils étaient souvent source de problèmes, tels que des blocages ou des chevauchements d’informations. Pour une installation plus simple, nous vous conseillons le Kit Google AIY et son tutoriel dédié.

L’installation d’un module Magic Mirror suit généralement ces étapes :

Télécharger le code du module depuis GitHub
Configurer les options spécifiques au module
Ajouter le module à la configuration du miroir

L’implication des étapes deux et trois peut varier en fonction du module. Par exemple, configurer Alexa est plus complexe que l’ajout de simples flocons de neige. De plus, le module Alexa mentionné requiert l’installation de dépendances logicielles préalables.

Matériel Nécessaire

Ce guide suppose que vous possédez déjà un miroir intelligent fonctionnel. Si ce n’est pas le cas, commencez par créer votre miroir, en tenant compte du matériel supplémentaire mentionné ci-dessous dans votre budget et vos contraintes d’espace.

Miroir intelligent opérationnel
Microphone
Haut-parleur

Pour le microphone et le haut-parleur, le Kit vocal Google AIY est une option intéressante. Pour un prix abordable, vous obtiendrez un microphone et un haut-parleur fonctionnels. Vous n’êtes pas obligé d’utiliser le boîtier en carton inclus. Vous pouvez très bien laisser les composants à l’extérieur et faire passer le microphone et le haut-parleur par derrière le miroir.

Une deuxième version du Kit vocal Google AIY est disponible. Cependant, il est plus cher et intègre un Raspberry Pi Zero, qui n’est pas assez puissant pour exécuter les mots de réveil ou le logiciel Magic Mirror. Il est donc préférable de l’ignorer.

Connectez votre haut-parleur et votre microphone, et vous êtes prêt à installer le module Alexa. Si vous utilisez le kit Google AIY, suivez son guide de montage pour brancher les composants du microphone et du haut-parleur.

Installation des Dépendances du Module

Avant de télécharger et de configurer mmm-awesome-alexa, vous devez installer les dépendances requises par ce module. Mettre à jour votre Raspberry Pi est une bonne pratique avant d’installer quoi que ce soit d’autre. Sur votre Raspberry Pi, commencez par exécuter la commande suivante:

sudo apt update && sudo apt upgrade

Une fois votre Raspberry Pi mis à jour, exécutez ces commandes une par une :

sudo apt-get install sox libsox-fmt-all
sudo apt-get install swig3.0 python-pyaudio python3-pyaudio sox
pip install pyaudio
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools
sudo apt-get install libatlas-base-dev

Chaque commande installe une dépendance nécessaire. Exécutez une commande, patientez jusqu’à la fin du téléchargement et de l’installation, puis exécutez la commande suivante.

Téléchargement du Code du Module

La première étape pour ajouter un module à Magic Mirror est de télécharger son code depuis GitHub. Vous devrez vous connecter au Raspberry Pi, ouvrir le terminal et vous déplacer vers le répertoire où sont stockés les modules. Puis, vous utiliserez une commande de téléchargement pour extraire le code de Github. Si vous avez un accès shell, vous pouvez effectuer ces étapes à distance.

Une fois le terminal ouvert, tapez ce qui suit:

cd ~/MagicMirror/modules

Cette commande vous amène au répertoire du dossier modules du logiciel Magic Mirror. Chaque fois que vous ajoutez un nouveau module, il est important de se trouver dans ce dossier pour que tout soit bien organisé. Ensuite, téléchargez le code depuis Github avec cette commande :

git clone https://github.com/dolanmiu/MMM-awesome-alexa.git

Une fois le téléchargement terminé, déplacez-vous vers le répertoire du module avec cette commande :

cd MMM-awesome-alexa

Le module Alexa a besoin de dépendances supplémentaires pour fonctionner correctement. Installez-les avec la commande suivante :

npm install --only=prod

Ensuite, déplacez-vous dans le dossier « node_modules » nouvellement créé:

cd node_modules

Supprimez le dossier « snowboy » qui a été ajouté par les commandes précédentes. Nous avons besoin d’une version plus récente de « snowboy » :

rm -rf snowboy

Maintenant, téléchargez la dernière version de « snowboy » avec cette commande:

git clone https://github.com/Kitt-AI/snowboy.git

Avant de continuer, déplacez-vous dans le nouveau dossier « snowboy ».

cd snowboy

Nous devons maintenant supprimer le dossier « node_modules » et installer des dépendances supplémentaires. Il est crucial que vous restiez dans le dossier « snowboy » pour ces étapes; ne changez pas de répertoire. Exécutez ces commandes une par une:

rm -rf node_modules
npm install nan --save
npm install node-pre-gyp@0.12.0 --save
npm install
npm run prepublish
npm install --save-dev electron-rebuild
npm install nan
./node_modules/.bin/electron-rebuild

Le module est maintenant entièrement téléchargé et installé.

Configuration du Module Alexa

Maintenant que le module mmm-awesome-alexa est installé, nous devons le configurer. La première étape consiste à se déplacer à la racine du module. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :

cd ~/MagicMirror/modules/MMM-awesome-alexa

Ce module Alexa dispose d’un assistant de configuration. Lancez-le en saisissant la commande suivante dans le terminal:

npm run config-helper

Un message vous demandera un ID client. Étant donné que vous configurez un appareil de type Echo personnalisé, vous devez ouvrir votre navigateur et vous rendre sur le site des développeurs Alexa. Connectez-vous ensuite avec votre compte Amazon.

Une fois connecté, cliquez sur le bouton « Démarrer ». Vous allez créer un nouvel appareil. Cliquez sur « Produits », puis sur « Créer un produit ».

Dans l’écran suivant, donnez un nom et un ID à votre produit. Nous suggérons «Magic_Mirror_Alexa» pour le nom et «VotrePrenom_MM_Alexa» pour l’ID de produit. Choisissez « Maison intelligente » pour la catégorie et activez les options « mains libres » et « champ lointain ». Vous verrez une série de questions « oui ou non ». Choisissez « Non » pour toutes les questions et cliquez sur « Suivant ».

Dans l’écran « Profil de sécurité », cliquez sur « Créer un nouveau profil ». Utilisez le même nom que pour l’ID de produit. Indiquez ensuite la description de votre choix et cliquez sur « Suivant ».

Cochez l’accord et cliquez sur « Terminer ».

Cliquez sur votre produit nouvellement créé, puis sur le profil de sécurité. Vous devriez voir un ID client et un secret client.

Dans le champ pour l’URL de retour autorisée, entrez :
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

Cliquez ensuite sur le bouton « Ajouter ». Faites défiler vers le bas et cochez la case « Mettre à jour » pour terminer l’ajout de l’URL.

Dans le terminal, un message vous demandera l’ID client. Copiez l’ID client depuis votre navigateur, collez-le dans le terminal et appuyez sur Entrée. Ensuite, le terminal demandera le secret client. Retournez au navigateur, copiez le secret client et collez-le dans le terminal, puis appuyez sur Entrée.

Lorsque le terminal vous demandera l’ID de l’appareil, entrez le nom que vous avez défini précédemment pour l’ID de produit (Magic_Mirror_Alexa dans notre exemple).

Lorsque vous êtes invité à saisir une URL de retour, tapez cette commande et appuyez sur Entrée :

https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

Le terminal affichera un lien personnalisé. Copiez-le et collez-le dans votre navigateur. Connectez-vous ensuite avec votre compte Amazon si on vous le demande. Cliquez sur « Autoriser » dans l’écran suivant.

Le navigateur affichera une erreur, mais ne vous inquiétez pas ! C’est tout à fait normal. Parcourez l’URL de la page d’erreur et cherchez la section « code=xxxxxx ».

Copiez les chiffres et les lettres qui apparaissent entre « code= » et « &scope » et collez-les dans le terminal. Appuyez sur Entrée une fois terminé.

Lorsque le terminal vous demande si vous souhaitez générer la configuration MagicMirror, saisissez « Y » et appuyez sur Entrée.

Le terminal vous demandera quel mot de réveil utiliser. La valeur par défaut est « Alexa ». Appuyez sur Entrée.

Répondez « non » pour le mode simplifié et la visualisation.

L’assistant de configuration va générer les informations de votre module. Il ressemblera à quelque chose comme ceci:

{
 module: "MMM-awesome-alexa",
 position: "bottom_bar",
 config: {
 wakeWord: "Alexa",
 clientId: "YOUR_CLIENT_ID",
 clientSecret: "YOUR_CLIENT_SECRET",
 deviceId: "YOUR_DEVICE_ID",
 refreshToken: "YOUR_REFRESH_TOKEN",
 lite: false,
 isSpeechVisualizationEnabled: false
 }
 }

Copiez ces lignes. Nous devons les ajouter à la configuration de Magic Mirror.

Ajout du Module Alexa à la Configuration Magic Mirror

Déplacez-vous dans le dossier de configuration de Magic Mirror avec cette commande :

cd ~/MagicMirror/config

Puis ouvrez le fichier config.js à l’aide de la commande nano :

nano config.js

Juste après la première instance de « } », (qui marque la fin d’un module), appuyez sur Entrée pour créer une ligne vide avant la prochaine entrée « { » (qui marque le début d’un nouveau module).

Sur la nouvelle ligne vide que vous avez créée, collez le code du module généré par l’assistant de configuration. Le code généré automatiquement contient une erreur. Vous devez ajouter une virgule après le crochet final « } » pour que votre module se termine correctement par « }, ».

Utilisez Ctrl+x pour fermer le fichier. Quand le terminal vous le demande, tapez « y » pour confirmer la sauvegarde et appuyez sur Entrée pour conserver le même nom de fichier.

Le module est maintenant installé. Pour redémarrer votre logiciel Magic Mirror avec le module en place, tapez « pm2 restart mm » et le logiciel redémarrera. Alexa devrait maintenant fonctionner sur votre miroir intelligent.

C’est l’un des modules les plus complexes à configurer pour Magic Mirror. Toutefois, pour les autres modules, les étapes de base restent les mêmes : télécharger le code, configurer les options spécifiques au module, ajouter le module à la configuration. Vous pouvez par exemple ajouter des flocons de neige, de la détection de mouvement, ou encore afficher vos photos Google.