-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathESP8266_ServerHttp.ino
77 lines (64 loc) · 2.41 KB
/
ESP8266_ServerHttp.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
/*
* Project: DuinoCoinRig
* File: ESP8266_ServerHttp
* Version: 0.1
* Purpose: The local HTTP server for the user front end
* Author: Frank Niggemann
*/
/***********************************************************************************************************************
* Code ServerHttp
**********************************************************************************************************************/
/**
* Initializes the HTTP server part of the software
*/
void serverHttpSetup() {
logMessage("ServerHttp", "serverHttpSetup", "MethodName", "");
SPIFFS.begin();
server.on("/api/status", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/plain", serverHttpApiStatus());
});
server.on("/api/log", HTTP_GET, [](AsyncWebServerRequest * request) {
request->send(200, "text/plain", serverHttpApiLog());
});
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(SPIFFS, "/index.html");
});
server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html");
server.begin();
}
/**
* Returns the current rig status as JSON
*/
String serverHttpApiStatus() {
logMessage("ServerHttp", "serverHttpApiStatus", "MethodName", "");
String apiStatus = "";
if (nodes_online > 0) {
apiStatus += "{";
apiStatus += "\"rig_name\":\""+nameRig+"\",";
apiStatus += "\"rig_ip\":\""+wifiIp+"\",";
apiStatus += "\"user_name\":\""+nameUser+"\",";
apiStatus += "\"pool_address\":\""+serverPoolHost+":"+serverPoolPort+"\",";
apiStatus += "\"up_and_running_since\":\""+String(workingSeconds)+"\",";
apiStatus += "\"balance_first_value\":"+String(balanceFirstValue, 10)+",";
apiStatus += "\"balance_first_timestamp\":"+String(balanceFirstTimestamp)+",";
apiStatus += "\"nodes\":\""+String(nodes_sum)+"\",";
apiStatus += "\"nodes_online\":\""+String(nodes_online)+"\",";
apiStatus += "\"number_of_jobs\":\""+String(jobs_sum)+"\",";
apiStatus += "\"number_of_blocks\":\""+String(jobs_blocks)+"\",";
apiStatus += "\"jobs_good\":\""+String(jobs_good)+"\",";
apiStatus += "\"jobs_bad\":\""+String(jobs_bad)+"\",";
apiStatus += "\"core_details\":[";
// ToDo ...
apiStatus += "]";
apiStatus += "}";
}
return apiStatus;
}
/**
* Returns the log files
*/
String serverHttpApiLog() {
logMessage("ServerHttp", "serverHttpApiLog", "MethodName", "");
String content = "Log";
return content;
}