Ficheros » portal.ino
| 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 |
}
|