1. // nodeMCU Amica V2 Modul mit ESP8266 12E
  2. // Board: NodeMCU 1.0 (ESP12E Module) - WiFiWebServer-4
  3.  
  4. #include <ESP8266WiFi.h>
  5. #include <ESP8266WebServer.h>
  6.  
  7. #define ssid "mrge-ap-bu46" // anpassen
  8. #define password "" // anpassen, "" bedeutet kein Password
  9. const byte led1 = D0; // Onboard-LED auf ESP8266
  10.  
  11. ESP8266WebServer server(80);
  12.  
  13. void handleRoot() {
  14. digitalWrite(led, not digitalRead(led));
  15. String info="<h1>Hallo vom ESP8266</h1>";
  16. server.send(200, "text/html; charset=UTF-8", info);
  17. }
  18.  
  19. void ledan() {
  20. digitalWrite(led, LOW);
  21. String info="<h3>Onboard LED ist AN</h3>";
  22. server.send(200, "text/html; charset=UTF-8", info);
  23. }
  24.  
  25. void ledaus() {
  26. digitalWrite(led, HIGH);
  27. String info="<h3>Onboard LED ist AUS</h3>";
  28. server.send(200, "text/html; charset=UTF-8", info);
  29. }
  30.  
  31. int a=10,b=250;
  32. void ledblinken() {
  33. String info="";
  34. info = "<!doctype html> <html> <head> <title>ESP8266-Webserver</title> </head>";
  35. info += "<body> <h3>Blinken auf dem ESP8266</h3> <form method=\"get\">";
  36. info += "Anzahl der Wiederholungen: ";
  37. info += "<input type=\"text\" name=\"a\" value=\""+String(a)+"\" /><br/>";
  38. info += "Dauer einer Periode:";
  39. info += "<input type=\"text\" name=\"b\" value=\""+String(b)+"\" /> ms <br/> ";
  40. info += "<input type=\"submit\" name=\"submit_name\" value=\"Senden\" /> </form>";
  41. info += "</body> </html>";
  42. if (server.args()>0) {
  43. a = server.arg("a").toInt();
  44. b = server.arg("b").toInt();
  45. info += "<h3>Onboard LED blinkt "+server.arg("a")+" Mal mit einer Wartezeit von je ";
  46. info += server.arg("b") + " ms</h3>";
  47. for(int i=0;i<2*a;i++) { digitalWrite(led, not digitalRead(led)); delay(b);};
  48. }
  49. server.send(200, "text/html; charset=UTF-8", info);
  50. }
  51.  
  52. void handleNotFound() {
  53. String info = "<h4>ESP8266-Webserver kann darauf keine Antwort geben!</h4>";
  54. server.send(404, "text/html", info);
  55. }
  56.  
  57. void setup() {
  58. Serial.begin(115200); Serial.println("\nStart: WiFiWebServer-3");
  59. WiFi.mode(WIFI_STA);
  60. pinMode(led,OUTPUT); // Onboard-LED aktivieren
  61. WiFi.begin(ssid, password);
  62. Serial.print("Connecting");
  63. while (WiFi.status() != WL_CONNECTED) {
  64. Serial.print("."); delay(100);
  65. }
  66. Serial.print("\nConnected!");
  67.  
  68. server.on("/", handleRoot);
  69. server.on("/on", ledan);
  70. server.on("/off", ledaus);
  71. server.on("/blink", ledblinken);
  72. server.onNotFound(handleNotFound);
  73.  
  74. server.begin(); Serial.println(" - HTTP server started");
  75. Serial.println("http://" + WiFi.localIP().toString() + "/blink?a=10&b=200");
  76. }
  77.  
  78. void loop() {
  79. server.handleClient();
  80. }
  81.