- 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 lumière:
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 à les présenter. 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 le tutoriel précédent, nous avons contrôlé Raspberry Pi GPIO à l'aide d'Amazon Alexa. Dans ce tutoriel, voyons comment créer un système domotique à commande vocale à l'aide d'Amazon Alexa et de Raspberry Pi. Nous verrons comment nous pouvons utiliser Raspberry Pi pour exécuter le service vocal Alexa et contrôler une ampoule.
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
- Ampoule LED / AC
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 la domotique Alexa Pi
Alors, commençons!!
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 des appareils ménagers 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 construire un système domotique à 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 un signal à RPi pour activer / désactiver la lumière. 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 activer / désactiver le relais. Ce message est reçu par Raspberry Pi et Pi allumera ou éteindra la lumière en conséquence. Suivez les étapes ci-dessous pour configurer PubNub sur Raspberry Pi:
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.
2. Maintenant, accédez à PubNub et connectez-vous avec vos informations d'identification.
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 déclencher les commandes d'allumage / extinction de l'éclairage en fonction de 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'un module de relais et d'une ampoule AC ou de tout autre composant AC ou vous pouvez utiliser une simple LED à des fins de test. Vous trouverez ci-dessous le schéma de circuit et les connexions matérielles pour contrôler l'appliance AC avec Amazon Alexa.
Nous utiliserons GPIO18 dans notre script python donc, connectez le relais à GPIO 18. Vous pouvez changer cela dans le script python.
Partie 5: Code Python pour contrôler la lumière:
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 ajouter plus d'appareils CA dans le script python en les ajoutant avec d'autres broches GPIO de RPi et contrôler de nombreux appareils avec votre système domotique intelligent.
Vérifiez le code complet et la vidéo de démonstration ci-dessous. Consultez également tous nos projets domotiques ici.