Amazon Alexa, plus sim­ple­ment connu sous le nom d’Alexa, est l’assistant vocal développé par Amazon. Ce logiciel fonc­tionne sur des haut-parleurs in­tel­li­gents comme l’Echo ou l’Echo Dot d’Amazon. Sur ces appareils, Alexa fonc­tionne comme une unité de contrôle centrale qui réagit aux commandes vocales de l’uti­li­sa­teur. Il est ainsi possible de demander à jouer en streaming des morceaux depuis Amazon Music ou Spotify, d'écouter un livre audio depuis Audible ou de se ren­seig­ner sur les ac­tua­li­tés ou la météo. Le logiciel est également utile pour organiser ra­pi­de­ment les tâches du quotidien : vous pouvez par exemple dicter des listes d'achats ou de choses à faire ou encore réserver des dates dans le ca­len­drier de votre choix (Apple, Google ou Outlook, entre autres).

De plus, dans la mesure où le logiciel vocal d’Amazon peut se connecter avec des milliers d'ap­pa­reils do­mes­tiques in­tel­li­gents com­pa­tibles (lampes, prises élec­triques, ther­mos­tats, etc.), il permet aussi d’au­to­ma­ti­ser le fonc­tion­ne­ment de votre foyer.

Note

Alexa s'ac­tua­lise au­to­ma­ti­que­ment via cloud. C’est ce qui permet à Amazon de ré­gu­liè­re­ment doter son logiciel vocal de nouvelles fonctions, également désignés sous le nom d’Amazon Skills, dis­po­nibles dans la boutique Alexa Skills Store.

Grâce à Alexa Voice Service, vous pouvez choisir d’utiliser Alexa sans appareil Amazon et l’intégrer à votre propre appareil. Dans ce contexte, le Raspberry Pi, ce nano-or­di­na­teur utilisé dans le monde entier, se révèle par­ti­cu­liè­re­ment in­té­res­sant par rapport à la gamme des appareils Echo d’Amazon, non seulement en raison de son prix très modeste, mais aussi parce qu’il est possible de l’adapter et de le per­son­na­li­ser à volonté.

Con­fi­gu­ra­tion d’Alexa sur votre Raspberry Pi : les con­di­tions né­ces­saires pour faire fonc­tion­ner Raspberry Pi Alexa

Le Raspberry Pi est dis­po­nible sur le marché depuis 2012. Depuis lors, les fa­bri­cants ont poursuivi son dé­ve­lop­pe­ment en sortant dif­fé­rentes évo­lu­tions, comme Raspberry Pi 2 et 3 ou le Rasperry Pi Zero. Toutefois, toutes les versions du nano-or­di­na­teur ne rem­plis­sent pas les con­di­tions né­ces­saires pour l’in­té­gra­tion d’Alexa. Pour pouvoir ul­té­rieu­re­ment con­fi­gu­rer votre as­sis­tante vocale de façon optimale, il est re­com­mandé d’utiliser au minimum un Raspberry Pi 2 (Modèle B). Puisqu’Alexa doit être connectée à Internet, vous aurez besoin d’un adap­ta­teur WLAN si vous ne voulez pas laisser le nano-or­di­na­teur connecté de façon per­ma­nente via un câble Ethernet.

Mais si vous optez pour un Raspberry Pi 3, cette version est équipée de série d’un adap­ta­teur WLAN intégré.

Dans tous les cas, vous aurez besoin des ac­ces­soires suivants pour pouvoir utiliser Alexa sur votre Raspberry Pi :

  • Carte Micro SD avec 8 Go de mémoire au minimum (idéa­le­ment 16 Go ou plus)
  • Ali­men­ta­tion USB d'au moins 2 000 mAh
  • Mi­cro­phone USB
  • Haut-parleur USB ou Bluetooth (pour le Raspberry Pi 3)

