/
led_server_control.ino
62 lines (47 loc) · 1.04 KB
/
led_server_control.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <ESP8266WiFi.h>
const char* SSID = "NETZWERKNAME";
const char* PSK = "PASSWORT";
WiFiServer server(80);
void setup() {
pinMode(13, OUTPUT);
initWiFi();
}
void loop() {
WiFiClient client = server.available();
if(!client){
return;
}
if(WiFi.status() != WL_CONNECTED){
initWiFi();
}
String request = client.readStringUntil('\r');
client.flush();
if(request==""){
client.stop();
return;
}
//GPIOS schalten
if(request.indexOf("mode=1")>=0){
digitalWrite(13, 1);
}
else if(request.indexOf("mode=0")>=0){
digitalWrite(13, 0);
}
//Ausgabe erzeugen
String output;
output += "<h1>LED schalten</h1>";
output += "<form action=\"\" method=\"GET\">";
output += "<button name=\"mode\" value=\"1\">AN</button>";
output += "<br><br>";
output += "<button name=\"mode\" value=\"0\">AUS</button>";
output += "</form>";
client.print(output);
client.stop();
}
void initWiFi(){
WiFi.begin(SSID, PSK);
while(WiFi.status() != WL_CONNECTED){
delay(500);
}
server.begin();
}