|     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

____________________________

70.- Una página web con dos botones para apagar/encender un LED del NodeMCU desde WiFi.

- Saldrá una página web con dos botones, según pulsemos uno u otro se encenderá o apagará un LED del NodeMCU.

- Además cuando entremos en esa página nos dirá el estado actual del LED.

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

___________________________________________________
1.- Utilizamos el LED del ESP8266.

- Puedes poner tu propio LED conectado al NodeMCU, pero ten cuidado con el número de terminal. Recuerta que el número de terminal del ESP8266, que es el que está en el código y el número de conector en el NodeMCU no coincide.

- En este ejemplo voy a utilizar el LED del ESP8266 que corresponde al GPIO2.

___________________________________________________
2.- Librerías.

- Aquí voy a poner las librerías que he utilizado hasta este momento la de LiquidCristal, Presión, DHT11,...

Varias_librerias.zip

___________________________________________________
3.- Código para apagar/encender un LED desde WiFi.

Código
Nodemcu_botones_LED_wifi.ino
// Juan A. Villalpando.
// KIO4.COM
// Saldrá una página web con dos botones, según el usuario pulse
// el botón 1 o el 2, se encenderá o apagará un LED en el Nodemcu.

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

int ledPin = 2; // Es el LED azul del ESP8266
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, 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("Servido 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
  int value = LOW;
  if (request.indexOf("/LED=APAGADO") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED=ENCENDIDO") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
 
// Enciende o apaga el LED.
// digitalWrite(ledPin, value);
 
  // Devuelve el estado del LED.
  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.print("Estado actual del LED: ");
 
  if(value == HIGH) {
    client.print("Apagado.");
  } else {
    client.print("Encendido.");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED=ENCENDIDO\"\"><button>Enciende el LED </button></a>");
  client.println("<a href=\"/LED=APAGADO\"\"><button>Apaga el LED </button></a><br />");  
  client.println("</html>");
 
  delay(1);
  Serial.println("Cliente desconectado.");
  Serial.println("");
}

___________________________________________________
4.- Serial Monitor.

________________________________

 

- 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