Add Web server interface
This commit is contained in:
parent
24fd856584
commit
9ebca3698d
1 changed files with 34 additions and 2 deletions
36
src/main.cpp
36
src/main.cpp
|
@ -1,6 +1,7 @@
|
|||
#include <Arduino.h>
|
||||
#include <ArduinoOTA.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ESP8266WebServer.h>
|
||||
|
||||
#define RELAY 4 // GPIO4
|
||||
#define WIFI_NAME "TechInc"
|
||||
|
@ -8,6 +9,10 @@
|
|||
#define HTTP_HOST "google.com"
|
||||
#define HTTP_PORT (80)
|
||||
|
||||
ESP8266WebServer server(80);
|
||||
String header;
|
||||
boolean automatic = true;
|
||||
|
||||
// ----- //
|
||||
// Setup //
|
||||
// ----- //
|
||||
|
@ -49,6 +54,30 @@ void setupOTA()
|
|||
ArduinoOTA.begin();
|
||||
}
|
||||
|
||||
void webSetup() {
|
||||
server.on("/", []() {
|
||||
server.send(200, "text/plain", "Welcome to the Internet.\n\nAndroidOTA is working, on default port 8266\n\nWeb stuff\n-----------\n/auto turns it into automatic mode (determined by Internet)\n/off turns it off\n/on turns it on");
|
||||
});
|
||||
server.on("/on", []() {
|
||||
server.send(200, "text/plain", "lights on");
|
||||
automatic = false;
|
||||
relayOn();
|
||||
});
|
||||
|
||||
server.on("/off", []() {
|
||||
server.send(200, "text/plain", "lights off");
|
||||
automatic = false;
|
||||
relayOff();
|
||||
});
|
||||
|
||||
server.on("/auto", []() {
|
||||
server.send(200, "text/plain", "automatic mode");
|
||||
automatic = true;
|
||||
});
|
||||
|
||||
server.begin();
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
|
@ -59,6 +88,7 @@ void setup()
|
|||
relayOff();
|
||||
ensureWiFiConnection();
|
||||
setupOTA();
|
||||
webSetup();
|
||||
}
|
||||
|
||||
// ----- //
|
||||
|
@ -68,14 +98,14 @@ void setup()
|
|||
void relayOn()
|
||||
{
|
||||
Serial.println("Lights on");
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
digitalWrite(RELAY, HIGH);
|
||||
}
|
||||
|
||||
void relayOff()
|
||||
{
|
||||
Serial.println("Lights off");
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
digitalWrite(RELAY, LOW);
|
||||
}
|
||||
|
||||
|
@ -118,6 +148,7 @@ bool pingHTTP()
|
|||
|
||||
void testInternet()
|
||||
{
|
||||
if(!automatic) return;
|
||||
if(pingHTTP()) {
|
||||
Serial.println("Internet is up");
|
||||
relayOn();
|
||||
|
@ -134,5 +165,6 @@ void loop()
|
|||
for(size_t i = 0; i < 5; i++) {
|
||||
ArduinoOTA.handle();
|
||||
delay(1000);
|
||||
server.handleClient();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue