#include <ESP8266WiFi.h> // Wifi-Bibliothek einbinden
#include <ESP8266WebServer.h> // Webserver Bibliothek einbinden
ESP8266WebServer server(80); // Port festlegen

const char* ssid = "DeineSSID"; // SSID deines Routers
const char* pwd = "DeinPasswort"; // WLan-Passwort deines Routers

//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
WiFi.hostname("Du suchst mich"); // Gerätename im Router bzw. im Netzwerk
WiFi.begin(ssid, pwd); // SSID und Passwort übergeben
Serial.println("Starte WiFi-Verbindung");
while (WiFi.status() !=WL_CONNECTED) // gib Punkte aus bis WLan-Verbindung steht
{ delay(250); Serial.print("."); }
Serial.println(); // Leerzeile
Serial.print("Verbunden über IP: ");
Serial.println(WiFi.localIP()); // gibt die IP aus mit der der ESP8266 am Router angemeldet ist

// 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
}