Crea Un servidor web en la ESP32 que controla el funcionamiento del diodo interno de la tarjeta. La IP se muestra en una LCD cada 5 segundos.
#include "WiFi.h"
#include <WebServer.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const char ssid[]="Nombrered";
const char pass[]="Contraseña";
//Creamos un objeto de WebServer llamado servidor//
WebServer servidor;
//Creamos un objeto de LiquidCrystal_I2C llamado LCD1//
LiquidCrystal_I2C LCD1(0x27,16,2);
unsigned long task_time_ms=0;
void servidor_on_(){
servidor.send(200,String("text/html"),String("Conectado servidor web de la ESP32"));
}
void servidor_on_encender(){
servidor.send(200,String("text/html"),String("El led de la ESP32 se ha encendido."));
digitalWrite(2, HIGH);
}
void servidor_on_apagar(){
servidor.send(200,String("text/html"),String("El led de la ESP32 se ha apagado"));
digitalWrite(2, LOW);
}
void _servidor_on__NOTFOUND__(){
servidor.send(200,String("text/html"),String("Código no válido"));
}
void setup()
{
pinMode(2, OUTPUT);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid,pass);
while (WiFi.status() != WL_CONNECTED) delay(500);
servidor.begin(80);
LCD1.init();
LCD1.backlight();
LCD1.clear();
LCD1.setCursor(0, 0);
LCD1.print(WiFi.localIP().toString());
servidor.on("/",HTTP_GET,servidor_on_);
servidor.on("/encender",HTTP_GET,servidor_on_encender);
servidor.on("/apagar",HTTP_GET,servidor_on_apagar);
servidor.onNotFound(_servidor_on__NOTFOUND__);
}
void loop()
{
servidor.handleClient();
if((millis()-task_time_ms)>=5000){
task_time_ms=millis();
LCD1.clear();
LCD1.setCursor(7, 0);
LCD1.print(String("IP:"));
LCD1.setCursor(0, 1);
LCD1.print(WiFi.localIP().toString());
}
}