- Matériel perquis:
- Partie 1: Configuration du Raspberry Pi avec SSH et VNC
- Partie 2: Configurez votre compte de développeur Amazon et configurez les services vocaux Alexa sur Raspberry Pi:
- Partie 3: Configuration de PubNub et IFTTT pour la domotique Alexa Pi :
- Partie 3-2: Configuration d'IFTTT pour Amazon Alexa Service:
- Partie 4: Connexions matérielles et schéma de circuit:
- Partie 5: Code Python pour contrôler la LED:
Avez-vous déjà pensé à un haut-parleur qui peut être contrôlé par votre voix !!! Et si nous pouvions contrôler nos appareils électroménagers de cette façon et rendre ces appareils plus intelligents? Les assistants vocaux deviennent de plus en plus populaires alors que nous nous dirigeons vers une ère de systèmes basés sur l' IA et l' IoT. Vous avez entendu parler de Google Assistant, Apple Siri et Amazon Alexa . Ce sont tous des systèmes d'IA basés sur la voix, ce qui les rend différents les uns des autres, ce sont leurs écosystèmes, et c'est là qu'Amazon Alexa se démarque le plus. Google, Apple et Amazon, toutes ces entreprises ont déjà lancé leurs enceintes intelligentes mais Amazon a été la première à introduire des enceintes intelligentes. Amazon echo, Echo Dot Spot, etc. sont les haut-parleurs intelligents disponibles sur le marché.
Amazon fournit l'API pour utiliser son service vocal très populaire, Alexa. Il est open source et disponible sur Github. De plus, vous pouvez installer ou intégrer Alexa sur des appareils personnalisés tels que Raspberry Pi et obtenir la fonctionnalité Amazon Echo complète sur cet appareil.
En utilisant le service vocal Alexa, nous pouvons écouter de la musique, obtenir des informations sur la météo, réserver des billets et bien d'autres. Tout ce que vous avez à faire est de demander'. Dans ce tutoriel, nous verrons comment contrôler le Raspberry Pi GPIO à l'aide des services Alexa Voice pour allumer une LED.
Matériel perquis:
Exigences matérielles:
- Raspberry Pi 3 ou Raspberry Pi 2 modèle B et carte SD (8 Go ou plus)
- Haut-parleur externe avec câble AUX de 3,5 mm
- Toute webcam ou microphone USB 2.0
- Module relais
- LED
Remarque: la webcam a un microphone intégré, nous allons donc l'utiliser à la place du microphone USB 2.0.
Applications logicielles et exigences Web:
- Créer un compte avec Alexa Voice Services
- Créer un compte avec PubNub
- Créer un compte avec IFTTT
Nous supposons également que votre Raspberry pi est déjà configuré avec un système d'exploitation Raspbian et qu'il est connecté à Internet. Avec ceux-ci en place, procédons au didacticiel. Si vous êtes nouveau sur Raspberry Pi, passez d'abord par Premiers pas avec Raspberry pi.
L'ensemble du didacticiel est principalement divisé en 5 parties, qui sont les suivantes:
- Si vous n'avez pas de moniteur, nous devons configurer le Raspberry Pi avec SSH et VNC, vérifiez également la connectivité du microphone USB.
- Configurer votre développeur Amazon et installer Alexa sur Raspberry Pi
- Configurer PubNub et IFTTT pour la domotique Alexa
- Connexion matérielle
- Code Python pour Alexa Pi GPIO Control
Si vous souhaitez simplement contrôler une LED avec votre voix, consultez également notre projet de LED à commande vocale basé sur Bluetooth.
Partie 1: Configuration du Raspberry Pi avec SSH et VNC
Tout d'abord, nous allons connecter Raspberry Pi avec SSH et VNC. Pour cela, suivez les tutoriels sur le site officiel de Raspberry Pi, les liens sont donnés ci-dessous.
Pour SSH: lien SSh
Pour VNC: lien VNC
Si vous avez Monitor, vous pouvez quitter cette étape et passer directement à l'étape 2 qui est la configuration du service vocal Alexa (Avs). Avant cela, nous devons vérifier la connectivité du micro.
Vérification du micro de la webcam avec Raspberry Pi:
1. Ouvrez le terminal Raspberry Pi et tapez la commande arecord -l. Cela affichera les périphériques matériels connectés à Raspberry Pi comme indiqué ci-dessous:
La carte 1 est le micro de votre webcam que nous allons utiliser. S'il ne s'affiche pas, votre webcam est peut-être défectueuse.
2. Maintenant, vérifiez si le micro fonctionne en exécutant la commande d'enregistrement audio comme:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Pour lire l'audio enregistré, tapez cette commande:
omxplayer -p -o local /home/pi/Desktop/test.wav
Si vous avez connecté Raspberry Pi avec un moniteur à l'aide d'un câble HDMI, la sortie audio par défaut se fait via le haut-parleur de votre moniteur (s'il y a un haut-parleur intégré). Donc, pour le changer en 3,5 mm, vous devez taper la commande suivante:
sudo raspi-config et accédez à l'option Advance.
Sélectionnez Audio dans la liste -> sélectionnez Force 3,5 mm -> sélectionnez OK et redémarrez votre Raspberry Pi.
Maintenant, vous devriez entendre le son de la prise jack 3,5 mm.
REMARQUE: Si vous souhaitez augmenter ou diminuer le volume de la voix d'entrée pour le microphone, tapez également un mixeur dans le terminal. Sélectionnez la carte son du terminal en appuyant sur F6.
Appuyez sur F4 pour modifier le gain Mic dB et réglez-le comme vous le souhaitez.
Si vous avez un microphone USB 2.0, les étapes suivies sont les mêmes pour vérifier le microphone. Ici, nous avons utilisé une webcam pour un microcphone USB.
Partie 2: Configurez votre compte de développeur Amazon et configurez les services vocaux Alexa sur Raspberry Pi:
Nous avons déjà expliqué cela en détail dans notre précédent tutoriel où nous avons construit un haut-parleur intelligent Amazon Echo. Nous nous concentrons ici sur le contrôle du Raspberry Pi GPIO avec Alexa, nous n'expliquons donc pas à nouveau tout le processus, alors lisez l'article précédent et préparez votre haut-parleur avec les services vocaux Alexa installés sur votre Raspberry pi.
Pour tester Alexa, il suffit de la réveiller en disant son nom! Consultez la vidéo de démonstration donnée à la fin du didacticiel.
Vous pouvez lui poser des questions sur la température de votre ville pour vérifier qu'elle fonctionne ou non.
Partie 3: Configuration de PubNub et IFTTT pour la domotique Alexa Pi :
Pour contrôler Raspberry Pi GPIO à l' aide de cet Alexa Pi, nous avons besoin de l'aide de PubNub python SDK et IFTTT. Nous donnerons des commandes à IFTTT via Alexa, et PubNub donnera le signal à RPi pour allumer / éteindre la LED. Nous allons donc d'abord installer le PubNub sur Raspberry Pi.
Partie 3-1: Installation du SDK PubNub Python:
PubNub fournit une API de messagerie pour publier / souscrire n'importe quel message sur son réseau mondial. Ici, nous utilisons IFTTT et Alexa pour publier le message sur PubNub, pour rendre Raspberry Pi GPIO bas / haut. Ce message est reçu par Raspberry Pi et Pi allumera ou éteindra la LED en conséquence. Suivez les étapes ci-dessous pour configurer PubNub sur Raspberry Pi:
Étape 1: Ouvrez le terminal sur votre RPi et exécutez la commande suivante pour installer le SDK:
sudo pip installer pubnub == 3.9.0
Installez uniquement la version 3.9.0, les autres versions ne fonctionneront pas avec le script python que nous allons exécuter dans la dernière.
Étape 2: Maintenant, accédez à PubNub et connectez-vous avec vos informations d'identification.
Étape 3:. Obtenez les clés de publication et d'abonnement que nous utiliserons plus tard.
Partie 3-2: Configuration d'IFTTT pour Amazon Alexa Service:
IFTTT est un service Web gratuit qui permet aux utilisateurs de créer des chaînes d'instructions conditionnelles simples, appelées «recettes», qui sont déclenchées en fonction des modifications apportées à d'autres services Web tels que Gmail, Facebook, Instagram et. IFTTT est une abréviation de «If This Then That».
Pour ce projet, IFTTT est utilisé pour rendre le Raspberry Pi GPIO LOW / HIGH basé sur la commande vocale reçue par le service Alexa fonctionnant sur RPi.
Suivez ces étapes pour créer une applet:
Étape 1: - Connectez - vous à IFTTT avec vos informations d'identification ou inscrivez -vous si vous n'avez pas de compte dessus.
Étape 2: - Sur Mes applets, cliquez sur Nouvelle applet
Étape 3: - Cliquez sur + ceci
Étape 4: - Recherchez Amazon Alexa et cliquez dessus, connectez-vous avec les détails de votre compte de développeur Amazon.
Étape 5: - Choisissez le déclencheur, dites une phrase spécifique
Étape 6: - Fournissez « allumer la lumière» comme phrase, cliquez sur Créer un déclencheur.
Étape 7: - Cliquez sur + que
Étape 8: - Recherchez des Webhooks, cliquez dessus et sélectionnez Faire une demande Web
Étape 9: - Webhooks fournit la requête REST WEB, utilisez les clés de publication et d'abonnement obtenues à partir du PubNub et modifiez l'URL suivante.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Étape 10: - Collez l'URL modifiée dans la zone de texte URL.
Étape 11: - Définissez la méthode comme GET, Content comme application / json et cliquez sur Enregistrer
Étape 12: - Suivez les mêmes étapes pour créer le déclencheur pour « éteindre la lumière » et modifier l'URL comme suit.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Étape 13: - Nous sommes maintenant prêts avec tous les composants Web pour la démo.
Partie 4: Connexions matérielles et schéma de circuit:
Pour ce projet, nous avons besoin d'une simple LED à des fins de test. Vous trouverez ci-dessous le schéma de circuit et les connexions matérielles pour contrôler Raspberry Pi GPIO avec Amazon Alexa.
Nous allons utiliser GPIO18 dans notre script python donc, connectez relais votre LED 18. Vous pouvez changer cela dans le script python.
Partie 5: Code Python pour contrôler la LED:
Trouvez le script Python complet à la fin de ce didacticiel.
Vous devez modifier les clés Pub et Sub avec vos clés pubnub dans le code python.
# Initialiser les clés Pubnub pub_key = "***************************" sub_key = "*********** ************* "
Maintenant, exécutez le script
python alexaRpi.py
Maintenant, nous sommes tous prêts pour la démo, assurez-vous que vous exécutez les trois services de la partie 1 (les trois terminaux) avant de continuer.
Pour donner une commande, vous devez réveiller le service Alexa en appelant «Alexa» chaque fois que vous souhaitez envoyer une commande. Vous entendrez un bip. Une fois que vous entendez le bip, dites « Alexa Trigger Allume la lumière. «Vous pouvez voir que la lumière s'allume en un instant. Et puis si vous dites « Alexa Trigger Éteignez la lumière », la lumière devrait s'éteindre .
C'est ça…. Vous pouvez en outre ajouter un relais pour contrôler les appareils CA, même si vous pouvez contrôler de nombreux appareils en utilisant plus de relais et plus de broches GPIO de Raspberry pi.
Vérifiez le code complet et la vidéo de démonstration ci-dessous. Consultez également tous nos projets domotiques ici.