Pour une meilleure ex­pé­rience auditive, vous pouvez doter votre Raspberry Pi d’une carte son USB. Si vous ne souhaitez pas effectuer l’ins­tal­la­tion et la con­fi­gu­ra­tion de votre système d’ex­ploi­ta­tion et utiliser Alexa uni­que­ment à distance depuis votre PC (en « headless mode »), vous pouvez aussi raccorder un écran, un clavier et une souris au nano-or­di­na­teur.

Tutoriel AlexaPi : ainsi parlait Raspberry Pi Alexa

Avant de pouvoir con­fi­gu­rer votre as­sis­tante vocale, vous devez installer un système d’ex­ploi­ta­tion sur la carte SD de votre Raspberry. Nous vous con­seil­lons le système Raspbian, soutenu of­fi­ciel­le­ment par la Fondation Raspberry Pi et à té­lé­char­ger di­rec­te­ment sous forme de fichier image sur le site Internet de la Fondation. Extrayez ensuite le fichier sur la carte SD et utilisez-le pour booter votre Raspberry Pi et installer le système d’ex­ploi­ta­tion.

Si vous préférez éviter d'avoir à installer vous-même un système d'ex­ploi­ta­tion, vous pouvez vous rendre sur la boutique en ligne « The Pi Hut » pour acheter une carte SD prête à l’emploi, où Raspbian est déjà préins­tallé.

Pour savoir comment lancer Alexa après l’ins­tal­la­tion de Raspbian, suivez les ex­pli­ca­tions dé­tail­lées ci-dessous.

Étape 1 : créer un compte de dé­ve­lop­peur Amazon

Pour pouvoir vous connecter au service Amazon Voice, vous aurez besoin d’un compte de dé­ve­lop­peur Amazon. La première étape consiste à en créer un, à partir duquel vous pourrez accéder à la page des dé­ve­lop­peurs d’Amazon. Quand vous y serez, cliquez sur « Ins­crip­tion » et ensuite sur « Créez votre compte ». Vous pouvez aussi vous inscrire à partir de votre compte Amazon habituel, si vous en possédez un.

Four­nis­sez les iden­ti­fiants demandés (nom, adresse email et mot de passe) puis cliquez à nouveau sur « Créez votre compte ».

Votre ins­crip­tion dans l’espace des dé­ve­lop­peurs se fait au­to­ma­ti­que­ment. Cependant, avant de pouvoir utiliser des outils comme Alexa Voice Server, vous pouvez fournir d'autres in­di­ca­tions vous con­cer­nant en cliquant sur « Conclure votre ins­crip­tion » dans le menu déroulant situé en haut.

Étape 2 : en­re­gis­trer votre Raspberry Pi sur le service Alexa Voice

Une fois les in­for­ma­tions né­ces­saires fournies et votre accord donné aux con­di­tions d’uti­li­sa­tion, vous avez accès au tableau de bord de dé­ve­lop­peur, qui vous permet de consulter et de gérer vos dif­fé­rents projets Amazon. Dans la rubrique « amazon alexa », vous trouverez le bouton « Alexa Voice Service ». En cliquant dessus, vous lancerez le processus d'ac­ti­va­tion de l’as­sis­tante vocale sur votre Raspberry :

Dans le menu suivant, cliquez sur le bouton « GET STARTED ». Amazon vous posera alors quelques questions à propos de votre projet.

Aux lignes « Product name » et « Product ID », vous pouvez par exemple inscrire « AlexaPi » ou « Rasp­ber­ry­PiA­lexa ».

À la ligne « Product type », choi­sis­sez l’option « Device with Alexa built-in » (« appareil avec logiciel Alexa intégré »). Répondez non à la question portant sur l’uti­li­sa­tion d’une ap­pli­ca­tion associée.

À la ligne « Product category », sé­lec­tion­nez « Wireless Speakers ». Pour la des­crip­tion du produit, inutile de vous lancer dans de grandes ex­pli­ca­tions : une mention comme « Raspberry Pi Alexa Speaker » est suf­fi­sante.

