Go Down

Topic: Board PBC para ESP8266 / 1 Relay / Reductor 220v a 5v / Reductor 5v a 3v3 (Read 174 times) previous topic - next topic

safernandez666

Estimados,


He creado un proyecto, para manejar un relay via web con una ESP8266. El ESP8266, en modo servidor, sirviendo un boton para el accionado del On Off.


El mismo lo pueden ver funcionando https://t.co/yj1zZPTYyC






Estuve investigando, pero mi nivel de electronica no es bueno. Intente crear este diseño, en Fritzing, pero no estoy seguro de seleccionar correctamente los componentes. La idea es realizar un diseño, similar, a este. No es necesario el Pushbutton o los pines TXD / RXD ya que tenemos el 2x4 hembra para sacar y poner el modulo ESP8266 y cargar el sketch.




La idea, es poner la plaqueta PBC en el plafon de luz. Ya con los cables de 220v estaria resuelto. Los mismos ingresan al reductor 220v a 5v, de los 5v iria al Relay y al reductor de 3v3 que alimenta el ESP8266. Que sera el encargado de conectarse a la red Wireless, entrar en modo servidor y enviar la senal al relay para el On Off.


Espero haberme explicado! 


Quien pueda, ayudarme, con el diseno en Fritzing o en el software que me recomienden...les agradeceré.


Saludos! Y espero que les interese para sus hogares!

surbyte

Esta es una sección de proyectos. Hablas del esquema pero no muestras el código?
Podrías hacerlo por favor, luce muy bien.

safernandez666

Hola Surbyte! Obvio! Para eso estamos! Para compartir!

Code: [Select]
  #include <ESP8266WiFi.h>
 
  const char* ssid = "***";
  const char* password = "****";
 
  // Creamos la Instancia. Enviamos el puerto.

  WiFiServer server(80);
 
  int estado = 2;
  boolean flag = true;
 
  String Notification = String(""); 
 
  void setup() {
    Serial.begin(115200);
    delay(10);
 
    //  Utilizamos el GPIO2 - Inicializa en Estado OFF.
    pinMode(estado, OUTPUT);
    digitalWrite(estado, 1);
   
    // Conectamos a la Wireless.
    Serial.println();
    Serial.println();
    Serial.print("Conectando ");
    Serial.println(ssid);
   
    WiFi.begin(ssid, password);
   
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi Conectado");
   
    // Inicializamos el Servidor.
    server.begin();
    Serial.println("Servidor Iniciado");
 
    // Imprimimos la Direccion TCP IP.
    Serial.println(WiFi.localIP());
  }
 
  void loop() {
    // Chequeo si tengo, Cliente conectado.
    WiFiClient client = server.available();
   if (client) {
      Serial.println("new client");
      // an http request ends with a blank line
      boolean currentLineIsBlank = true;
      while (client.connected()) {
        if (client.available()) {
          char c = client.read();
          Serial.println(c);
  //--------------------------------------------------------------------------------------
  // Leo Caracteres en el Request HTTP
  if (Notification.length() < 12) {
    Notification = Notification + c;
  }
  //-----------------------------------------------------------------------------------------*/       

          if (c == '\n' && currentLineIsBlank) {
  //--------------------------------------------------------------------------------------------
                                                                   if(Notification.indexOf("3=lig") > -1) { 
                                                                      digitalWrite(2, 1);
                                                                      Serial.println("Prendemos el GPIO2!");
                                                                     estado = 1;
                                                                     
                                                                    }
                                                                    if(Notification.indexOf("3=des") > -1){ 
                                                                      digitalWrite(2, 0);
                                                                      Serial.println("Apagamos el GPIO2");
                                                                      estado = 0;
                                         
                                                                    }                                                                 
                                                                   
  //-----------------------------------------------------------------------------------------------*/         
                                                                Notification="";
            // Enviamos Respuesta
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
           
  //HTML----------------------------------------------------------------------------------------*/         
            client.print("<!DOCTYPE HTML>");
            client.print("<html>");
            client.print("<head>");
            client.print("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>");
            // client.print("<meta http-equiv=\"refresh\" content=\"5\">"); REFRESCO No Usar
            client.print("<title>WebLightSwitch</title>");
            client.print("</head>");
            client.print("<body bgcolor='#303030'>");
            client.print("<style type='text/css'> .submit{width:230px; height:230px; text-indent: -99999px; text-align: center; background-color: Transparent; border:none;}</style>");
            client.print("<style type='text/css'> #switch{width:539px; height:248px;}</style>");
            client.print("<style type='text/css'> *{margin:auto; text-align:center;}</style>");
           
   
        client.print("<body><br><br><br><br><br><br>");
        client.print("<div id='title'> <img src='http://www.ironbox.com.ar/Web/imgs/name_title.jpg' width='539' height='112' alt='Web Light Switch' /> </div> <br>");
        client.print("<div id='switch'>");
        client.print("<table width='539' height='248' border='0'> <tr>");
        client.print("<td width='265'><form method=get><input type=submit class='submit' name=3 value='desliga'></form></td>");
        client.print("<td width='264'><form method=get><input type=submit class='submit' name=3 value='liga'></form></td></tr>");
        client.print("</table> </div>");
        client.print("</body>");
        client.print("</html>");
                                                                             
        if (estado) {
          client.print("<style type='text/css'>#switch{ background-image:url('http://www.ironbox.com.ar/Web/imgs/switch_on.jpg');}</style>");
          } else {
            client.print("<style type='text/css'>#switch{ background-image:url('http://www.ironbox.com.ar/Web/imgs/switch_off.jpg');}</style>");
          }     
     
       
        break; 
              }
              if (c == '\n') {
                // Empieza Nueva Linea.
                currentLineIsBlank = true;
              }
              else if (c != '\r') {
                // Si tengo Caracter en la linea.
                currentLineIsBlank = false;
              }
            }
          }
          // Tiempo para que el navegador, reciba la informacion.
          delay(1);
          // Cierro Conexion.
          client.stop();
          Serial.println("Cliente Desconectado");
        }
  }
   
 
 
 
 
 
 
   
 
 
 
 



