-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathWEB.ino
71 lines (71 loc) · 2.8 KB
/
WEB.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
void WEB_init(void) {
server.addHandler(new SPIFFSEditor());
server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm");
server.onNotFound([](AsyncWebServerRequest * request) {
request->send(404, "text/plain", "FileNotFound");
});
server.begin();
server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("ssid")) {
configSetup = jsonWrite(configSetup, "ssid", request->arg("ssid"));
}
if (request->hasArg("password")) {
configSetup = jsonWrite(configSetup, "ssidPass", request->arg("password"));
}
request->send(200, "text/plain", "Ok");
saveConfigSetup();
});
server.on("/ssidap", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("ssidAP")) {
configSetup = jsonWrite(configSetup, "ssidAP", request->arg("ssidAP"));
}
if (request->hasArg("passwordAP")) {
configSetup = jsonWrite(configSetup, "passwordAP", request->arg("passwordAP"));
}
request->send(200, "text/plain", "Ok");
saveConfigSetup();
});
server.on("/restart", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasArg("device")) {
if (request->arg("device") == "ok") { // Если значение равно Ок
request->send(200, "text / plain", "Reset OK"); // Oтправляем ответ Reset OK
ESP.restart(); // перезагружаем модуль
}
else { // иначе
request->send(200, "text / plain", "No Reset"); // Oтправляем ответ No Reset
}
}
});
server.on("/config.setup.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/json", configSetup);
});
server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/json", configLive);
});
server.on("/config.options.json", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/json", configOptions);
});
server.on("/wifi.scan.json", HTTP_GET, [](AsyncWebServerRequest * request) {
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.createObject();
JsonArray& networks = json.createNestedArray("networks");
int n = WiFi.scanComplete();
if (n == -2) {
WiFi.scanNetworks(true);
} else if (n) {
for (int i = 0; i < n; i++) {
JsonObject& data = networks.createNestedObject();
data["ssid"] = WiFi.SSID(i);
data["pass"] = (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? "" : "*";
data["dbm"] = WiFi.RSSI(i);
}
WiFi.scanDelete();
if (WiFi.scanComplete() == -2) {
WiFi.scanNetworks(true);
}
}
String root;
json.printTo(root);
request->send(200, "application/json", root);
});
}