Comme vous souhaitez diriger votre Raspberry Pi uni­que­ment par commandes vocales dans le cadre de son uti­li­sa­tion en tant que haut-parleur Alexa classique, sé­lec­tion­nez les modes d’in­te­rac­tion « Hands-free » (contrôle vocal à proximité) et « Far-field » (contrôle vocal à distance).

Répondez non aux dernières questions sur l’uti­li­sa­tion com­mer­ciale et l’af­fec­ta­tion du Raspberry à Alexa for Business et Alexa Mobile Accessory Protocol ainsi qu’à la question de savoir si votre projet vise à être adapté à une uti­li­sa­tion par des mineurs.

Étape 3 : créer un profil de sécurité LWA Alexa

Lors de l’étape suivante, vous devez créer un profil de sécurité LWA (Login with Amazon) pour le Raspberry Pi, de façon à permettre son au­then­ti­fi­ca­tion par Amazon. Comme vous ne possédez pas encore de profil LWA, cliquez sur « CREATE NEW PROFILE », puis choi­sis­sez un nom approprié et donnez une courte des­crip­tion du profil :

Après avoir cliqué sur « NEXT », vous verrez ap­pa­raître un autre menu où vous fournirez les URL d’au­then­ti­fi­ca­tion LWA. Saisissez l'adresse suivante (puis confirmez en appuyant sur « ADD ») :

  • Allowed origins : https://localhost:3000
  • Allowed return URLs : https://localhost:3000/au­thres­ponse

Enfin, cochez la case d'ac­cep­ta­tion des con­di­tions d’uti­li­sa­tion d’Amazon et d’Alexa-Voice-Service ; terminez le processus de création du profil en cliquant sur le bouton « FINISH » :

Si l’ins­tal­la­tion est réussie, une fenêtre Amazon ap­pa­raî­tra en pop-up pour vous en avertir.

Étape 4 : saisir les in­for­ma­tions sur le produit et le client

Le profil que vous avez créé pour votre AlexaPi peut désormais être sé­lec­tionné à tout moment dans la section « Products ». Avant de vous lancer dans l’ins­tal­la­tion d’Alexa, vous devez saisir les in­for­ma­tions sur le produit et le client pour la con­fi­gu­ra­tion de l'as­sis­tante vocale. Pour cela, sé­lec­tion­nez le profil du Raspberry dans la liste des produits puis saisissez les données voulues dans les sections « Client ID » et « Client secret ». L’in­for­ma­tion la plus im­por­tante sur le produit est la « Product ID », qui équivaut au nom de produit donné dans le cadre du tutoriel « AlexaPi ».

Étape 5 : installer Alexa sur le Raspberry Pi

Pour installer Alexa sur votre Raspberry Pi, le plus simple est de passer par la pla­te­forme de dé­ve­lop­pe­ment GitHub. Vous y trouverez entre autres l’ap­pli­ca­tion Alexa AVS Sample, qui vous aidera à installer le logiciel vocal sur votre nano-or­di­na­teur. Pour utiliser cette pla­te­forme, vous aurez besoin d’un client Git que vous pourrez té­lé­char­ger après une rapide mise à jour du système, s’il n’est pas déjà installé na­ti­ve­ment. Tapez les commandes suivantes dans le terminal Raspbian pour ac­tua­li­ser le logiciel système :

sudo apt-get update
sudo apt-get upgrade -y

Vient ensuite l’ins­tal­la­tion du client Git :

sudo apt-get install git

À l'aide du client, té­lé­char­gez l’ap­pli­ca­tion AVS Sample ou clonez-le ré­per­toire GitHub:

sudo git clone https://github.com/alexa/alexa-avs-sample-app.git
Note

