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 <Arduino.h>
|
||||||
#include <ArduinoOTA.h>
|
#include <ArduinoOTA.h>
|
||||||
#include <ESP8266WiFi.h>
|
#include <ESP8266WiFi.h>
|
||||||
|
#include <ESP8266WebServer.h>
|
||||||
|
|
||||||
#define RELAY 4 // GPIO4
|
#define RELAY 4 // GPIO4
|
||||||
#define WIFI_NAME "TechInc"
|
#define WIFI_NAME "TechInc"
|
||||||
|
|
@ -8,6 +9,10 @@
|
||||||
#define HTTP_HOST "google.com"
|
#define HTTP_HOST "google.com"
|
||||||
#define HTTP_PORT (80)
|
#define HTTP_PORT (80)
|
||||||
|
|
||||||
|
ESP8266WebServer server(80);
|
||||||
|
String header;
|
||||||
|
boolean automatic = true;
|
||||||
|
|
||||||
// ----- //
|
// ----- //
|
||||||
// Setup //
|
// Setup //
|
||||||
// ----- //
|
// ----- //
|
||||||
|
|
@ -49,6 +54,30 @@ void setupOTA()
|
||||||
ArduinoOTA.begin();
|
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()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
|
|
@ -59,6 +88,7 @@ void setup()
|
||||||
relayOff();
|
relayOff();
|
||||||
ensureWiFiConnection();
|
ensureWiFiConnection();
|
||||||
setupOTA();
|
setupOTA();
|
||||||
|
webSetup();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----- //
|
// ----- //
|
||||||
|
|
@ -68,14 +98,14 @@ void setup()
|
||||||
void relayOn()
|
void relayOn()
|
||||||
{
|
{
|
||||||
Serial.println("Lights on");
|
Serial.println("Lights on");
|
||||||
digitalWrite(LED_BUILTIN, HIGH);
|
digitalWrite(LED_BUILTIN, LOW);
|
||||||
digitalWrite(RELAY, HIGH);
|
digitalWrite(RELAY, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void relayOff()
|
void relayOff()
|
||||||
{
|
{
|
||||||
Serial.println("Lights off");
|
Serial.println("Lights off");
|
||||||
digitalWrite(LED_BUILTIN, LOW);
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
digitalWrite(RELAY, LOW);
|
digitalWrite(RELAY, LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -118,6 +148,7 @@ bool pingHTTP()
|
||||||
|
|
||||||
void testInternet()
|
void testInternet()
|
||||||
{
|
{
|
||||||
|
if(!automatic) return;
|
||||||
if(pingHTTP()) {
|
if(pingHTTP()) {
|
||||||
Serial.println("Internet is up");
|
Serial.println("Internet is up");
|
||||||
relayOn();
|
relayOn();
|
||||||
|
|
@ -134,5 +165,6 @@ void loop()
|
||||||
for(size_t i = 0; i < 5; i++) {
|
for(size_t i = 0; i < 5; i++) {
|
||||||
ArduinoOTA.handle();
|
ArduinoOTA.handle();
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
server.handleClient();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue