Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

¡Usa Alexa para controlar tu televisor!

Componentes y suministros

Arduino UNO
Se utiliza con el diodo transmisor de infrarrojos para enviar los comandos de TV a la televisión
× 1
NodeMCU ESP8266 Breakout Board
Este componente es el módulo Wi-Fi que se conecta a la aplicación Amazon Alexa como un dispositivo "WEMO" . Envía pulsos para cada dispositivo a Arduino UNO
× 1
Transmisor / receptor de infrarrojos
Este componente se utiliza en serie con una resistencia de 100 ohmios para enviar comandos de infrarrojos al televisor
× 1

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

¡Usando Alexa para controlar tu TV!

Introducción: Entonces, este proyecto repasa cómo usar su Alexa para enviar comandos y controlar su televisor hablando con él. Todo lo que pueda hacer su control remoto de TV, su Alexa lo puede hacer. Lo que vamos a hacer es grabar las señales de infrarrojos remotas y usar Alexa para reenviar esas mismas señales cuando la voz lo ordene. Estos son los pasos que necesita para que esto suceda o vea este video de YouTube:

Paso 1:descargue las bibliotecas de requisitos previos

Descargue las siguientes bibliotecas y colóquelas en sus bibliotecas IDE de Arduino:

  • ESPAsyncTCP - https://github.com/me-no-dev/ESPAsyncTCP
  • ESPAsyncUDP - https://github.com/me-no-dev/ESPAsyncUDP
  • FauxMoESP - https://bitbucket.org/xoseperez/fauxmoesp> Descargas> Descargar repositorio

Paso 2:Programación de NodeMCU (módulo Wi-Fi)

Abra el boceto ESP8266-Alexa.ino y cárguelo en su NodeMCU (descargue la información de la placa de Board Manager en Arduino IDE). Todo lo que debe cambiar son las credenciales de Wi-Fi y los nombres de los dispositivos.

Puede personalizar los nombres de los dispositivos en el boceto ESP8266-Alexa.ino y las señales que salen en el boceto IR-Alexa-Send.ino:

Paso 3:lectura de las señales de infrarrojos del control remoto de TV

Sube el boceto IR_REMOTE_read.ino a tu Arduino para leer los impactos de la señal remota y registrar tus señales IR recibidas para referencia más adelante como se ve en este tutorial:

Paso 4:Programación de Arduino para enviar señales de TV IR a través de Alexa

A continuación, abra IR-Alexa-Send.ino en el IDE de Arduino y cárguelo en su Arduino Uno (asegúrese de cambiar la información de la placa de carga a UNO).

Conecte la alimentación a ambos módulos y conecte los cables entre ellos. Asegúrese de que el transmisor de infrarrojos esté conectado al terminal 3 de UNO. Consulte el esquema adjunto para obtener más información:

Paso 5:prueba del proyecto con Alexa

Ahora vaya a su aplicación Amazon Alexa en su dispositivo móvil o PC, vaya a su Hogar Inteligente y presione "Agregar Dispositivos" para encontrar cada uno de los comandos que configuró en el boceto ESP8266-Alexa.ino.

Una vez que los encuentre, puede probarlos usando una de las siguientes estructuras de comando:

  • "Alexa, enciende NOMBRE DEL DISPOSITIVO "
  • "Alexa, gira NOMBRE DEL DISPOSITIVO en "
  • "Alexa, gira el NOMBRE DEL DISPOSITIVO en "
  • "Alexa, enciende el NOMBRE DEL DISPOSITIVO "

Código

  • ESP8266-Alexa.ino
  • IR-Alexa-Send.ino
  • IR_REMOTE_read.ino
