Showing 2 changed files with 195 additions and 154 deletions
+43 -43
my_constants.h
... ...
@@ -1,43 +1,43 @@
1
-#ifndef _MY_CONSTANTS
2
-#define _MY_CONSTANTS
3
-
4
-#define APPVER  "1.0.5"
5
-#define APPNAME "DHT"
6
-const char compile_date[] = APPNAME " v" APPVER " " __DATE__ " " __TIME__; 
7
-const char compile_time[] = __DATE__ " " __TIME__; 
8
-
9
-//Global Switches
10
-#define HAS_DHT
11
-#define USE_MQTT
12
-#define USE_OTA
13
-
14
-#define LED_BUILTIN 2
15
-
16
-/*
17
-#define MAX_RUNNING_TIME 50000 //50s
18
-#define MAX_RUNNING_TIME 100000 //100s
19
-#define MAX_RUNNING_TIME 3600000 //1hour
20
-#define MAX_RUNNING_TIME 7200000 //2hours
21
-#define MAX_RUNNING_TIME 10800000 //3hours
22
-#define MAX_RUNNING_TIME 14400000 //4 hours
23
-#define MAX_RUNNING_TIME 18000000 //5 hours
24
-#define MAX_RUNNING_TIME 21600000 //6 hours
25
-#define MAX_RUNNING_TIME 25200000 //7 hours
26
-#define MAX_RUNNING_TIME 28800000 //8 hours
27
-#define MAX_RUNNING_TIME 32400000 //9 hours
28
-#define MAX_RUNNING_TIME 36000000 //10 hours
29
-#define MAX_RUNNING_TIME 39600000 //11 hours
30
-#define MAX_RUNNING_TIME 43200000 //12 hours
31
-*/
32
-#define MAX_RUNNING_TIME 14400000 //4 hours
33
-#define BLINK_FLASH // Define if you want flash blinking during Wifi connection attempts
34
-//#define UPDATE_PERIOD 30000 // Will cause MQTT reconnect as it is too long
35
-#define UPDATE_PERIOD 20000
36
-long timeSinceLastModeSwitch = 0;
37
-uint32_t countMeasures=0;
38
-
39
-
40
-//#define LOOP_DELAY 10 //Initial Value
41
-#define LOOP_DELAY 100 //Test Value
42
-
43
-#endif //_MY_CONSTANTS
1
+#ifndef _MY_CONSTANTS
2
+#define _MY_CONSTANTS
3
+
4
+#define APPVER  "1.0.6"
5
+#define APPNAME "DHT"
6
+const char compile_date[] = APPNAME " v" APPVER " " __DATE__ " " __TIME__; 
7
+const char compile_time[] = __DATE__ " " __TIME__; 
8
+
9
+//Global Switches
10
+#define HAS_DHT
11
+#define USE_MQTT
12
+#define USE_OTA
13
+
14
+#define LED_BUILTIN 2
15
+
16
+/*
17
+#define MAX_RUNNING_TIME 50000 //50s
18
+#define MAX_RUNNING_TIME 100000 //100s
19
+#define MAX_RUNNING_TIME 3600000 //1hour
20
+#define MAX_RUNNING_TIME 7200000 //2hours
21
+#define MAX_RUNNING_TIME 10800000 //3hours
22
+#define MAX_RUNNING_TIME 14400000 //4 hours
23
+#define MAX_RUNNING_TIME 18000000 //5 hours
24
+#define MAX_RUNNING_TIME 21600000 //6 hours
25
+#define MAX_RUNNING_TIME 25200000 //7 hours
26
+#define MAX_RUNNING_TIME 28800000 //8 hours
27
+#define MAX_RUNNING_TIME 32400000 //9 hours
28
+#define MAX_RUNNING_TIME 36000000 //10 hours
29
+#define MAX_RUNNING_TIME 39600000 //11 hours
30
+#define MAX_RUNNING_TIME 43200000 //12 hours
31
+*/
32
+#define MAX_RUNNING_TIME 14400000 //4 hours
33
+#define BLINK_FLASH // Define if you want flash blinking during Wifi connection attempts
34
+//#define UPDATE_PERIOD 30000 // Will cause MQTT reconnect as it is too long
35
+#define UPDATE_PERIOD 20000
36
+long timeSinceLastModeSwitch = 0;
37
+uint32_t countMeasures=0;
38
+
39
+
40
+//#define LOOP_DELAY 10 //Initial Value
41
+#define LOOP_DELAY 100 //Test Value
42
+
43
+#endif //_MY_CONSTANTS
+152 -111
my_http.h
... ...
@@ -1,111 +1,152 @@
1
-#ifndef _MY_HTTP
2
-#define _MY_HTTP
3
-#include <ESP8266WebServer.h>
4
-
5
-#ifdef USE_OTA
6
-#include "my_ota.h"
7
-#include <ESP8266HTTPUpdateServer.h>
8
-
9
-#define OTAUSER         "admin"    // Set OTA user
10
-#define OTAPASSWORD     "admin"    // Set OTA password
11
-#define OTAPATH         "/ota"// Set path for update
12
-ESP8266HTTPUpdateServer httpUpdater;
13
-#endif //USE_OTA
14
-
15
-#define PORT 80
16
-ESP8266WebServer server(PORT);
17
-
18
-
19
-String message="";
20
-
21
-void handleRoot() {
22
-  unsigned long time = millis()/1000;
23
-  byte mac[6];
24
-  char macStr[6];
25
-  WiFi.macAddress(mac);
26
-  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
27
-  String macStrString=macStr;
28
-  message = "";
29
-  message += "<!DOCTYPE HTML><html>";
30
-  message += "<head>";
31
-  message += "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">";
32
-  message += "  <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.7.2/css/all.css\" integrity=\"sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr\" crossorigin=\"anonymous\">";
33
-  message += "  <title>esp8266-"+macStrString+"</title>";
34
-  message += "<style>";
35
-  message += "html{font-family:Arial;display:inline-block;margin:0px auto;text-align:center;}";
36
-  message += "h2{font-size:2.0rem;}";
37
-  message += "p{font-size:3.0rem;}";
38
-  message += ".app {font-size:0.8rem;font-style: italic;}";
39
-  message += ".dht-labels{font-size:1.5rem;vertical-align:middle;padding-bottom:15px;}";
40
-  message += "</style>";
41
-  message += "</head>";
42
-  message += "<body>";
43
-  message += "<h2>esp8266-"+macStrString+"</h2>";
44
-  message += "<p><i class=\"fas fa-thermometer-half\" style=\"color:#059e8a;\"></i><span class=\"dht-labels\">Temperature</span> <span id=\"temperature\">"+String(readDHTTemperature())+"</span><sup class=\"units\">&deg;C</sup></p>";
45
-  message += "<p><i class=\"fas fa-tint\" style=\"color:#00add6;\"></i><span class=\"dht-labels\">Humidity</span> <span id=\"temperature\">"+String(readDHTHumidity())+"</span><sup class=\"units\">%</sup></p>";
46
-  message += "<p><i class=\"fas fa-clock\" style=\"color:#00add6;\"></i><span class=\"dht-labels\">Date</span> <span id=\"temperature\">"+String(acTimeString)+"</span></p>";
47
-  message += "<div class=\"app\">"+String(compile_date)+"</div>";
48
-  message += "</body></html>";
49
-  server.send(200, "text/html", message );
50
-}
51
-void handleT() {
52
-  server.send(200, "text/html", String(readDHTTemperature()) );
53
-}
54
-void handleH() {
55
-  server.send(200, "text/html", String(readDHTHumidity()) );
56
-}
57
-void handleS() {
58
-  byte mac[6];
59
-  char macStr[6];
60
-  WiFi.macAddress(mac);
61
-  //float vccVolt = ((float)ESP.getVcc())/1024;
62
-  float vccVolt = (float)ESP.getVcc();
63
-  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
64
-  String statusMsg = "{";
65
-  statusMsg += "\"app_name\": \""+String(APPNAME)+"\",";
66
-  statusMsg += "\"app_version\": \""+String(APPVER)+"\",";
67
-  statusMsg += "\"build_date\": \""+String(compile_time)+"\",";
68
-  statusMsg += "\"mac\": \""+WiFi.macAddress()+"\",";
69
-  statusMsg += "\"ip\": \""+WiFiIP+"\",";
70
-  statusMsg += "\"ota_name\": \"esp8266-"+String(macStr)+"\",";
71
-  statusMsg += "\"uptime\": "+String(millis())+",";
72
-  statusMsg += "\"countMeasures\": "+String(countMeasures)+",";
73
-  statusMsg += "\"period\": "+String(UPDATE_PERIOD)+",";
74
-  statusMsg += "\"loop_delay\": "+String(LOOP_DELAY)+",";
75
-  statusMsg += "\"vcc\": "+String(vccVolt)+",";
76
-  statusMsg += "\"last_update\": \""+String(acTimeStringTZ)+"\"";
77
-  statusMsg += "}";
78
-  server.send(200, "text/html", String(statusMsg) );
79
-}
80
-
81
-void handleNotFound() {
82
-  String message = "File Not Found\n\n";
83
-  message += "URI: ";
84
-  message += server.uri();
85
-  message += "\nMethod: ";
86
-  message += (server.method() == HTTP_GET) ? "GET" : "POST";
87
-  message += "\nArguments: ";
88
-  message += server.args();
89
-  message += "\n";
90
-
91
-  for (uint8_t i = 0; i < server.args(); i++) {
92
-    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
93
-  }
94
-  server.send(404, "text/plain", message);
95
-}
96
-
97
-
98
-void http_set() {
99
-  server.on("/", handleRoot);
100
-  server.on("/temperature", handleT);
101
-  server.on("/humidity", handleH);
102
-  server.on("/status", handleS);
103
-  server.onNotFound(handleNotFound);
104
-  server.begin();
105
-
106
-#ifdef USE_OTA
107
-  //httpUpdater.setup(&server, OTAPATH, OTAUSER, OTAPASSWORD);
108
-  httpUpdater.setup(&server, OTAPATH, OTAUSER, WiFi.macAddress().c_str());
109
-#endif //USE_OTA
110
-}
111
-#endif //_MY_HTTP
1
+#ifndef _MY_HTTP
2
+#define _MY_HTTP
3
+#include <ESP8266WebServer.h>
4
+
5
+#ifdef USE_OTA
6
+#include "my_ota.h"
7
+#include <ESP8266HTTPUpdateServer.h>
8
+
9
+#define OTAUSER         "admin"    // Set OTA user
10
+#define OTAPASSWORD     "admin"    // Set OTA password
11
+#define OTAPATH         "/ota"// Set path for update
12
+ESP8266HTTPUpdateServer httpUpdater;
13
+#endif //USE_OTA
14
+
15
+#define PORT 80
16
+ESP8266WebServer server(PORT);
17
+
18
+
19
+String message="";
20
+
21
+void handleRoot() {
22
+  unsigned long time = millis()/1000;
23
+  byte mac[6];
24
+  char macStr[6];
25
+  WiFi.macAddress(mac);
26
+  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
27
+  String macStrString=macStr;
28
+  message = "";
29
+  message += "<!DOCTYPE HTML><html>";
30
+  message += "<head>";
31
+  message += "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">";
32
+  message += "  <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.7.2/css/all.css\" integrity=\"sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr\" crossorigin=\"anonymous\">";
33
+  message += "  <title>esp8266-"+macStrString+"</title>";
34
+  message += "<style>";
35
+  message += "html{font-family:Arial;display:inline-block;margin:0px auto;text-align:center;}";
36
+  message += "h2{font-size:2.0rem;}";
37
+  message += "p{font-size:3.0rem;}";
38
+  message += "ul {list-style-type: none; margin: 0; padding: 0;text-align: left;}";
39
+  message += "li {list-style-type: none; margin: 0; padding: 0;text-align: left;}";
40
+  message += ".app {font-size:0.8rem;font-style: italic;}";
41
+  message += ".dht-labels{font-size:1.5rem;vertical-align:middle;padding-bottom:15px;}";
42
+  message += "</style>";
43
+  message += "</head>";
44
+  message += "<body>";
45
+  message += "<h2>esp8266-"+macStrString+"</h2>";
46
+  message += "<p><i class=\"fas fa-thermometer-half\" style=\"color:#059e8a;\"></i><span class=\"dht-labels\">Temperature</span> <span id=\"temperature\">"+String(readDHTTemperature())+"</span><sup class=\"units\">&deg;C</sup></p>";
47
+  message += "<p><i class=\"fas fa-tint\" style=\"color:#00add6;\"></i><span class=\"dht-labels\">Humidity</span> <span id=\"temperature\">"+String(readDHTHumidity())+"</span><sup class=\"units\">%</sup></p>";
48
+  message += "<p><i class=\"fas fa-clock\" style=\"color:#00add6;\"></i><span class=\"dht-labels\">Date</span> <span id=\"temperature\">"+String(acTimeString)+"</span></p>";
49
+  message += "<div class=\"app\">"+String(compile_date)+"</div>";
50
+  message += "<ul class=\"links\">";
51
+  message += "<li><a href=\"/status\">/status</li>";
52
+  message += "<li><a href=\"/ota\">/ota</li>";
53
+  message += "<li><a href=\"/json\">/json</li>";
54
+  message += "<li><a href=\"/csv\">/csv</li>";
55
+  message += "</ul>";
56
+  message += "</body></html>";
57
+  server.send(200, "text/html", message );
58
+}
59
+void handleT() {
60
+  server.send(200, "text/html", String(readDHTTemperature()) );
61
+}
62
+void handleH() {
63
+  server.send(200, "text/html", String(readDHTHumidity()) );
64
+}
65
+void handleJSON() {
66
+  byte mac[6];
67
+  char macStr[6];
68
+  WiFi.macAddress(mac);
69
+  float vccVolt = (float)ESP.getVcc();
70
+  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
71
+  String statusMsg = "{";
72
+  statusMsg += "\"ota_name\": \"esp8266-"+String(macStr)+"\",";
73
+  statusMsg += "\"uptime\": "+String(millis())+",";
74
+  statusMsg += "\"countMeasures\": "+String(countMeasures)+",";
75
+  statusMsg += "\"vcc\": "+String(vccVolt)+",";
76
+  statusMsg += "\"temperature\": "+String(readDHTTemperature())+",";
77
+  statusMsg += "\"humidity\": "+String(readDHTHumidity())+",";
78
+  statusMsg += "\"last_update\": \""+String(acTimeStringTZ)+"\"";
79
+  statusMsg += "}";
80
+  server.send(200, "text/html", String(statusMsg) );
81
+}
82
+void handleCSV() {
83
+  byte mac[6];
84
+  char macStr[6];
85
+  WiFi.macAddress(mac);
86
+  float vccVolt = (float)ESP.getVcc();
87
+  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
88
+  String statusMsg = "esp8266-"+String(macStr)+",";
89
+  statusMsg += String(millis())+",";
90
+  statusMsg += String(countMeasures)+",";
91
+  statusMsg += String(vccVolt)+",";
92
+  statusMsg += String(readDHTTemperature())+",";
93
+  statusMsg += String(readDHTHumidity())+",";
94
+  statusMsg += String(acTimeStringTZ)+",";
95
+  server.send(200, "text/html", String(statusMsg) );
96
+}
97
+void handleSTATUS() {
98
+  byte mac[6];
99
+  char macStr[6];
100
+  WiFi.macAddress(mac);
101
+  float vccVolt = (float)ESP.getVcc();
102
+  sprintf(macStr,"%02x%02x%02x", mac[3], mac[4], mac[5]);
103
+  String statusMsg = "{";
104
+  statusMsg += "\"app_name\": \""+String(APPNAME)+"\",";
105
+  statusMsg += "\"app_version\": \""+String(APPVER)+"\",";
106
+  statusMsg += "\"build_date\": \""+String(compile_time)+"\",";
107
+  statusMsg += "\"mac\": \""+WiFi.macAddress()+"\",";
108
+  statusMsg += "\"ip\": \""+WiFiIP+"\",";
109
+  statusMsg += "\"ota_name\": \"esp8266-"+String(macStr)+"\",";
110
+  statusMsg += "\"uptime\": "+String(millis())+",";
111
+  statusMsg += "\"countMeasures\": "+String(countMeasures)+",";
112
+  statusMsg += "\"period\": "+String(UPDATE_PERIOD)+",";
113
+  statusMsg += "\"loop_delay\": "+String(LOOP_DELAY)+",";
114
+  statusMsg += "\"vcc\": "+String(vccVolt)+",";
115
+  statusMsg += "\"last_update\": \""+String(acTimeStringTZ)+"\"";
116
+  statusMsg += "}";
117
+  server.send(200, "text/html", String(statusMsg) );
118
+}
119
+
120
+void handleNotFound() {
121
+  String message = "File Not Found\n\n";
122
+  message += "URI: ";
123
+  message += server.uri();
124
+  message += "\nMethod: ";
125
+  message += (server.method() == HTTP_GET) ? "GET" : "POST";
126
+  message += "\nArguments: ";
127
+  message += server.args();
128
+  message += "\n";
129
+
130
+  for (uint8_t i = 0; i < server.args(); i++) {
131
+    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
132
+  }
133
+  server.send(404, "text/plain", message);
134
+}
135
+
136
+
137
+void http_set() {
138
+  server.on("/", handleRoot);
139
+  server.on("/temperature", handleT);
140
+  server.on("/humidity", handleH);
141
+  server.on("/status", handleSTATUS);
142
+  server.on("/json", handleJSON);
143
+  server.on("/csv", handleCSV);
144
+  server.onNotFound(handleNotFound);
145
+  server.begin();
146
+
147
+#ifdef USE_OTA
148
+  //httpUpdater.setup(&server, OTAPATH, OTAUSER, OTAPASSWORD);
149
+  httpUpdater.setup(&server, OTAPATH, OTAUSER, WiFi.macAddress().c_str());
150
+#endif //USE_OTA
151
+}
152
+#endif //_MY_HTTP