/**************************************************
Übung: ESP32 (Teil 1) - Aufgabe 9 (Vorlage)
***************************************************/
//-----------------------------------------------------------
#include <WiFi.h>
#include <WebServer.h>
//-----------------------------------------------------------
// BBWAS1:
const int PIN_ADC_POTENTIOMETER = 33;
const int PIN_ADC_LICHTSENSOR = 32;
const int PIN_ADC_TEMPERATUR = 35;
const int PIN_ADC_TASTEN_LEFT_RIGHT = 34;
//-----------------------------------------------------------
// WiFi:
const char WIFI_SSID[] = "m126";
const char WIFI_PASSWORD[] = "M126M126";
// Webserver Objekt (Port 80)
WebServer webserver(80);
//-----------------------------------------------------------
void setup(void) {
//---
// UART starten (115200 Baud)
Serial.begin(115200);
//---
// WiFi verbinden
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Verbinde mit ");
Serial.print(WIFI_SSID);
// Warten bis mit WiFi verbunden...
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(100);
}
Serial.println(" Verbunden!");
// Zugewiesene IP-Adresse ausgeben
Serial.print("IP-Adresse: ");
Serial.println(WiFi.localIP());
//---
// Webserver URL konfigurieren
webserver.on("/", handle_page_index);
// Webserver starten
webserver.begin();
Serial.println("Webserver gestartet!");
}
//-----------------------------------------------------------
void loop(void) {
// Webserver bedienen
webserver.handleClient();
delay(10);
}
//-----------------------------------------------------------
void handle_page_index() {
//---
// HTML-Template
String html_template = R"(
<!DOCTYPE html>
<html>
<head>
<title>ESP32 Webserver - Demo 1</title>
</head>
<body>
<h1>ESP32 Webserver - Demo 1</h1>
<div>
<h2>Analoge Komponenten</h2>
<p>Potentiometer: *POTENTIOMETER_TEXT*</p>
<hr>
<a href="/">[Reload]</a>
</div>
</body>
</html>
)";
//---
// HTML-Template updaten
html_template.replace("*POTENTIOMETER_TEXT*", String(analogRead(PIN_ADC_POTENTIOMETER)) );
//---
// HTML an Client senden
webserver.send(200, "text/html", html_template);
}