- Componentes de hardware utilizados:
- Programación del módulo ESP-01 usando el convertidor CP2102 USB-TTL:
- Conexión de ESP-01 con módulo CP2102:
- Programación del módulo ESP-01 para Alexa Home Automation
- Diagrama de circuito
- Configurar la aplicación Amazon Alexa para la automatización del hogar
Los parlantes inteligentes como Amazon Echo o Google Home se están volviendo populares hoy en día y ambos tienen la capacidad de integrar habilidades o acciones personalizadas para controlar cualquier dispositivo que use esos parlantes inteligentes. Anteriormente construimos nuestro propio altavoz inteligente con Raspberry Pi y Alexa, y también controlamos electrodomésticos con este altavoz inteligente Raspberry Pi.
La automatización del hogar se ha vuelto muy común hoy en día y la gente está utilizando IoT para automatizar todo en su hogar. Aquí, en este tutorial, usaremos un altavoz de puntos Real Amazon Echo y crearemos una habilidad personalizada para controlar electrodomésticos de CA como luces, ventiladores, televisores, enchufes con un altavoz de puntos Amazon Echo. Aquí usaremos Arduino UNO y un módulo Wi-Fi ESP8266-01 para conectar el altavoz Echo dot con dispositivos de CA. Después de este tutorial, podrá controlar cualquier dispositivo a través de Alexa.
Componentes de hardware utilizados:
- Arduino UNO
- Módulo ESP-01
- Punto de eco de Amazon Alexa
- Convertidor CP2102 USB-TTL
- Tablero de circuitos
- Módulo de relé de 5 V
- Electrodomésticos AC
- Jerséis
Programación del módulo ESP-01 usando el convertidor CP2102 USB-TTL:
Aquí el ESP-01 se programa mediante un convertidor CP2102 USB-TTL; también se puede programar usando una placa Arduino UNO. Aquí, en mi caso, he utilizado un módulo CP2102 y los pasos para hacerlo se explican a continuación.
Módulo ESP-01
El ESP8266 ESP-01 es un módulo Wi-Fi que es muy popular en el diseño de aplicaciones de IoT y se utiliza para permitir que microcontroladores como Arduino UNO se conecten a Internet. Este módulo es un sistema autónomo en un chip (SOC) que puede actuar como una pequeña computadora. Viene con un firmware AT preinstalado, por lo que podemos programarlo usando Arduino IDE. Puede obtener más información sobre el transceptor Wi-Fi ESP-01 y su programación utilizando Arduino IDE siguiendo el enlace.
Descripción del pin:
VCC: Pin de alimentación de ESP-01 que puede ser alimentado con 3.3V DC
GND: Pin de referencia de tierra del ESP-01
TXD: utilizado como pin del transmisor UART
RXD: utilizado como pin del receptor UART
RESET: Se usa para restablecer el Módulo y es un pin BAJO activo.
CH_PD: Es el pin de habilitación del chip que es un pin ALTO activo.
GPIO0: este pin tiene dos propósitos. Uno es como entrada / salida de propósito general y otro es para habilitar el modo de programación del ESP-01
GPIO2: Este es un pin de entrada / salida de propósito general.
Conexión de ESP-01 con módulo CP2102:
La siguiente figura muestra el diagrama de distribución de pines de un convertidor CP2102 USB-TTL. Conecte el módulo ESP-01 con el módulo convertidor CP2102 USB-TTL según la tabla siguiente.
Módulo ESP-01 |
Módulo CP2102 |
VCC |
3,3 V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V |
REINICIAR |
Sin conexión |
GPIO0 |
GND |
GPIO2 |
Sin conexión |
Después de completar con éxito la conexión anterior, el circuito debería verse como a continuación:
Luego conecte el Módulo CP2102 a nuestra PC para programar. Antes de cargar el código en ESP-01, primero verifique el puerto de comunicación. Para esto, vaya a inicio-> y busque administrador de dispositivos. Luego haga clic en COM y puertos. Bajo esta opción, deberíamos obtener un puerto COM con un nombre de convertidor USB-TTL como “ Silicon labs CP21xx USB-UART Bridge ” como se muestra en la siguiente imagen:
Después de completar con éxito los pasos anteriores, abra Arduino IDE y seleccione la placa como " Módulo ESP8266 genérico " del menú Herramientas y seleccione el puerto COM que obtuvimos en la etapa anterior.
Programación del módulo ESP-01 para Alexa Home Automation
El código completo se proporciona al final de este proyecto. Aquí está la explicación paso a paso del código que se cargará en el módulo ESP-01. El primer paso es incluir todas las bibliotecas necesarias. Puede descargar la biblioteca "fauxmoESP.h" desde el enlace aquí.
#incluir #incluir
En este paso, tenemos que definir todas las credenciales que se requieren para conectar ESP-01 a Internet. Actualice los datos de su SSID y contraseña de red en el programa.
#define SSID "*******" #define pass "*******"
A continuación, defina el nombre de los dispositivos, que debemos controlar desde Alexa. En mi caso, he tomado los nombres de mis dispositivos como " luz de dormitorio ", " ventilador de dormitorio " y " enchufe inteligente " .
#define device1 "luz del dormitorio" #define device2 "ventilador del dormitorio" #define device3 "enchufe inteligente"
La función WiFi.mode se utiliza para configurar el módulo ESP-01 como modo de estación y la función WiFi.begin se utiliza para conectar el módulo ESP-01 a Internet, que toma el SSID y la contraseña de la red como argumentos.
Modo WiFi (WIFI_STA); WiFi.begin (ssid, pase);
La siguiente parte es inicializar todas las funciones de la clase Fauxmo como crear el servidor, habilitar el número de puerto para el dispositivo Alexa, habilitar el dispositivo, etc. Luego agregue todos los dispositivos usando fauxmo.addDevice que hemos creado anteriormente.
fauxmo.createServer (verdadero); fauxmo.setPort (80); fauxmo.enable (verdadero); fauxmo.addDevice (dispositivo1); fauxmo.addDevice (dispositivo2); fauxmo.addDevice (dispositivo3);
A continuación, escriba una función para comparar nuestros comandos de voz con los nombres de dispositivos predefinidos. Si el comando coincide, envíe un carácter a los terminales serie Arduino utilizando 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"); de lo contrario Serial.print ("2");}}
En la función void loop () , la función fauxmo.handle solo verificará los datos entrantes de Alexa y tomará acciones usando la función onSetstate () .
bucle vacío () {fauxmo.handle (); }
Ahora cargue el código completo que se proporciona al final en el módulo ESP-01 y asegúrese de que se cargue correctamente.
Código Arduino:
Después de eso, es hora de cargar el código en Arduino. El código de Arduino es muy simple. Solo recibe los caracteres enviados desde los módulos ESP-01 a través de sus terminales UART y lo compara para enviar la señal de encendido / apagado al relé. El programa completo para Arduino se muestra a continuación:
char datos; configuración vacía () {Serial.begin (115200); pinMode (7, SALIDA); pinMode (6, SALIDA); pinMode (5, SALIDA); digitalWrite (7, BAJO); digitalWrite (6, BAJO); digitalWrite (5, BAJO); } bucle vacío () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (datos); Serial.print ("\ n"); if (datos == '1') digitalWrite (7, HIGH); else if (datos == '2') digitalWrite (7, LOW); else if (datos == '3') digitalWrite (6, HIGH); else if (datos == '4') digitalWrite (6, LOW); else if (datos == '5') digitalWrite (5, HIGH); else if (datos == '6') digitalWrite (5, LOW); }}
Después de cargar con éxito, el código a Arduino, luego conecte el hardware de acuerdo con los esquemas que se muestran a continuación.
Diagrama de circuito
El diagrama del circuito para la automatización del hogar con Alexa se muestra a continuación:
Aquí hemos soldado todos los componentes en un Perfboard para que actúe como escudo Arduino.
Del mismo modo, también hemos construido un módulo de relé en un Perfboard:
Configurar la aplicación Amazon Alexa para la automatización del hogar
Después de completar con éxito la configuración y la codificación del hardware, ahora es el momento de configurar la aplicación Alexa para Android. Primero, necesitamos buscar cualquier dispositivo inteligente cercano a través de esta aplicación. Para hacerlo, encienda su dispositivo Alexa y luego abra su aplicación Alexa y haga clic en la opción " Dispositivos " y luego haga clic en el signo "+" que le pide que " Agregar dispositivo ". Luego haga clic en " Agregar dispositivo ", en el tipo de dispositivo haga clic en " otro " y luego seleccione descubrir dispositivos. Luego, su aplicación Alexa debería buscar el dispositivo, lo que puede demorar hasta 45 segundos.
Nota: Alternativamente, también podemos descubrir los dispositivos usando el comando de voz " Alexa, descubre dispositivos "
Después de completar el descubrimiento de dispositivos, debería obtener 3 dispositivos nuevos por el nombre que le hemos dado en el código. En mi caso, se trata de luz de la habitación , ventilador de habitación, y la toma inteligente . Ahora la configuración está lista para la prueba, simplemente pruebe diciendo " Alexa, enciende la luz del dormitorio " y debería devolver sus comentarios diciendo "Está bien", y la luz debería encenderse. De manera similar, podemos probar todos los demás comandos.
Así es como se verá la configuración completa para los electrodomésticos controlados por puntos de Amazon Echo:
A continuación se proporciona el código completo para ESP-01 con un video de demostración.