L'ap­pli­ca­tion AVS Sample se trouve dans le mode Main­te­nance ; c’est pourquoi elle n’est pas dotée des plus récentes fonc­tion­na­li­tés d’Alexa. Le kit de dé­ve­lop­pe­ment AVS offre une solution al­ter­na­tive pour bé­né­fi­cier également des fonc­tion­na­li­tés les plus récentes de l’as­sis­tance vocale.

Une fois le ré­per­toire GitHub transféré sur votre Raspberry Pi, reportez les in­for­ma­tions données à l’étape 4 dans le fichier d’ins­tal­la­tion automated_install.sh. Pour l’ouvrir, vous pouvez utiliser le logiciel de trai­te­ment de texte de votre choix (par ex. Nano).

Confirmez les mo­di­fi­ca­tions et commencez l’ins­tal­la­tion d’Alexa sur votre Raspberry Pi en sai­sis­sant la commande suivante :

. automated_install.sh

Étape 6 : premières étapes de con­fi­gu­ra­tion au cours du processus d’ins­tal­la­tion

Pendant l’ins­tal­la­tion du logiciel vocal, vous devez procéder aux premiers réglages et répondre à des questions. Dès le départ, vous devez donner votre con­sen­te­ment aux con­di­tions générales et approuver l'uti­li­sa­tion d'ap­pli­ca­tions tierces reconnues (si né­ces­saire). La question suivante vous demande de confirmer que vous possédez bien un compte de dé­ve­lop­peur Amazon ; la troisième question vous demande de confirmer les données saisies dans les sections « Product ID », « Client ID » et « Client secret ». Dans les trois cas, tapez « Y » puis appuyez sur le bouton [Enter].

Vous accèderez ensuite à quelques options de con­fi­gu­ra­tion, à commencer par le choix du signal vocal. À l'étape 3, sé­lec­tion­nez fr-FR pour pouvoir com­mu­ni­quer avec Alexa en français. Pendant l’ins­tal­la­tion, vous devrez également dé­ter­mi­ner si le rac­cor­de­ment de votre haut-parleur Raspberry Pi Alexa doit se faire via un con­nec­teur Jack (3,5 mm) ou en HDMI. Enfin, indique si vous voulez conserver le mot d'ac­ti­va­tion « Alexa » ou utiliser une autre commande vocale pour mettre en route l’as­sis­tante vocale.

Étape 7 : au­then­ti­fi­ca­tion du haut-parleur Raspberry Pi Alexa

Pour au­then­ti­fier le Raspberry, vous aurez besoin de l’Alexa Companion Service, qui propose une sorte d’interface ou de portail pour connecter le nano-or­di­na­teur et le serveur AVS. Pour utiliser ce service, ouvrez le terminal dans la liste cor­res­pon­dante et lancez l'ap­pli­ca­tion à l'aide du ges­tion­naire de paquet NPM. Utilisez pour cela les commandes suivantes :

cd ~/alexa-avs-sample-app/samples/companionService
npm start

Si le lancement est réussi, le terminal affichera le message « Listening on Port 3000 ». Réduisez la fenêtre du terminal puis démarrez une nouvelle instance de l’invite de commandes.

Note

Il est important que la fenêtre où vous avez lancé l’Alexa Companion Service soit réduite et non fermée. Ce service doit continuer à fonc­tion­ner en arrière-plan pour que votre Raspberry Pi puisse com­mu­ni­quer avec le serveur d’Alexa Voice.

Au cours des étapes suivantes, vous allez ouvrir le client associé à partir de la liste cor­res­pon­dante. Dans la mesure où il est programmé en Java, vous allez devoir utiliser le ges­tion­naire de projets Java Maven (mvn) :

cd ~/alexa-avs-sample-app/samples/javaclient
mvn exec:exec

Quelques instants après envoi des commandes, une fenêtre de dialogue en pop-up s’ouvrira pour vous demander d’ouvrir une URL dans votre na­vi­ga­teur afin d’en­re­gis­trer le Raspberry. Cliquez sur « OK » pour fermer la fenêtre. Le lien s’ouvrira au­to­ma­ti­que­ment dans votre na­vi­ga­teur par défaut.