ESP8266-Alexa.ino C / C ++
Esto se debe escribir en el chip NodeMCU para emular un dispositivo "WEMO" a través de Arduino IDE
 #include  #include  #include "fauxmoESP.h" // ----- -------------------------------------------------- ---------------------- // Credenciales Wifi // ---------------------- -------------------------------------------------- ----- # define WIFI_SSID "linksys" #define WIFI_PASS "" #define SERIAL_BAUDRATE 115200fauxmoESP fauxmo; // -------------------------- -------------------------------------------------- -// Wifi// -------------------------------------------- --------------------------------- void wifiSetup () {// Configure el módulo WIFI en el modo STA WiFi.mode ( WIFI_STA); // Conectar Serial.printf ("[WIFI] Conectando a% s", WIFI_SSID); WiFi.begin (WIFI_SSID, WIFI_PASS); // Espere mientras (WiFi.status ()! =WL_CONNECTED) {Serial.print ("."); retraso (100); } Serial.println (); // ¡Conectado! Serial.printf ("Modo ESTACIÓN [WIFI], SSID:% s, dirección IP:% s \ n", WiFi.SSID (). C_str (), WiFi.localIP (). ToString (). C_str ()); } // ----------------------------------------------- ------------------------------ // Iniciar pines // -------------- -------------------------------------------------- ------------- # define RELAY_PIN1 13 # define RELAY_PIN2 2 # define RELAY_PIN3 14 # define RELAY_PIN4 15void setup () {// inicializa los pines del relé pinMode (RELAY_PIN1, OUTPUT); digitalWrite (RELAY_PIN1, BAJO); pinMode (RELAY_PIN2, SALIDA); digitalWrite (RELAY_PIN2, BAJO); pinMode (RELAY_PIN3, SALIDA); digitalWrite (RELAY_PIN3, BAJO); pinMode (RELAY_PIN4, SALIDA); digitalWrite (RELAY_PIN4, BAJO); // Iniciar puerto serie y limpiar basura Serial.begin (SERIAL_BAUDRATE); Serial.println (); Serial.println (); Serial.println ("Boceto de demostración de FauxMo"); Serial.println ("Después de la conexión, pídale a Alexa / Echo que 'encienda' o 'apague' los píxeles o que 'encienda o apague el relé'"); // Wifi wifiSetup (); // ----------------------------------------- ------------------------------------ // Nombres de dispositivos de Alexa // ------- -------------------------------------------------- -------------------- // Fauxmo fauxmo.addDevice ("TV"); fauxmo.addDevice ("GregsNetflix"); fauxmo.addDevice ("Suspender"); fauxmo.addDevice ("Oficina"); fauxmo.onMessage (devolución de llamada);} // ---------------------------------------- ------------------------------------- // Llamadas de operación de Alexa // ------ -------------------------------------------------- --------------------- devolución de llamada anulada (uint8_t device_id, const char * device_name, bool state) {Serial.printf ("[MAIN]% s estado:% s \ n ", nombre_dispositivo, estado?" ON ":" OFF "); if ((strcmp (nombre_dispositivo, "TV") ==0)) {// ¡ajusta el relé inmediatamente! if (estado) {digitalWrite (RELAY_PIN1, HIGH); } else {digitalWrite (RELAY_PIN1, HIGH); }} if ((strcmp (device_name, "GregsNetflix") ==0)) {// ¡ajusta el relé inmediatamente! if (estado) {digitalWrite (RELAY_PIN2, HIGH); } else {digitalWrite (RELAY_PIN2, LOW); }} if ((strcmp (device_name, "Sleep") ==0)) {// ¡ajusta el relé inmediatamente! if (estado) {digitalWrite (RELAY_PIN3, HIGH); } else {digitalWrite (RELAY_PIN3, LOW); }} if ((strcmp (device_name, "Office") ==0)) {// ¡ajusta el relé inmediatamente! if (estado) {digitalWrite (RELAY_PIN4, HIGH); } else {digitalWrite (RELAY_PIN4, LOW); }}} bucle vacío () {fauxmo.handle (); retraso (500); digitalWrite (RELAY_PIN1, BAJO); digitalWrite (RELAY_PIN2, BAJO); digitalWrite (RELAY_PIN3, BAJO); digitalWrite (RELAY_PIN4, BAJO);} 
