diff --git a/Kiln_Controller.ino b/Kiln_Controller.ino
index c003237..57bf6b7 100644
--- a/Kiln_Controller.ino
+++ b/Kiln_Controller.ino
@@ -46,17 +46,50 @@ int offTemp = 80;
///// WEB SERVER /////
void handleRoot() {
- server.send(200, "text/html", ""
+ server.send(200, "text/html",
"
Kiln Controller V1
"
- "Page 2"
- "");
+ "Real Time Temperature Readout
"
+ "Temperature Setpoints
"
+ "Configuration
"
+ );
}
-void handlePage2() {
- server.send(200, "text/html", ""
- "Page 2
"
+void handleTemps() {
+ server.send(200, "text/html",
+ "Temperature Readout
"
"Home"
- "");
+ );
+}
+
+void handleSettings() {
+ server.send(200, "text/html",
+ "Settings
"
+ "Home"
+ );
+}
+
+void handleConfig() {
+ server.send(200, "text/html",
+ "Configuration
"
+ "Home"
+ );
+}
+
+void handleNotFound() {
+ String temp = "File Not Found\n\n";
+ temp += "URI: ";
+ temp += server.uri();
+ temp += "\nMethod: ";
+ temp += ( server.method() == HTTP_GET ) ? "GET" : "POST";
+ temp += "\nArguments: ";
+ temp += server.args();
+ temp += "\n";
+
+ for ( uint8_t i = 0; i < server.args(); i++ ) {
+ temp += " " + server.argName ( i ) + ": " + server.arg ( i ) + "\n";
+ }
+
+ server.send ( 404, "text/plain", temp );
}
///// SETUP /////
@@ -100,14 +133,17 @@ void setup() {
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
server.on("/", handleRoot);
- server.on("/page2", handlePage2);
+ server.on("/temps", handleTemps);
+ server.on("/settings", handleSettings);
+ server.on("/config", handleConfig);
+ server.on ("/test.svg", tempGraph);
+ server.onNotFound(handleNotFound);
server.begin();
lcd.clear();
lcd.setCursor(0, 0); lcd.print("SSID: "); lcd.print(ssid);
lcd.setCursor(0, 1); lcd.print("PSWD: "); lcd.print(password);
lcd.setCursor(0, 2); lcd.print("IP : "); lcd.print(myIP);
-
- delay(1000);
+ delay(2000);
// Clear LCD
lcd.setCursor(0, 0);
@@ -138,8 +174,48 @@ void loop() {
lcd.print(" F");
// Heartbeat LED
- digitalWrite(2, LOW);
- delay(100);
- digitalWrite(2, HIGH);
- delay(900);
+ if (WiFi.softAPgetStationNum() == 0) {
+ digitalWrite(2, LOW);
+ delay(100);
+ digitalWrite(2, HIGH);
+ delay(900);
+ } else {
+ digitalWrite(2, LOW);
+ delay(50);
+ digitalWrite(2, HIGH);
+ delay(100);
+ digitalWrite(2, LOW);
+ delay(50);
+ digitalWrite(2, HIGH);
+ delay(800);
+ }
+}
+
+void drawGraph(int xvalues[], int yvalues[], int width, int height, int r, int g, int b) {
+ String out = "";
+ char temp[100];
+
+ sprintf(temp, "\n";
+
+ server.send ( 200, "image/svg+xml", out);
+}
+
+void tempGraph() {
+ int times[] = {1, 2, 3, 4, 5, 6};
+ int temps[] = {1, 2, 3, 1, 5, 3};
+ drawGraph(times, temps, 400, 150, 232, 240, 255);
}