Moin zusammen,
Ich sitze gerade an einem Projekt mit meinem ESP32 und ich würde gerne eine website damit verbinden. Ich habe dazu schon die Wlan Verbindung und meine webserver datei sieht im moment so aus:
#include "webserver.h"
#include "schranke.h"
String header;
String output26State = "off";
String output27State = "off";
String output_state = "nicht festgelegt";
const int output26 = 26;
const int output27 = 27;
void handleClient() {
WiFiClient client = server.available();
if (client) {
unsigned long currentTime = millis();
unsigned long previousTime = currentTime;
const long timeoutTime = 2000;
Serial.println("New Client.");
String currentLine = "";
while (client.connected() && currentTime - previousTime <= timeoutTime) {
currentTime = millis();
if (client.available()) {
char c = client.read();
Serial.write(c);
header += c;
if (c == '\n') {
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
if (header.indexOf("GET /26/on") >= 0) {
Serial.println("GPIO 26 on");
output26State = "on";
digitalWrite(output26, HIGH);
auf();
} else if (header.indexOf("GET /26/off") >= 0) {
Serial.println("GPIO 26 off");
output26State = "off";
digitalWrite(output26, LOW);
} else if (header.indexOf("GET /27/on") >= 0) {
Serial.println("GPIO 27 on");
output27State = "on";
digitalWrite(output27, HIGH);
} else if (header.indexOf("GET /27/off") >= 0) {
Serial.println("GPIO 27 off");
output27State = "off";
digitalWrite(output27, LOW);
}
if(state = true){
Serial.println(state);
output_state = "AUF";
}
else{
output_state = "ZU";
Serial.println(state);
}
client.println("<!DOCTYPE html><html>");
client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
client.println("<link rel=\"icon\" href=\"data:,\">");
client.println("<style>html { font-family: Helvetica; text-align: center;}");
client.println(".button { background-color: #4CAF50; color: white; padding: 16px 40px;");
client.println("font-size: 30px; margin: 2px; cursor: pointer;}");
client.println(".button2 {background-color: #555555;}</style></head>");
client.println("<body><h1>ESP32 Web Server</h1>");
client.println("<p>GPIO 26 - State " + output26State + "</p>");
client.println(output26State == "off" ? "<p><a href=\"/26/on\"><button class=\"button\">ON</button></a></p>"
: "<p><a href=\"/26/off\"><button class=\"button button2\">OFF</button></a></p>");
client.println("<p>Aktueller schrnaken zustand" + output_state + "</p>");
client.println("<p>GPIO 27 - State " + output27State + "</p>");
client.println(output27State == "off" ? "<p><a href=\"/27/on\"><button class=\"button\">ON</button></a></p>"
: "<p><a href=\"/27/off\"><button class=\"button button2\">OFF</button></a></p>");
client.println("</body></html>");
client.println();
break;
} else {
currentLine = "";
}
} else if (c != '\r') {
currentLine += c;
}
}
}
header = "";
client.stop();
Serial.println("Client disconnected.");
}
}
Nun frage ich mich ob man das auch alles in einer externe HTML Datei auslagern kann.
Vielen Dank für die Hilfe!