Étape 2: Obtenir le Pi prête à Alexa
Je n’entrerai pas dans tous les détails du code ici car il est bien documenté sur GitHub et semble (à partir de toutes les notifications de montre j’obtiens) d’être en cours de développement actif donc peut changer souvent. Avec il fonctionne sur mon 3 Pi, j’ai eu l’idée de construire la AlexaPhone en parallèle avec mon projet initial, à partir de zéro avec mon Pi 2 (malheureusement ce qui signifie aucune RetroPie temporairement). Après avoir mis en place une fois déjà, j’ai réussi à terminer la configuration Pi & code en une seule soirée - c’est le processus que j’ai suivi :
Tout d’abord j’ai mis en place un nouveau dispositif appelé AlexaPhone sur le site d’Amazon, suivant le processus en la Section 3.4 de ce fichier. Le seul changement nécessaire pour prendre en charge le code de AlexaPi était de remplacer les suggéré https://localhost:3000 amazon avec https://localhost:5000 dans la section « Paramètres Web » du profil de sécurité. Nous reviendrons aux paramètres web un peu plus tard, le. Avec le dispositif mis en place, j’ai moi-même envoyé tous les codes par email et tourné mon attention à la Pi.
J’ai commencé par le téléchargement et l’écriture une nouvelle installation de Raspbian sur une carte de 8 gb SD - vous pouvez également utiliser des NOOBS, cela a fonctionné pour moi sur la Pi 3. Avec un moniteur & réseau câble attaché, j’ai fait ce qui suit après le premier démarrage :
- Étendre le système de fichiers (ouvrir une session de terminal, tapez raspi-config, sélectionnez l’option 1)
- Toujours en raspi-config sélectionnez l’Audio pour forcer la sortie 3,5 mm au lieu de HDMI (Options avancées - Audio)
- Toujours en raspi-config changer le nom d’hôte à AlexaPhone - si vous avez plusieurs Pis sur le réseau sans fil, que ce qui rend plus facile de leur dire apart
- Toujours dans la type de terminal lsusb - liste les périphériques USB afin de s’assurer que le téléphone USB a été détectée
- Du poste de travail mis en place au maximum le niveau du Microphone (Préférences > paramètres du périphérique Audio)
- Du poste de travail mis en place le WiFi en cliquant sur l’icône réseau dans la barre des tâches
De là, j’ai redémarré le Pi et puis rallumé à l’ordinateur portable temporairement...
- Ouvrez une session dans le routeur WiFi et la valeur de la Pi d’avoir une adresse IP « réservé » - l’adresse MAC de l’adaptateur WiFi de la Pi devrait être évidente dans la liste de votre routeur de dispositifs connectés, surtout si vous avez modifié le nom d’hôte.
- Prenez note de l’adresse IP de la Pi, ouvrez une session dans le site d’Amazon et ajouter deux nouvelles lignes aux paramètres Web du profil de sécurité, ainsi qu’en permis origines il est une ligne qui dit https://localhost:5000 et en dessous un qui dit https://YourPiIpAddress:5000. Les mêmes pour les URL de retour autorisé est donc là https://localhost:5000/authresponse et affichage de https://YourPiIpAddress:5000/authresponse.
Maintenant de mettre en place le code AlexaPi ! J’ai suivi les instructions de GitHub qui étaient bien écrit, je vais juste ajouter mon expérience personnelle :
- Assurez-vous que vous êtes connecté tant que root (sudo su dans terminal) avant de faire le peu de Git Clone
- Assurez-vous que vous êtes dans le dossier racine avant de faire le peu de Git Clone (cd /root/ dans terminal)
- Après le bit Git Clone est fait, vous devrez modifier le fichier setup.sh si voulez utiliser le wi-fi - Placez-vous dans le répertoire AlexaPi (cd AlexaPi) puis modifier manuellement (sudo nano setup.sh) le fichier - remplacement ip = ifconfig eth0 avec ip = ifconfig wlan0
- Vous pouvez maintenant lancer setup.sh, qui vous invite pour tous les longs codes générés sur le site Amazon tout en établissant le profil de l’appareil. J’ai trouvé plus facile de copier-coller ces de Claws Mail.
- Pour moi le script setup.sh a donné une erreur à la fin, bien qu’il peut bien fonctionner pour vous - tout ce que je devais faire était modifier manuellement le fichier creds.py dans le dossier AlexaPi, coller à nouveau dans les ID de sécurité.
- De là j’ai couru auth_web.py (sudo python auth_web.py), puis ouvre une fenêtre de navigateur web et tapé https://localhost:5000 - cela grandi une page de connexion d’Amazon pour terminer le processus
Je ne suis pas certain que tous les 100 % des processus ci-dessus étaient nécessaires, mais c’est ce qui a fonctionné pour moi. Après un redémarrage, que le service de AlexaPi démarré automatiquement quand la Pi démarré, me faire sauter quand il donna ses voeux de « Hello ».
La partie principale du code est justement nommée main.py, et il contient les instructions pour capturer la requête audio, Uploader sur Alexa et récupération/lecture de la réponse, ainsi que définir les broches GPIO pour l’interrupteur et indicateur LED. Le code est conçu pour une LED de couleur Tri à trois pattes, qui était parfait pour moi car je voulais garder le téléphone extérieur comme épurée que possible. La seule chose que j’ai modifié pour ce projet était le nom de fichier du fichier .mp3 a joué au démarrage, lui substituant le nom de la sonnerie trimphone. Avec le code heureusement fonctionne parfaitement, j’ai laissé bien seul, déconnecté le câble réseau et le moniteur et passé à la construction.