Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Aporte:  Nodemcu, controlar encendido / apagado de led via wifi
#1
Saludos.

Vamos a controlar el encendido / apagado  de un led vía wifi con Nodemcu. La página web que nos proporcionará el Nodemcu nos dirá si en led está encendido o apagado y nos mostrará un botón para realizar una acción según sea el caso. 
El programa lo cargaremos al Nodemcu con el Arduino IDE.


Materiales necesarios:
  • Una placa Nodemcu (yo he utilizado la V2).
  • 2 cables dupont.
  • Un led.

[Imagen: nodemcu.jpg]

[Imagen: led.gif]




Conexiones:
  • Pin D7 del Nodemcu al polo positivo del led
  • Pin GND del Nodemcu al polo negativo del led


Código para Nodemcu:

Código:
#include <ESP8266WiFi.h>

const char* ssid = "Tu_ssid";
const char* password = "Tu_contraseña";
IPAddress ip(192,168,1,222);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
int ledPin = 13; //Lo conectamos a D7
WiFiServer server(80);

void setup() {
 Serial.begin(115200);
 delay(10);

 pinMode(ledPin, OUTPUT);
 digitalWrite(ledPin, LOW);

 WiFi.begin(ssid, password);
 WiFi.config(ip, gateway, subnet);
 
 server.begin();
}

void loop() {

 WiFiClient client = server.available();
 if (!client) {
   return;
 }


 Serial.println("new client");
 while(!client.available()){
   delay(1);
 }

 String request = client.readStringUntil('\r');
 client.flush();


 int value = digitalRead(ledPin);
 if (request.indexOf("/LED=ON") != -1)  {
   digitalWrite(ledPin, HIGH);
   value = HIGH;
 }
 if (request.indexOf("/LED=OFF") != -1)  {
   digitalWrite(ledPin, LOW);
   value = LOW;
 }


 client.println("HTTP/1.1 200 OK");
 client.println("Content-Type: text/html");
 client.println("");
 client.println("<!DOCTYPE HTML>");
 client.println("<html>");

 client.print("El led esta ahora: ");

 if(value == HIGH) {
   client.print("Encendido");
   client.println("<br><br>");
   client.println("<a href=\"/LED=OFF\"\"><button>Apagar</button></a><br />");  
 } else {
   client.print("Apagado");
client.println("<br><br>");
 client.println("<a href=\"/LED=ON\"\"><button>Encender</button></a>");
 }
 client.println("</html>");

 delay(1);

}




Comentario del código:

En primer lugar está la configuración de la red wifi. Deberás cambiar la sidd y la contraseña por la de tu router. En este script le asignamos la dirección IP 192.168.1.222, la puedes cambiar a tu gusto siempre que esté en el rango de ips de tu router.

Le asignamos el pin 13 al led, que en la placa Nodemcu es el D7, le indicamos que es de salida y lo iniciamos en LOW (apagado).

Comenzamos la comunicación Wifi.

Recién encendida la placa Nodemcu, el led estará apagado, al pone en el navegador la dirección IP 192.168.1.222 nos mostrará lo siguiente:

[Imagen: nodemculed1.png]


Si le damos al botón de encender, el led se encenderá y el navegador nos mostrará:

[Imagen: nodemculed2.png]


Si le damos al botón de apagar, el led se apagará y nos mostrará el navegador:


[Imagen: nodemculed3.png]



Y ya está. Como habéis visto la página que muestra es muy sencilla, pero era para que vierais como funciona.

Bueno, espero que le sirva a alguien.

Saludos.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)