Note

Après avoir cliqué sur « OK », vous verrez s’ouvrir une autre fenêtre de dialogue dans le client. Vous n'aurez pas à vous en préoc­cu­per dans un premier temps.

Votre na­vi­ga­teur affiche désormais soit la page de connexion à Amazon, soit un message vous indiquant que cette page n’est pas ac­ces­sible. Dans le deuxième cas, ce n’est pas un problème majeur : il vous suffit de cliquer en bas à gauche sur « Advanced » (« Avancé »), puis sur « Proceed to localhost » (« Continuer sur localhost ») pour arriver enfin à la fenêtre de connexion. En­re­gis­trez-vous avec votre compte de dé­ve­lop­peur Amazon et confirmez que votre haut-parleur Raspberry Pi Alexa a bien l'au­to­ri­sa­tion de se connecter sur votre compte Amazon.

Une fois l'au­then­ti­fi­ca­tion effectuée, votre na­vi­ga­teur affichera le message suivant : « device tokens ready ». Dans la fenêtre restée jusque-là ouverte dans le client Java, vous pouvez désormais cliquer sur « OK » pour mettre un terme au processus d’au­then­ti­fi­ca­tion.

Étape 8 : mettre en marche la re­con­nais­sance du mot d'ac­ti­va­tion

Alexa est main­te­nant prête à fonc­tion­ner. À partir du client AVS, vous pouvez à tout moment interagir avec le logiciel vocal : il vous suffit de cliquer sur l’icône re­pré­sen­tant un micro et de poser votre question. Cependant, pour qu’Alexa se mette en marche lorsque vous prononcez le mot d'ac­ti­va­tion de votre choix (par exemple « Alexa »), vous devez lancer le « wake word agent ». Pour cela, ouvrez dans une nouvelle fenêtre de terminal la liste des agents (KITT AI) :

cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src
./wakeWordAgent -e kitt_ai

Le terminal affiche le message « Connected to AVS client » : vous pouvez main­te­nant utiliser Alexa de la manière ha­bi­tuelle par contrôle vocal.

Étape 9 : créer un script de démarrage au­to­ma­tique pour l'as­sis­tance vocale Raspberry Pi Alexa

Pour éviter d'avoir à relancer Alexa ma­nuel­le­ment à chaque fois que vous rallumez votre Raspberry Pi, créez pour finir un script de démarrage, qui sera exporté au­to­ma­ti­que­ment à chaque démarrage du nano-or­di­na­teur. Pour cela, saisissez la commande suivante dans le terminal :

sudo nano alexa.sh

Copiez-collez ensuite les lignes de code suivantes :

#!/bin/bash
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/companionService && npm start;" &
sleep 10s
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/javaclient && mvn exec:exec;" &
sleep 30s
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src && ./wakeWordAgent -e kitt_ai;" &

Ce script rend au­to­ma­tique le processus d'au­then­ti­fi­ca­tion décrit à l'étape 7, puis lance l’Alexa Companion Service et enfin le client Java. Le lancement de l’agent du mot d'ac­ti­va­tion décrit à l’étape 8 est ensuite effectué en différé.

Sau­ve­gar­dez le script et four­nis­sez au système les droits d'accès né­ces­saires via chmod :

sudo chmod +x alexa.sh

Pour le script, créez un nouveau fichier de démarrage au­to­ma­tique :

sudo nano /home/pi/.config/autostart

Copiez-collez le contenu suivant dans le fichier afin de permettre au script d’être exporté chaque fois que vous allumez votre haut-parleur Raspberry Pi Alexa :

[Desktop Entry]
Comment=Comment
Exec=/home/pi/alexa.sh
Name=alexa.sh
Path=/home/pi/alexa.sh
Type=Shell
Aller au menu principal