Enchufes controlados remotamente ESP8266

En este artículo te contaremos todo lo que necesitas saber sobre los enchufes controlados remotamente con ESP8266. Descubre cómo esta tecnología revolucionaria te permite controlar tus dispositivos eléctricos desde cualquier lugar a través de una conexión a internet. ¡No te pierdas esta guía completa sobre cómo llevar tu hogar al siguiente nivel de automatización!

En este proyecto, construirá un servidor web con un ESP8266 que puede controlar de forma remota (de forma segura) todos los sockets.

Enchufes controlados remotamente ESP8266

Antes de continuar leyendo este proyecto, complete los siguientes tutoriales:

  • Comenzando con el ESP8266
  • Cómo instalar la placa ESP8266 en Arduino IDE
  • Instrucciones completas para el Módulo Transmisor/Receptor RF 433 MHz con Arduino

Si te gusta el ESP y quieres hacer más proyectos, puedes leer mi libro electrónico “Home Automation with ESP8266” aquí.

¡Vamos a empezar!

Primero, mira el vídeo tutorial paso a paso a continuación.

Lista de artículos

Aquí está el hardware que necesita para completar este proyecto:

Enchufes controlados remotamente ESP8266

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Enchufes controlados remotamente ESP8266

Tomas con control remoto (433 MHz)

Puedes comprar enchufes con mando a distancia en cualquier tienda o comprarlos a nosotros. eBay. Recuerde que la comunicación debe realizarse a través de RF a 433 MHz. He aquí mi arreglo:

  • Control Remoto – Canal I
  • Toma 1 – Canal I y Modo 1
  • Toma 2 – Canal I y Modo 3

Enchufes controlados remotamente ESP8266

Descargar la biblioteca de interruptores RC

Aquí está la biblioteca Arduino que necesita para este proyecto:

  1. Descargar el Biblioteca de interruptores RC
  2. Descomprima la biblioteca RC Switch
  3. Elimine el “-” del nombre de la carpeta; de lo contrario, su IDE de Arduino no reconocerá su biblioteca
  4. Instale la biblioteca RC Switch en su IDE de Arduino
  5. Reinicia tu IDE de Arduino

La biblioteca RC Switch es excelente y funciona con casi todos los enchufes de control remoto del mercado.

Circuito receptor

Enchufes controlados remotamente ESP8266

Siga el circuito anterior para su receptor. Luego cargue el código a continuación o vaya a Archivo > Ejemplos > Conmutadores RC > RecibirDemo_Advanced.

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
    mySwitch.resetAvailable();
  }
}

Ver código sin formato

Guardar los valores TriState

Abra su monitor serial Arduino con una velocidad de 9600 baudios y comience a presionar los botones de su control remoto. Guarde los valores TriState (resaltados en rojo) de cada tecla en un bloc de notas. Enchufes controlados remotamente ESP8266

Diagramas de cableado (programador FTDI de 3,3 V)

Los esquemas para cargar código a su ESP8266 son muy sencillos. Todo lo que necesita hacer es crear una conexión en serie entre su programador FTDI y su ESP8266 para cargar el código. Enchufes controlados remotamente ESP8266

Cargando su código ESP8266

Se debe instalar el complemento ESP8266 para Arduino IDE (Cómo instalar la placa ESP8266 en Arduino IDE). Vaya a Herramientas y seleccione «Módulo ESP8266 genérico». Enchufes controlados remotamente ESP8266 Copie el siguiente boceto en su IDE de Arduino. Reemplace el SSID y la contraseña con sus propias credenciales. También necesita cambiar los valores TriState. Después de modificar mi boceto, cárguelo en su ESP8266.

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
MDNSResponder mdns;

// Replace with your network credentials
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

ESP8266WebServer server(80);

// Replace with your remote TriState values
char* socket1TriStateOn = "0FFF0FFFFFFF";
char* socket1TriStateOff = "0FFF0FFFFFF0";
char* socket2TriStateOn = "0FFFFF0FFFFF";
char* socket2TriStateOff = "0FFFFF0FFFF0";

String webPage = "";
 
void setup(void){
  webPage += "<h1>ESP8266 Web Server</h1><p>Socket #1 <a href="socket1On"><button>ON</button></a>&nbsp;<a href="socket1Off"><button>OFF</button></a></p>";
  webPage += "<p>Socket #2 <a href="socket2On"><button>ON</button></a>&nbsp;<a href="socket2Off"><button>OFF</button></a></p>";
  mySwitch.enableTransmit(2);
  delay(1000);
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  
  if (mdns.begin("esp8266", WiFi.localIP())) {
    Serial.println("MDNS responder started");
  }
  
  server.on("/", [](){
    server.send(200, "text/html", webPage);
  });
  server.on("/socket1On", [](){
    server.send(200, "text/html", webPage);
    mySwitch.sendTriState(socket1TriStateOn);
    delay(1000);
  });
  server.on("/socket1Off", [](){
    server.send(200, "text/html", webPage);
    mySwitch.sendTriState(socket1TriStateOff);
    delay(1000); 
  });
  server.on("/socket2On", [](){
    server.send(200, "text/html", webPage);
    mySwitch.sendTriState(socket2TriStateOn);
    delay(1000);
  });
  server.on("/socket2Off", [](){
    server.send(200, "text/html", webPage);
    mySwitch.sendTriState(socket2TriStateOff);
    delay(1000); 
  });
  server.begin();
  Serial.println("HTTP server started");
}
 
void loop(void){
  server.handleClient();
} 

