#include <WiFi.h>
// Define las credenciales de tu red WiFi
const char* ssid = "Prueba";
const char* password = "29-10-00";
// Define el pin al que está conectado el sensor magnético
const int sensorPin = D5; // Cambia D1 al número de pin que estés usando
// Variable para almacenar el estado del sensor
int sensorState = 0;
// Variable para almacenar el estado anterior del sensor
int lastSensorState = 0;
WiFiServer server(80);
// Prototipo de la función sendSensorState
void sendSensorState();
void setup() {
Serial.begin(115200);
pinMode(sensorPin, INPUT);
// Conectar a la red WiFi
Serial.println();
Serial.println();
Serial.print("Conectando a ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectado");
// Inicia el servidor
server.begin();
Serial.println("Servidor iniciado");
// Imprime la dirección IP del ESP8266
Serial.println(WiFi.localIP());
}
void loop() {
// Lee el estado actual del sensor
sensorState = digitalRead(sensorPin);
// Si el estado del sensor ha cambiado, actualiza la página
if (sensorState != lastSensorState) {
lastSensorState = sensorState;
sendSensorState();
}
}
// Definición de la función sendSensorState
void sendSensorState() {
// Crea la página HTML para mostrar el estado del sensor
String page = "<!DOCTYPE html><html><head><meta name='viewport' content='width=device-width, initial-scale=1'><title>Estado del Sensor</title></head><body>";
page += "<h1>Estado del Sensor Magnetico</h1>";
page += "<p>El estado del sensor es: ";
page += (sensorState == HIGH) ? "Activado" : "Desactivado";
page += "</p></body></html>";
// Envía la página al cliente
WiFiClient client = server.available();
if (client) {
Serial.println("Nuevo cliente conectado");
while (client.connected()) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
client.println(page);
break;
}
client.stop();
Serial.println("Cliente desconectado");
}
}