|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

NodeMCU en español
NodeMCU - Juan Antonio Villalpando

-- Tutorial de NodeMCU en español --

Volver al índice del tutorial NodeMCU

____________________________

70B.- Una página web con varios botones para encender/apagar dos LED desde WiFi.

- Saldrá una página web con cuatro botones, según pulsemos uno u otro se encenderá un LED por WiFi.

- Además cuando entremos en esa página nos mostrará con imágenes si los LED están encendidos o apagados.

- También puedes hacerlo desde el móvil conectado a WiFi.

___________________________________________________
1.- Conexión de los LED.

- En el código utilizamos el GPIO2 y el GPIO16 del ESP8266, esos corresponden a los terminales D0 y D4 del NodeMCU, como se observa en la imagen.

- Debes tener en cuenta la polarización de los diodos, conectar correctamente el ánodo(+) y el cátodo (-).

- También esas dos conexiones corresponden a los LED azules integrados en la tarjeta, pero observarás que tienen lógica contraria.

- Realizamos la siguiente conexión:

___________________________________________________
2
.- Código encender/apagar dos LED desde WiFi.

Código
Nodemcu_2_LED_wifi.ino
// Juan A. Villalpando.
// KIO4.COM
// Saldrá una página web con cuatro botones, según el usuario pulse
// encenderá un LED en el NodeMCU por WiFi..

#include <ESP8266WiFi.h>
 
const char* ssid = "Tu_nombre_de_red_wifi";
const char* password = "La_clave_de_tu_red_wifi";

int LED2 = 2; // Es el LED azul del ESP8266
int LED16 = 16; // 
String imagen2 ="N";
String imagen16 ="N";

WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  pinMode(LED2, OUTPUT);
  pinMode(LED16, OUTPUT);
  digitalWrite(LED2, LOW);
  digitalWrite(LED16, LOW);
 
// Conecta a la red wifi.
  Serial.println();
  Serial.println();
  Serial.print("Conectando con ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Conectado con WiFi.");
 
  // Inicio del Servidor web.
  server.begin();
  Serial.println("Servidor web iniciado.");
 
  // Esta es la IP
  Serial.print("Esta es la IP para conectar: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
}
 
void loop() {
  // Consulta si se ha conectado algún cliente.
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Espera hasta que el cliente envíe datos.
  Serial.println("Nuevo cliente.");
  while(!client.available()){
    delay(1);
  }
 
  // Lee la primera línea de la petición.
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Consulta la petición
  if (request.startsWith("mensaje=1", 5))  { digitalWrite(LED2, HIGH); imagen2="R";}
  if (request.startsWith("mensaje=2", 5))  { digitalWrite(LED2, LOW); imagen2="N";}
  if (request.startsWith("mensaje=3", 5))  { digitalWrite(LED16, HIGH); imagen16="R";}
  if (request.startsWith("mensaje=4", 5))  { digitalWrite(LED16, LOW); imagen16="N";}
 
  // Página web.
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  Comillas importantes.
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
  client.println("<head><meta charset=utf-8></head>");
  client.println("<body><font face='Arial'><h1>Encender/apagar LED por WiFi.</h1>");
  client.println("<h2><font color='#009900'>KIO4.COM - Juan A. Villalpando</font></h2>");
  client.println("<br><br>");
  client.println("<a href=\"/mensaje=1\"\"><button>Enciende LED2 (D4)</button></a>");
  client.println("<a href=\"/mensaje=2\"\"><button>Apaga LED2 (D4)</button></a>"); 
  client.println("<a href=\"/mensaje=3\"\"><button>Enciende LED16 (D0)</button></a>");
  client.println("<a href=\"/mensaje=4\"\"><button>Apaga LED16 (D0)</button></a>");
  client.println("<br><br>");
  if (imagen2 == "R") { client.println("________<img src='http://kio4.esy.es/LEDR.png'>");} 
  if (imagen2 == "N") { client.println("________<img src='http://kio4.esy.es/LEDN.png'>");} 
  if (imagen16 == "R") { client.println("________________<img src='http://kio4.esy.es/LEDR.png'>");} 
  if (imagen16 == "N") { client.println("________________<img src='http://kio4.esy.es/LEDN.png'>");} 

  client.println("</font></body></html>");
 
  delay(1);
  Serial.println("Cliente desconectado.");
  Serial.println("");
}

________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información