Closes #25 Adding captive Portal to example

This commit is contained in:
Lukas Bachschwell 2018-11-26 17:02:08 +01:00
parent 8fa4456fa3
commit 870e8a06a2
2 changed files with 78 additions and 66 deletions

3
.gitignore vendored
View File

@ -33,3 +33,6 @@ Temporary Items
# Backup files produced by some editors # Backup files produced by some editors
*~ *~
*.bak *.bak
.vscode/

View File

@ -1,9 +1,14 @@
#include <DNSServer.h>
#include <ESPUI.h> #include <ESPUI.h>
const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);
DNSServer dnsServer;
#if defined(ESP32) #if defined(ESP32)
#include <WiFi.h> #include <WiFi.h>
#else #else
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#endif #endif
const char *ssid = "ESPUI"; const char *ssid = "ESPUI";
@ -12,65 +17,63 @@ const char *password = "";
long oldTime = 0; long oldTime = 0;
bool switchi = false; bool switchi = false;
void slider(Control sender, int type) { void slider(Control sender, int type) { Serial.println(sender.value); }
Serial.println(sender.value);
}
void buttonCallback(Control sender, int type) { void buttonCallback(Control sender, int type) {
switch (type) { switch (type) {
case B_DOWN: case B_DOWN:
Serial.println("Button DOWN"); Serial.println("Button DOWN");
break; break;
case B_UP: case B_UP:
Serial.println("Button UP"); Serial.println("Button UP");
break; break;
} }
} }
void buttonExample(Control sender, int type) { void buttonExample(Control sender, int type) {
switch (type) { switch (type) {
case B_DOWN: case B_DOWN:
Serial.println("Status: Start"); Serial.println("Status: Start");
ESPUI.print(0, "Status: Start"); ESPUI.print(0, "Status: Start");
break; break;
case B_UP: case B_UP:
Serial.println("Status: Stop"); Serial.println("Status: Stop");
ESPUI.print(0, "Status: Stop"); ESPUI.print(0, "Status: Stop");
break; break;
} }
} }
void padExample(Control sender, int value) { void padExample(Control sender, int value) {
switch (value) { switch (value) {
case P_LEFT_DOWN: case P_LEFT_DOWN:
Serial.print("left down"); Serial.print("left down");
break; break;
case P_LEFT_UP: case P_LEFT_UP:
Serial.print("left up"); Serial.print("left up");
break; break;
case P_RIGHT_DOWN: case P_RIGHT_DOWN:
Serial.print("right down"); Serial.print("right down");
break; break;
case P_RIGHT_UP: case P_RIGHT_UP:
Serial.print("right up"); Serial.print("right up");
break; break;
case P_FOR_DOWN: case P_FOR_DOWN:
Serial.print("for down"); Serial.print("for down");
break; break;
case P_FOR_UP: case P_FOR_UP:
Serial.print("for up"); Serial.print("for up");
break; break;
case P_BACK_DOWN: case P_BACK_DOWN:
Serial.print("back down"); Serial.print("back down");
break; break;
case P_BACK_UP: case P_BACK_UP:
Serial.print("back up"); Serial.print("back up");
break; break;
case P_CENTER_DOWN: case P_CENTER_DOWN:
Serial.print("center down"); Serial.print("center down");
break; break;
case P_CENTER_UP: case P_CENTER_UP:
Serial.print("center up"); Serial.print("center up");
break; break;
} }
Serial.print(" "); Serial.print(" ");
Serial.println(sender.id); Serial.println(sender.id);
@ -78,12 +81,12 @@ void padExample(Control sender, int value) {
void switchExample(Control sender, int value) { void switchExample(Control sender, int value) {
switch (value) { switch (value) {
case S_ACTIVE: case S_ACTIVE:
Serial.print("Active:"); Serial.print("Active:");
break; break;
case S_INACTIVE: case S_INACTIVE:
Serial.print("Inactive"); Serial.print("Inactive");
break; break;
} }
Serial.print(" "); Serial.print(" ");
Serial.println(sender.id); Serial.println(sender.id);
@ -91,12 +94,12 @@ void switchExample(Control sender, int value) {
void otherSwitchExample(Control sender, int value) { void otherSwitchExample(Control sender, int value) {
switch (value) { switch (value) {
case S_ACTIVE: case S_ACTIVE:
Serial.print("Active:"); Serial.print("Active:");
break; break;
case S_INACTIVE: case S_INACTIVE:
Serial.print("Inactive"); Serial.print("Inactive");
break; break;
} }
Serial.print(" "); Serial.print(" ");
Serial.println(sender.id); Serial.println(sender.id);
@ -105,12 +108,14 @@ void otherSwitchExample(Control sender, int value) {
void setup(void) { void setup(void) {
Serial.begin(115200); Serial.begin(115200);
WiFi.mode(WIFI_AP); WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
/*
#if defined(ESP32) #if defined(ESP32)
WiFi.setHostname(ssid); WiFi.setHostname(ssid);
#else #else
WiFi.hostname(ssid); WiFi.hostname(ssid);
#endif #endif
*/
WiFi.softAP(ssid); WiFi.softAP(ssid);
// WiFi.softAP(ssid, password); // WiFi.softAP(ssid, password);
@ -146,16 +151,20 @@ void setup(void) {
/* /*
.begin loads and serves all files from PROGMEM directly. .begin loads and serves all files from PROGMEM directly.
If you want to serve the files from SPIFFS use .beginSPIFFS (.prepareFileSystem has to be run in an empty sketch before) If you want to serve the files from SPIFFS use .beginSPIFFS
(.prepareFileSystem has to be run in an empty sketch before)
*/ */
dnsServer.start(DNS_PORT, "*", apIP);
ESPUI.begin("ESPUI Control"); ESPUI.begin("ESPUI Control");
} }
void loop(void) { void loop(void) {
dnsServer.processNextRequest();
if (millis() - oldTime > 5000) { if (millis() - oldTime > 5000) {
ESPUI.print("Millis:", String(millis())); ESPUI.print("Millis:", String(millis()));
switchi = !switchi; switchi = !switchi;
ESPUI.updateSwitcher("Switch one", switchi); ESPUI.updateSwitcher("Switch one", switchi);
oldTime = millis(); oldTime = millis();
} }
} }