Proyecto

General

Perfil

Ficheros » portal.ino

Daniel Cruz Barcia, 2024-11-21 15:19

 
1
#include <WiFi.h>
2
#include <WebServer.h>
3

    
4
const char* ssid = "CFNET";
5
const char* password = "Password";
6

    
7
WebServer server(80);
8
const int relayPin = 23;
9
const String accessToken = "password"; // Clave de acceso
10

    
11
void setup() {
12
  Serial.begin(115200);
13
  WiFi.begin(ssid, password);
14
  while (WiFi.status() != WL_CONNECTED) {
15
    delay(1000);
16
    Serial.println("Conectando a WiFi...");
17
  }
18
  Serial.println("Conectado a WiFi");
19

    
20
  server.on("/", HTTP_GET, []() {
21
    server.send(200, "text/html", "<h1>Control de Portal</h1><button onclick=\"fetch('/abrir?token=mi_clave_secreta')\">Abrir</button>");
22
  });
23

    
24
  server.on("/abrir", HTTP_GET, []() {
25
    if (server.hasArg("token") && server.arg("token") == accessToken) {
26
      digitalWrite(relayPin, HIGH);
27
      delay(1000);
28
      digitalWrite(relayPin, LOW);
29
      server.send(200, "text/plain", "Portal abierto");
30
    } else {
31
      server.send(403, "text/plain", "Acceso denegado");
32
    }
33
  });
34

    
35
  pinMode(relayPin, OUTPUT);
36
  digitalWrite(relayPin, LOW);
37
  server.begin();
38
}
39

    
40
void loop() {
41
  server.handleClient();
42
}
    (1-1/1)