#include <ESP8266WiFi.h> // Wifi-Bibliothek einbinden
#include <WiFiClient.h> // Wifi-Client-Bibliothek einbinden
#include <ESP8266WebServer.h> // Webserver Bibliothek einbinden
const char* ssid = "ESP8266_AccessPoint"; // SSID Name des Access-Points
IPAddress IPaddr (192, 168, 1, 1); // IP-Adresse des Access-Points
IPAddress IPmask(255, 255, 255, 0); // Subnetzmaske  des Access-Points
ESP8266WebServer server(80); // Port festlegen

//HTML code--------------------------------------
String html = R"***(
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=300px">
</head>
<body>
<h1>LED Schalter</h1>
<p><a href=/led_ein>LED EIN</a></p>
<p><a href=/led_aus>LED AUS</a></p>
</body>
</html>

)***";
//------------------------------------------------


void setup() {
Serial.begin(9600); // Übertragungsgeschwindigkeit Serial-Monitor
pinMode(LED_BUILTIN, OUTPUT); // LED initialisieren / als Ausgang definieren
digitalWrite(LED_BUILTIN, HIGH); // LED ausschalten
Serial.println(); // Leerzeile
Serial.println("ESP gestartet"); // Begrüßungstext
Serial.println("Konfiguriere Access-Point - bitte warten...");
WiFi.softAP(ssid);  // SSID Name des Access-Points übergeben
WiFi.softAPConfig(IPaddr, IPaddr, IPmask); // IP-Adresse und Subnetzmaske übergeben
IPAddress myIP = WiFi.softAPIP();
Serial.print("Meine IP-Address lautet: ");
Serial.println(myIP); // IP auf Serial-Monitor augeben
server.begin(); // Server starten
Serial.println("HTTP Server wurde gestartet");

// Wenn URL nicht gefunden wurde
server.onNotFound([](){
server.send(404, "text/plain", "URL wurde nicht gefunden!");
});

// Text Startseite
server.on("/", [](){
server.send(200, "text/html", html); // Ausgabe der HTML-Seite
});

// LED einschlten URL
server.on("/led_ein", [](){
server.send(200, "text/html", html); // Ausgabe der HTML-Seite
digitalWrite(LED_BUILTIN, LOW); // LED einschalten
});
// LED ausschlten URL
server.on("/led_aus", [](){
server.send(200, "text/html", html); // Ausgabe der HTML-Seite
digitalWrite(LED_BUILTIN, HIGH); // LED ausschalten
});
server.begin();
}


void loop() {
server.handleClient(); // Webserver abfragen
}