- Composants matériels utilisés:
- Programmation du module ESP-01 à l'aide du convertisseur USB-TTL CP2102:
- Connexion de l'ESP-01 avec le module CP2102:
- Programmation du module ESP-01 pour la domotique Alexa
- Schéma
- Configurer l'application Amazon Alexa pour la domotique
Les haut-parleurs intelligents comme Amazon Echo ou Google home sont de plus en plus populaires et les deux ont la capacité d'intégrer des compétences ou des actions personnalisées pour contrôler tout appareil utilisant ces haut-parleurs intelligents. Nous avons précédemment construit notre propre haut-parleur intelligent à l'aide de Raspberry Pi et Alexa, et également contrôlé des appareils ménagers à l'aide de ce haut-parleur intelligent Raspberry Pi.
La domotique est devenue très courante de nos jours et les gens utilisent l'IoT pour tout automatiser chez eux. Ici, dans ce didacticiel, nous utiliserons un haut-parleur Real Amazon Echo dot et créerons une compétence personnalisée pour contrôler les appareils électroménagers AC tels que les lumières, les ventilateurs, les téléviseurs et les prises à l' aide d'un haut-parleur Amazon Echo dot. Ici, nous utiliserons Arduino UNO et un module Wi-Fi ESP8266-01 pour connecter le haut-parleur Echo dot aux appareils CA. Après ce tutoriel, vous pourrez contrôler n'importe quel appareil via Alexa.
Composants matériels utilisés:
- Arduino UNO
- Module ESP-01
- Point d'écho Amazon Alexa
- Convertisseur USB-TTL CP2102
- Planche à pain
- Module de relais 5V
- Appareils AC
- Cavaliers
Programmation du module ESP-01 à l'aide du convertisseur USB-TTL CP2102:
Ici, ESP-01 est programmé à l'aide d'un convertisseur USB-TTL CP2102; il peut également être programmé à l'aide d'une carte Arduino UNO. Ici, dans mon cas, j'ai utilisé un module CP2102 et les étapes pour le faire sont expliquées ci-dessous.
Module ESP-01
L'ESP8266 ESP-01 est un module Wi-Fi très populaire dans la conception d'applications IoT et il est utilisé pour permettre à des microcontrôleurs comme Arduino UNO de se connecter à Internet. Ce module est un système autonome sur puce (SOC) qui peut agir comme un petit ordinateur. Il est livré avec un micrologiciel AT préinstallé, nous pouvons donc le programmer en utilisant Arduino IDE. Vous pouvez en savoir plus sur l'émetteur-récepteur Wi-Fi ESP-01 et sa programmation à l'aide de l'IDE Arduino en suivant le lien.
Description de la broche:
VCC: broche d'alimentation de l'ESP-01 qui peut être fournie avec 3,3 V CC
GND: broche de référence de masse de l'ESP-01
TXD: utilisé comme broche d'émetteur UART
RXD: utilisé comme broche de récepteur UART
RESET: Il est utilisé pour réinitialiser le module et c'est une broche LOW active.
CH_PD: C'est la broche d'activation de la puce qui est une broche HIGH active.
GPIO0: Cette broche sert à deux fins. L'un est comme entrée / sortie à usage général et l'autre est pour activer le mode de programmation de l'ESP-01
GPIO2: Il s'agit d'une broche d'entrée / sortie à usage général.
Connexion de l'ESP-01 avec le module CP2102:
La figure ci-dessous montre le schéma de brochage d'un convertisseur USB-TTL CP2102. Connectez le module ESP-01 au module de conversion USB-TTL CP2102 selon le tableau ci-dessous.
Module ESP-01 |
Module CP2102 |
VCC |
3,3 V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V |
RÉINITIALISER |
Pas de connection |
GPIO0 |
GND |
GPIO2 |
Pas de connection |
Après avoir réussi la connexion ci-dessus, le circuit devrait ressembler à quelque chose comme ci-dessous:
Ensuite, connectez le module CP2102 à notre PC pour la programmation. Avant de télécharger le code sur ESP-01, vérifiez d'abord le port de communication. Pour cela, allez dans démarrer-> et recherchez le gestionnaire de périphériques. Cliquez ensuite sur COM et ports. Dans le cadre de cette option, nous devrions obtenir un port COM avec un nom de convertisseur USB-TTL tel que " Silicon labs CP21xx USB-UART Bridge " comme indiqué dans l'image ci-dessous:
Après avoir terminé avec succès les étapes ci-dessus, ouvrez Arduino IDE et sélectionnez la carte comme « Module ESP8266 générique » dans le menu Outils et sélectionnez le port COM que nous avons obtenu à l'étape précédente.
Programmation du module ESP-01 pour la domotique Alexa
Le code complet est donné à la fin de ce projet. Voici l'explication étape par étape du code qui doit être téléchargé sur le module ESP-01. La première étape consiste à inclure toutes les bibliothèques nécessaires. Vous pouvez télécharger la bibliothèque «fauxmoESP.h» à partir du lien ici.
#include #include
Dans cette étape, nous devons définir toutes les informations d'identification nécessaires pour connecter ESP-01 à Internet. Mettez à jour le SSID et le mot de passe de votre réseau dans le programme.
#define SSID "*******" #define pass "*******"
Définissez ensuite le nom des appareils que nous devons contrôler depuis Alexa. Dans mon cas, j'ai pris les noms de mes appareils comme « lampe de chambre », « ventilateur de chambre » et « prise intelligente » .
#define device1 "lumière de la chambre" #define device2 "ventilateur de la chambre" #define device3 "prise intelligente"
La fonction WiFi.mode est utilisée pour configurer le module ESP-01 en mode Station et la fonction WiFi.begin est utilisée pour connecter le module ESP-01 à Internet qui prend le SSID et le mot de passe du réseau comme arguments.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
La partie suivante consiste à initialiser toutes les fonctions de la classe Fauxmo comme créer le serveur, activer le numéro de port pour le périphérique Alexa, activer le périphérique, etc. Ensuite, ajoutez tous les périphériques en utilisant fauxmo.addDevice que nous avons créé précédemment.
fauxmo.createServer (vrai); fauxmo.setPort (80); fauxmo.enable (vrai); fauxmo.addDevice (périphérique1); fauxmo.addDevice (périphérique2); fauxmo.addDevice (périphérique3);
Ensuite, écrivez une fonction pour comparer nos commandes vocales avec les noms de périphériques prédéfinis. Si la commande correspond, envoyez un caractère aux terminaux série Arduino à l'aide de Serial.print.
fauxmo.onSetState ((unsigned char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); else Serial.print ("2");}}
Dans la fonction void loop (), la fonction fauxmo.handle vérifiera simplement les données entrantes d'Alexa et prendra des mesures en utilisant la fonction onSetstate () .
boucle void () {fauxmo.handle (); }
Téléchargez maintenant le code complet donné à la fin dans le module ESP-01 et assurez-vous que le téléchargement est réussi.
Code Arduino:
Après cela, il est temps de télécharger le code dans Arduino. Le code pour Arduino est très simple. Il ne reçoit que les caractères envoyés par les modules ESP-01 via ses terminaux UART et les compare pour envoyer le signal d'activation / désactivation au relais. Le programme complet pour Arduino est illustré ci-dessous:
données char; void setup () {Serial.begin (115200); pinMode (7, SORTIE); pinMode (6, SORTIE); pinMode (5, SORTIE); digitalWrite (7, FAIBLE); digitalWrite (6, FAIBLE); digitalWrite (5, FAIBLE); } boucle void () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (données); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); sinon if (data == '2') digitalWrite (7, LOW); sinon if (data == '3') digitalWrite (6, HIGH); sinon if (data == '4') digitalWrite (6, LOW); sinon if (data == '5') digitalWrite (5, HIGH); sinon if (data == '6') digitalWrite (5, LOW); }}
Après le téléchargement réussi, le code sur Arduino, puis connectez le matériel selon les schémas ci-dessous.
Schéma
Le schéma de circuit pour la domotique utilisant Alexa est illustré ci-dessous:
Ici, nous avons soudé tous les composants sur un Perfboard afin qu'il agisse comme un bouclier Arduino.
De même, nous avons également construit un module relais sur un Perfboard:
Configurer l'application Amazon Alexa pour la domotique
Une fois la configuration matérielle et le codage terminés, il est maintenant temps de configurer l'application Alexa Android. Tout d'abord, nous devons rechercher tous les appareils intelligents à proximité via cette application. Pour ce faire, allumez votre appareil Alexa, puis ouvrez votre application Alexa et cliquez sur l'option « Appareils », puis cliquez sur le signe «+» qui vous demande « Ajouter un appareil ». Cliquez ensuite sur « Ajouter un appareil », dans le type d'appareil cliquez sur « autre » puis sélectionnez découvrir les appareils. Ensuite, votre application Alexa doit rechercher l'appareil, ce qui peut prendre jusqu'à 45 secondes.
Remarque: nous pouvons également découvrir les appareils à l'aide de la commande vocale « Alexa, découvrir les appareils »
Une fois la découverte de périphérique terminée, vous devriez obtenir 3 nouveaux périphériques par le nom que nous avons indiqué dans le code. Dans mon cas, ce sont la lumière de la chambre , ventilateur de chambre, et prise intelligente . Maintenant, la configuration est prête pour le test, testez simplement en disant « Alexa, allume la lumière de la chambre » et il devrait renvoyer vos commentaires en disant «OK», et la lumière devrait s'allumer. De même, nous pouvons tester toutes les autres commandes.
Voici à quoi ressemblera la configuration complète des appareils électroménagers contrôlés par points Amazon Echo:
Le code complet pour ESP-01 avec une vidéo de démonstration est donné ci-dessous.