wifi_web_server.ino

PaperDIY Assembly Kit · Archivo : wifi_web_server.ino · Lenguaje : C++ (Arduino) · Uso : Créer un serveur web local pour contrôler la carte via un navigateur.

Servidor web minimalista para controlar una salida y mostrar el estado.

Modifique SSID y PASSWORD con sus credenciales WiFi. Cargue el código. Abra el Monitor Serie para obtener la dirección IP local. Acceda a esta IP desde un navegador en la misma red para interactuar con la placa.

wifi_web_server.ino

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "VOTRE_WIFI_SSID";
const char* password = "VOTRE_WIFI_PASSWORD";

WebServer server(80);
String message = "Hello from PaperDIY ESP32-S3";

void handleRoot() {
  String html = "<!DOCTYPE html><html><head><title>PaperDIY</title></head><body>";
  html += "<h1>PaperDIY Assembly Kit</h1>";
  html += "<p>" + message + "</p>";
  html += "<a href='/led_on'>LED ON</a> | <a href='/led_off'>LED OFF</a>";
  html += "</body></html>";
  server.send(200, "text/html", html);
}

void handleLedOn() {
  digitalWrite(5, HIGH);
  message = "LED is ON";
  server.sendHeader("Location", "/", true);
  server.send(303);
}

void handleLedOff() {
  digitalWrite(5, LOW);
  message = "LED is OFF";
  server.sendHeader("Location", "/", true);
  server.send(303);
}

void setup() {
  Serial.begin(115200);
  pinMode(5, OUTPUT);
  
  WiFi.begin(ssid, password);
  Serial.print("Connecting");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi connected");
  Serial.println(WiFi.localIP());

  server.on("/", handleRoot);
  server.on("/led_on", handleLedOn);
  server.on("/led_off", handleLedOff);
  server.begin();
}

void loop() {
  server.handleClient();
}

← Volver a la ficha