intéressant

Comment construire votre propre Amazon Echo avec un Raspberry Pi

Amazon Echo est utile d'avoir à la maison. Il peut lire des podcasts, prendre des rappels et des notes, vous indiquer la durée de votre trajet et même contrôler d'autres appareils de votre maison. Mais à des prix allant de 50 $ à 150 $, c'est une proposition coûteuse si vous n'êtes pas sûr de l'utiliser. Bonne nouvelle cependant, vous pouvez en créer un entièrement fonctionnel avec un Raspberry Pi.

Mise à jour : Cette méthode est un peu plus facile et vous procure un meilleur produit final. Nous quittons ce guide car il utilise les référentiels officiels d'Amazon, mais le système fonctionne beaucoup mieux.

Ce que vous obtiendrez

À la fin de ce guide, vous disposez d'un Amazon Echo (presque) entièrement fonctionnel qui répond à vos commandes vocales. La seule chose qu'il ne puisse pas faire, c'est accéder à des services de musique tels qu'Amazon Prime, Spotify ou Pandora. Sinon, c'est un écho avec toutes les fonctions d'Alexa, l'assistante virtuelle d'Amazon. Ce qui signifie qu’il peut effectuer des conversions d’unités, consulter vos résultats sportifs, lire vos livres Kindle, consulter la météo, lire des podcasts et la radio, et bien plus encore. Une fois que vous avez terminé, vous pourrez utiliser l'application compagnon Alexa (iOS et Android) pour modifier les paramètres de votre Alexa et vous pourrez installer toutes les mêmes compétences que vous pouvez sur un véritable écho. Cela inclut les goûts du Batman, choisissez votre propre jeu d’aventure ou une base de données de faits sur les chats. Peut-être plus utile, il comprend les intégrations récemment annoncées avec des applications de tâches tierces telles que Todoist et Any.do.

Il fonctionnera également avec une variété d'appareils connectés, tels que des ampoules intelligentes de LIFX ou du thermostat Nest, pour que vous puissiez les contrôler avec votre voix. Comme le véritable écho, votre bricolage écho peut être associé à des fonctions telles que l’ajout de fonctions, comme l’ajout de tâches à effectuer à Evernote ou la notification sur votre téléphone lorsque le chronomètre se déclenche.

En ce qui concerne le prix, il y a une chose que nous devrions mentionner ici: Echo Dot d'Amazon (le plus petit Echo avec un haut-parleur junky) coûte seulement 50 $, ce qui vous permet de vendre beaucoup plus facilement à partir d'un Raspberry Pi à 35 $. Cependant, il existe une caractéristique clé du Raspberry Pi qui rend tout cela intéressant:. Ce projet installe simplement un ensemble de programmes permettant à votre Raspberry Pi de fonctionner comme un écho. Votre Raspberry Pi peut toujours fonctionner avec plusieurs autres projets, comme une console de jeu rétro (vous aurez simplement besoin d'installer l'environnement de bureau) ou un centre multimédia. Cela signifie que vous pouvez le transformer en une machine multitâche.

Ce dont vous aurez besoin