IR-Alexa-Send.ino C / C ++
Esto se carga en Arduino UNO para leer las señales de NodeMCU y enviar las señales de infrarrojos apropiadas a través del diodo de transmisión de infrarrojos
 #include  IRsend irsend; #define a 4 # define b 5 # define c 6 # defina d 7void setup () {Serial.begin (9600); pinMode (a, ENTRADA); pinMode (b, ENTRADA); pinMode (c, ENTRADA); pinMode (d, INPUT);} bucle vacío () {if (digitalRead (a) ==HIGH) {irsend.sendNEC (0x57E3E817, 32); // Código de alimentación Serial.println ("TV"); retraso (500); } if (digitalRead (b) ==HIGH) {irsend.sendNEC (0x57E354AB, 32); // Ingrese Key delay (2000); irsend.sendNEC (0x57E39867, 32); // Retardo de tecla arriba (1000); irsend.sendNEC (0x57E39867, 32); // Retardo de tecla arriba (1000); irsend.sendNEC (0x57E39867, 32); // Retardo de tecla arriba (1000); irsend.sendNEC (0x57E3B44B, 32); // Retraso de la tecla derecha (1000); irsend.sendNEC (0x57E354AB, 32); // Ingrese retraso (2000); irsend.sendNEC (0x57E354AB, 32); // Ingrese Serial.println ("La Oficina"); retraso (500); } if (digitalRead (c) ==HIGH) {irsend.sendNEC (0x57E38679, 32); // Retraso del botón de opciones (1500); irsend.sendNEC (0x57E3CC33, 32); // Retraso de tecla abajo (700); irsend.sendNEC (0x57E3CC33, 32); // Retraso de tecla abajo (700); irsend.sendNEC (0x57E3CC33, 32); // Retraso de tecla abajo (700); irsend.sendNEC (0x57E3CC33, 32); // Retraso de tecla abajo (700); irsend.sendNEC (0x57E3B44B, 32); // Retraso de la tecla derecha (700); irsend.sendNEC (0x57E3B44B, 32); // Retraso de la tecla derecha (900); irsend.sendNEC (0x57E38679, 32); // Botón de opciones Serial.println ("Temporizador de suspensión"); retraso (500); } if (digitalRead (d) ==HIGH) {irsend.sendNEC (0x57E34AB5, 32); // Código Netflix Serial.println ("Netflix de Greg"); retraso (500); }} 
IR_REMOTE_read.ino C / C ++
Use este código en su Arduino para leer los Clicker Hits provenientes de su control remoto al receptor de infrarrojos.
 //2017.06.22#include  #include  / * CÓMO CONECTAR LA PANTALLA LCD PIN DE IZQUIERDA A DERECHA CON PINES EN LA PARTE SUPERIOR * * GND - VCC - POT MIDDLE - 12 - GND - 11 - NINGUNO - NINGUNO - NINGUNO - NINGUNO - 5 - 4 - 9 - 2 - VCC - GND * * POT DEBE TENER 5V Y CONECTE A TIERRA Y PUEDE GIRAR LA PERILLA PARA CAMBIAR EL CONTRASTE DEL LCD * / LiquidCrystal lcd (12, 11, 5, 4, 9, 2); // 9 en lugar de 3 (NECESIDAD DE TRANSMISOR) int receptor pin =10; IRrecv irrecv (receptor pin); decode_results resultados; void setup () {lcd.begin (16, 2); pinMode (pin receptor, ENTRADA); Serial.begin (9600); irrecv.enableIRIn ();} void loop () {if (irrecv.decode (&results)) {Serial.println (results.value, HEX); irrecv.resume (); lcd.clear (); lcd.print (resultados.valor, HEX); retraso (150); }} 

Esquemas

Este es el esquema final que conecta el Arduino al NodeMCU (módulo Wi-Fi)

Proceso de manufactura

  1. Píldora anticonceptiva
  2. Traslado de su sistema de control industrial a inalámbrico
  3. Razones para utilizar composites termoendurecibles en su producto
  4. ¿Reparar o reemplazar su control de pantalla táctil dañado?
  5. Habilita el control de Alexa en tu ventilador de techo
  6. Controla tu LED con Cortana
  7. Tomar el control de las reparaciones de su propio vehículo
  8. Asegurando su Sistema de Control Industrial
  9. Cómo utilizar su máquina perforadora para taladrar metal
  10. 8 pasos para depurar su sistema de control de procesos
  11. Utilice PLCnext para WakeOnLan (WoL) en su PC