Ver código sin formato

Dirección IP ESP8266

Abra el monitor serial Arduino con una velocidad de baudios de 115200. Conecte GPIO 0 de su ESP8266 a VCC y reinicie su placa.

Después de unos segundos, debería aparecer su dirección IP. En mi caso eso es 192.168.1.70.

Enchufes controlados remotamente ESP8266

Circuito final

Este es el circuito final para su ESP8266 que aloja un servidor web y transmite señales de RF para controlar sus salidas.

Enchufes controlados remotamente ESP8266

demostración

Para la demostración final, abra cualquier navegador en un dispositivo conectado al mismo enrutador que su ESP. Luego ingrese la dirección IP y haga clic en Entrar.

Enchufes controlados remotamente ESP8266

Ahora, cuando presionas los botones en tu servidor web, puedes controlar ambos enchufes (ver el vídeo al comienzo de este proyecto para una demostración en vivo).

Enchufes controlados remotamente ESP8266

¿Tiene usted alguna pregunta? ¡Deja un comentario a continuación!

Gracias por leer. Si te gusta esta publicación, es posible que también te gusten mis próximas. Así que apóyame suscribiéndote a mi blog y a mi página de Facebook.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Enchufes controlados remotamente ESP8266

Introducción

En este proyecto, construirás un servidor web con un ESP8266 que puede controlar de forma remota cualquier enchufe de manera segura.

Antes de continuar leyendo este proyecto, por favor completa los siguientes tutoriales:

  1. Cómo empezar con el ESP8266
  2. Cómo instalar la placa ESP8266 en el IDE de Arduino
  3. Guía completa para el módulo transmisor/receptor RF 433MHz con Arduino

Si te gusta el ESP y quieres hacer más proyectos, puedes leer mi eBook «Automatización del hogar utilizando ESP8266» aquí.

¡Empecemos!

Primero, mira el video tutorial paso a paso a continuación.

Lista de partes

Aquí están los componentes que necesitas para completar este proyecto:

  1. 1x ESP8266 – leer los mejores tableros de desarrollo de Wi-Fi ESP8266
  2. 1x programador FTDI
  3. 1x Arduino UNO – leer los mejores kits de inicio de Arduino
  4. 1x módulo receptor/transmisor 433MHz
  5. Control remoto y enchufes que funcionan a 433MHz
  6. Cables jumper

Puedes usar los enlaces anteriores o ir directamente a MakerAdvisor.com/tools para encontrar todas las piezas para tus proyectos al mejor precio.

Enchufes controlados remotamente (433MHz)

Puedes comprar enchufes controlados remotamente en cualquier tienda o en eBay. Ten en cuenta que necesitan comunicarse a través de RF a 433MHz. Aquí está mi configuración:

Control remoto – canal I
Enchufe 1 – canal I y modo 1
Enchufe 2 – canal I y modo 3

Descarga de la biblioteca RC Switch

Aquí está la biblioteca de Arduino que necesitas para este proyecto:

Descarga la biblioteca RC Switch
Descomprime la biblioteca RC Switch
Quita el «-» del nombre de la carpeta, de lo contrario tu IDE de Arduino no reconocerá la biblioteca
Instala la biblioteca RC Switch en tu IDE de Arduino
Reinicia tu IDE de Arduino

La biblioteca RC Switch es genial y funciona con casi todos los enchufes controlados remotamente en el mercado.

Circuito del receptor

Sigue el circuito anterior para tu receptor. Luego carga el código a continuación o ve a Archivo > Ejemplos > RC Switch > ReceiveDemo_Advanced.

««
Código aquí
««

Guarda los valores TriState

Abre el monitor serial de Arduino a una velocidad de 9600 y comienza a presionar los botones de tu control remoto. Guarda los valores TriState (en rojo) de cada tecla en un bloc de notas.

Esquemático (programador FTDI de 3.3V)

Los esquemáticos para cargar código a tu ESP8266 son muy simples. Solo necesitas establecer una comunicación serial entre tu programador FTDI y tu ESP8266 para cargar algún código.

Carga tu código a ESP8266

Con el complemento ESP8266 para el IDE de Arduino instalado (Cómo instalar la placa ESP8266 en Arduino IDE), ve a Herramientas y selecciona «Módulo genérico ESP8266». Copia el código siguiente a tu IDE de Arduino. Reemplaza la red y la contraseña con tus credenciales. También necesitas cambiar los valores TriState. Después de modificar mi código, cárgalo en tu ESP8266.

««
Código aquí
««

Dirección IP del ESP8266

Abre el monitor serial de Arduino a una velocidad de 115200. Conecta GPIO 0 de tu ESP8266 a VCC y reinicia tu placa.

Después de unos segundos, debería aparecer tu dirección IP. En mi caso es 192.168.1.70.

Circuito final

Este es el circuito final para tu ESP8266 que aloja un servidor web y transmite señales RF para controlar tus enchufes.

Conclusión

Para la demostración final, abre cualquier navegador desde un dispositivo conectado al mismo router que tu ESP. Luego escribe la dirección IP y haz clic en «Enter».

Ahora, cuando presiones los botones en tu servidor web, puedes controlar ambos enchufes.

¿Tienes alguna pregunta? ¡Déjala en un comentario abajo!

Gracias por leer. Si te gustó esta publicación, probablemente te gustarán las próximas, así que por favor apóyame suscribiéndote a mi blog y a mi página de Facebook.

1 comentario en «Enchufes controlados remotamente ESP8266»

Deja un comentario