Comme vous vous en doutez, vous aurez besoin d’un Raspberry Pi à côté d’une poignée de pièces:

  • Un Raspberry Pi 3 (recommandé) ou un Raspberry Pi 2 (vous aurez également besoin d'un adaptateur USB Wi-FI avec le modèle 2) avec Raspbian installé. Si vous n'avez pas encore installé Raspbian, notre guide couvre tout ce que vous devez savoir.
  • Un câble d'alimentation MicroUSB
  • Une carte MicroSD de 8 Go
  • Un microphone USB (j'ai utilisé ce micro bon marché à 6 $, mais presque tous les micros USB semblent fonctionner. Le Playstation Eye à 8 $ semble fonctionner particulièrement bien si vous recherchez une légère mise à niveau)
  • Haut-parleurs (n'importe quel haut-parleur alimenté fait le travail, j'ai décidé d'utiliser un UE Mini Boom car je le possédais déjà et même lorsqu'il est branché sur le Pi, il fonctionne toujours comme un haut-parleur Bluetooth)
  • Un clavier et une souris pour la configuration (ou l'accès à un ordinateur avec VNC)

Il est théoriquement possible d'utiliser un ancien Raspberry Pi ou un Raspberry Pi Zero pour ce projet, mais vous devrez pour cela installer manuellement la dernière version de Java. Ce fil sur GitHub peut aider. Nous l’avons toutefois testé sur les Raspberry Pi 2 et 3.

Vous construirez votre DIY Echo en installant le kit de compétences Amazon Alexa sur le Raspberry Pi. Pour ce guide, nous utiliserons le code officiel d'Amazon. Cela vient toutefois avec une mise en garde: il vous oblige à démarrer manuellement le service Alexa. C'est agaçant, mais en supposant que vous ne perdiez pas beaucoup d'énergie ou que vous ne deviez pas redémarrer votre Pi très souvent, c'est seulement un peu agaçant.

Première étape: créer un compte de développeur Amazon

Avant de faire quoi que ce soit, vous devez vous inscrire pour un compte de développeur Amazon gratuit, puis créer un profil pour votre DIY Echo. C'est assez simple:

  1. Connectez-vous à votre compte de développeur Amazon.
  2. Cliquez sur l'onglet Alexa.
  3. Cliquez sur Enregistrer un type de produit> Périphérique.
  4. Nommez votre type d'appareil et nom complet (nous avons choisi «Raspberry Pi» pour les deux).
  5. Cliquez sur Suivant.
  6. Dans l'écran Profil de sécurité, cliquez sur «Créer un nouveau profil».
  7. Sous l'onglet Général, à côté de «Nom du profil de sécurité», nommez votre profil. Faites la même chose pour la description. Cliquez sur Suivant.
  8. Notez l'ID de produit, l'ID de client et le secret de client que le site génère pour vous.
  9. Cliquez sur l'onglet Paramètres Web, puis sur le bouton Modifier en regard du menu déroulant.
  10. À côté de Allowed Origins, cliquez sur "Ajouter un autre" et tapez: //localhost:3000 .
  11. En regard de URL de retour autorisées, cliquez sur «Ajouter une autre» et tapez: //localhost:3000/authresponse Cliquez sur Suivant lorsque vous avez terminé.
  12. L'onglet Détails du périphérique est le suivant. Peu importe ce que vous entrez ici. Choisissez une catégorie, écrivez une description, choisissez le calendrier attendu et entrez un 0 dans le formulaire en regard du nombre de périphériques que vous prévoyez d'utiliser. Cliquez sur Suivant.
  13. Enfin, vous pouvez choisir d'ajouter Amazon Music ici. Cela ne fonctionne pas sur le périphérique alimenté par Pi, alors laissez-le coché en tant que «Non» Cliquez sur Enregistrer.

Vous avez maintenant un compte de développeur Amazon et vous avez créé un profil pour votre écho optimisé par Pi. Il est temps de se rendre au Raspberry Pi et de faire travailler Alexa.

Deuxième étape: cloner et installer Alexa

Branchez tout dans votre Pi et démarrez-le. Vous devrez pour cela être dans l'interface utilisateur graphique (maintenant appelée PIXEL), car vous utiliserez éventuellement un navigateur Web pour authentifier votre appareil.

  1. Ouvrez l'application Terminal sur le Raspberry Pi et tapez: cd Desktop et appuyez sur Entrée.
  2. Entrez git clone //github.com/alexa/alexa-avs-sample-app.git et appuyez sur Entrée.

  3. Une fois l’opération terminée, tapez cd ~/Desktop/alexa-avs-sample-app et appuyez sur Entrée.
  4. Tapez nano automated_install.sh et appuyez sur Entrée.
  5. Cela ouvre votre éditeur de texte. Ici, vous devez entrer votre ProductID, ClientID et ClientSecret que vous avez notés à l'étape ci-dessus. Utilisez les touches fléchées pour naviguer vers chaque entrée. Entrez chaque détail après le signe = comme indiqué dans l'image ci-dessus. Lorsque vous avez terminé, appuyez sur CTRL + X pour enregistrer et quitter.
  6. Vous êtes maintenant de retour à la ligne de commande. Il est temps d'exécuter le script d'installation. Tapez cd ~/Desktop/alexa-avs-sample-app et appuyez sur Entrée.
  7. Tapez po . automated_install.sh et appuyez sur Entrée.
  8. Lorsque vous y êtes invité, appuyez sur Y pour les différentes questions et répondez à votre guise. Cela configurera votre Pi et installera des logiciels supplémentaires. Cela peut prendre jusqu'à 30 minutes, alors laissez-le faire.

Une fois que cela est terminé, il est temps de démarrer le service Alexa.

Troisième étape: exécuter le service Web Alexa

Ensuite, vous allez exécuter trois jeux de commandes à la fois dans trois fenêtres de terminal différentes. Vous allez créer une nouvelle fenêtre de terminal pour chacune des étapes suivantes. Ne fermez aucune fenêtre! Vous devrez suivre les étapes trois (celle-ci) quatre et cinq à chaque redémarrage de votre Raspberry Pi.

Le premier que vous allez commencer est le service Web Alexa:

  1. Tapez cd ~/Desktop/alexa-avs-sample-app/samples et appuyez sur Entrée.
  2. Tapez cd companionService && npm start et appuyez sur Entrée.

Cela démarre le service compagnon et ouvre un port pour communiquer avec Amazon. Laissez cette fenêtre ouverte.

Quatrième étape: exécuter l'exemple d'application et confirmer votre compte

Ouvrez une deuxième fenêtre de terminal (Fichier> Nouvelle fenêtre). Cette étape suivante exécute une application Java et lance un navigateur Web qui enregistre votre écho alimenté par Pi avec le service Web Alexa.

  1. Dans votre nouvelle fenêtre de terminal, entrez cd ~/Desktop/alexa-avs-sample-app/samples et appuyez sur Entrée.
  2. Tapez cd javaclient && mvn exec:exec et appuyez sur Entrée.
  3. Une fenêtre apparaîtra vous demandant d'authentifier votre appareil. Cliquez sur oui. Cela ouvre une fenêtre de navigateur. Une deuxième fenêtre contextuelle apparaîtra dans l'application Java, vous demandant de cliquer sur OK. Ne cliquez pas encore dessus.
  4. Connectez-vous à votre compte Amazon dans le navigateur.
  5. Vous verrez un écran d'authentification pour votre appareil. Cliquez OK. Votre navigateur va maintenant afficher les «jetons de périphérique prêts».
  6. Vous pouvez maintenant cliquer sur la fenêtre contextuelle OK dans l'application Java.

Votre Raspberry Pi dispose désormais des jetons nécessaires pour communiquer avec le serveur Amazon. Laissez cette fenêtre de terminal ouverte.

Cinquième étape: démarrez votre moteur Word Wake

Enfin, ouvrez une troisième fenêtre Terminal (Fichier> Nouvelle fenêtre). Ici, vous allez démarrer le moteur de mot de réveil. Cela vous permet de dire «Alexa» pour que votre Raspberry Pi commence à vous écouter. Vous avez deux options pour le logiciel Wake Word, Sensory et KITT.AI. Les deux sont gratuits, mais Sensory expire au bout de 90 jours. Nous allons donc utiliser KITT à la place:

  1. Tapez cd ~/Desktop/alexa-avs-sample-app/samples et appuyez sur Entrée.
  2. Entrez cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

Ça y est, votre bricolage Echo est maintenant en cours d'exécution. Allez-y et essayez-le en disant «Alexa». Vous devriez entendre un bip indiquant qu'il écoute. Lorsque vous entendez ce bip, posez une question du type "Quel temps fait-il?" Ou "Quel est le score du jeu Dodgers?"

Sixième étape: améliorez le microphone et assurez-vous que votre écho puisse vous entendre

Enfin, en fonction de la qualité de votre microphone, vous remarquerez peut-être qu’il a du mal à vous entendre. Au lieu de crier «Alexa» au sommet de vos poumons, revenons à la ligne de commande une dernière fois.

  1. Sur la ligne de commande, tapez alsamixer et appuyez sur Entrée.
  2. Appuyez sur F6 pour sélectionner un autre périphérique USB. Utilisez les touches fléchées pour sélectionner votre microphone.
  3. Utilisez les touches fléchées pour augmenter le volume de capture.
  4. Lorsque vous êtes satisfait du volume, appuyez sur Echap pour quitter.
  5. Tapez sudo alsactl store et appuyez sur Entrée pour rendre les paramètres permanents.

Maintenant, vous devriez être capable de déclencher votre écho bricolage en lui parlant comme un humain normal au lieu de crier. Vous pouvez également modifier le volume par défaut ici si vous en avez besoin.

Crédit supplémentaire: ajout du support AirPlay

Une chose qui manque à votre DIY Echo dans la version commerciale est la possibilité de fonctionner comme un haut-parleur Bluetooth. Vous pouvez ajouter des fonctionnalités similaires avec AirPlay. De cette façon, votre écho agit également comme un récepteur auquel vous pouvez envoyer de la musique depuis votre téléphone ou votre ordinateur. C'est facile à ajouter, vous aurez juste besoin d'un dernier voyage en ligne de commande via Terminal:

  1. Tapez sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl et appuyez sur Entrée. Cela installe différents logiciels dont vous aurez besoin.
  2. Appuyez sur Y lorsque vous y êtes invité et attendez que tout soit téléchargé et installé.
  3. Tapez git clone //github.com/njh/perl-net-sdp.git et appuyez sur Entrée. Ceci est requis pour la dernière version du logiciel AirPlay. Les commandes suivantes construisent et installent ce logiciel.
  4. Tapez cd perl-net-sdp et appuyez sur Entrée.
  5. Tapez perl Build.PL et appuyez sur Entrée.
  6. Tapez sudo ./Build et appuyez sur Entrée.
  7. Tapez sudo ./Build test et appuyez sur Entrée.
  8. Tapez sudo ./Build install et appuyez sur Entrée.
  9. Tapez CD .. et appuyez sur Entrée.
  10. Maintenant, vous allez acheter shairport, le logiciel DIY Airport. Entrez git clone //github.com/hendrikw82/shairport.git et appuyez sur Entrée.

  11. Tapez cd shairport et appuyez sur Entrée.
  12. Tapez make et appuyez sur Entrée.
  13. Tapez ./shairport.pl -a AlexaPi et appuyez sur Entrée.

Avec cela, vous pouvez maintenant diffuser de la musique ou d’autres fichiers audio sur votre DIY Echo en utilisant le protocole AirPlay. Maintenant que votre écho est opérationnel, allez-y et commencez à jouer avec.