Por suerte, encontre algunos datos de lo que comentaba en primera instancia. Compre la siguiente plaqueta. Lamento no ser un erudito en electronica. Me hubiese encantado, hacerla yo! De hecho, voy a comprar los componentes! Mas alla que se mas barato, comprarla hecha.

Dejo el http://www.electrodragon.com/product/wifi-iot-relay-board-based-esp8266/, para que observen.

subir fotos online

Basicamente se ingresa con 220v, alimenta el ESP8266 con 3v y acciona con 5v los Relay. Tranquilamente, podria, colocarse en el plafon de la luz de nuestro Living!

Seria interesante, realizar este Stech en PBC para que todos los foristas podamos realizar nuestra board. Lo que me gusto de este esquema, es el boton que acciona la luz en caso de no poseer internet o router ( dependiendo de la arquitectura que desplegemos, llamese utilizar un MQTT local o en Cloud )

sube imagenes

Alguno, tiene dominio de Fritzing? o algo similar, para realizar esta placa?

Saludos!

PD: Surbyte, si necesitas algun dato del desarrollo...lo vemos juntos! No soy un programador, nato, pero...2 mentes, piensan mas que 1.



surbyte

Me encanta el STEP DOWN 220VAC a 3.3V donde lo conseguiste?
El esquema esta bien.
Que quieres hacer ahora, pasarlo a pcb?

Falta el resource del Web Switch no?

safernandez666

El step down solo, se consigue por ebay!

eBay

600mA.

Con respecto a la placa, que compre, en electrodragon. Pero me gustaria hacerla con el Sketch que pase. Ese circuito, para poder imprimirlo y soldar las piezas! Eso quiero hacer en Fritzing...o alguno similar.

El codigo Web, estan en lo que comparti. La placa ESP8266 se pone como WebServer y sirve el HTML y CSS. La misma placa. Luego te conectas a la direccion TCP/IP. No se, si eres conocedor de TCP...Si no vamos paso a paso y lo vas copiando...

Tu me dices Surbyte, si me he explicado!

Abrazo!

surbyte

Fritzing es para hacer esquemas, no pcb
Quieres hacer el PCB?

Yo hablo de la imagen Web Switch, donde esta?

Perdona, me respondo solo : Imagen Web Switch ON-OFF

Ya veo, es un repositorio de tu empresa.

safernandez666

Fritzing es para hacer esquemas, no pcb
Quieres hacer el PCB?

Yo hablo de la imagen Web Switch, donde esta?

Perdona, me respondo solo : Imagen Web Switch ON-OFF
Si senor! Estan en mi servidor! Si necesitas las attacheo...pero puedes descargarlas!

Si queria realizar el esquema para mandar a imprimir...Pero seguramente, lo haga con las placas PBC...Vere algun instructivo...para el soldado.

Esto queda bien en Stand Alone...Pero para mas luces...hay que hacerlo con algo tipo Home-Assistant y MQTT...proximo paso!

Ahi edite el post anterior!


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy