-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathWebInterface.ino
101 lines (89 loc) · 2.73 KB
/
WebInterface.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include "WebInterface.h"
const char* ssid = "********";
const char* password = "********";
ESP8266WebServer server(80);
void showControlScreen(void)
{
String message;
message += "<html>";
message += "<head><meta http-equiv=\"refresh\" content=\"20; url='/\"'><title>EspFire2012 Control</title></head>";
message += "<body>";
message += "<h3><a href=\"https://github.com/krzychb\">EspFire2012</a></h3>";
message += "<form action=\"/\" method=\"get\">";
message += "Brightness <input type=\"text\" name=\"brightness\" size=\"3\" value=\"" + (String) brightness + "\"><input type=\"submit\" value=\"Submit\"> (0-255)";
message += "</form>";
message += "<form action=\"/\" method=\"get\">";
message += "Cooling <input type=\"text\" name=\"cooling\" size=\"3\" value=\"" + (String) cooling + "\"><input type=\"submit\" value=\"Submit\"> (20-100)";
message += "</form>";
message += "<form action=\"/\" method=\"get\">";
message += "Sparking <input type=\"text\" name=\"sparking\" size=\"3\" value=\"" + (String) sparking + "\"><input type=\"submit\" value=\"Submit\"> (50-200)";
message += "</form>";
message += "Based on Fire2012 by <a href=\"https://twitter.com/markkriegsman\">Mark Kriegsman</a>";
message += "</body>";
message += "</html>";
server.send(200, "text/html", message);
}
void handleNotFound(void)
{
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++)
{
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
}
void setupWiFi(void)
{
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void setupWebServer(void)
{
server.on("/", []() {
Serial.print("HTTP REQUEST > ");
for (uint8_t i = 0; i < server.args(); i++)
{
if (server.argName(i) == "brightness")
{
brightness = (byte) server.arg(i).toInt();
}
else if (server.argName(i) == "cooling")
{
cooling = (byte) server.arg(i).toInt();
}
else if (server.argName(i) == "sparking")
{
sparking = (byte) server.arg(i).toInt();
}
else
{
Serial.println("unknown argument! ");
}
Serial.print(server.argName(i));
Serial.print(": ");
Serial.print(server.arg(i));
Serial.print(" > ");
}
Serial.println("done");
showControlScreen();
});
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}