1
0
mirror of https://github.com/s00500/ESPUI.git synced 2024-11-23 10:50:54 +00:00

Updated Demo for changes in the API

updated the gui.ino to reflect the changes in the API:
* reformated/reindented, minor cleanups
* instantation of ESPUI in the users application
* automatic swichtover to station mode if given network is not found
This commit is contained in:
Christian Riggenbach 2019-03-03 21:17:49 +01:00
parent 8865416331
commit e542ce0178

View File

@ -11,23 +11,34 @@ DNSServer dnsServer;
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#endif #endif
// true for verbose, false for quiet
ESPUIClass ESPUI( Verbosity::VerboseJSON );
const char* ssid = "ESPUI"; const char* ssid = "ESPUI";
const char *password = ""; const char* password = "espui";
const char* hostname = "EspuiTest";
long oldTime = 0; long oldTime = 0;
bool switchi = false; bool switchi = false;
void numberCall(Control sender, int type) { Serial.println(sender.value); } void numberCall( Control sender, int type ) {
Serial.println( sender.value );
}
void textCall(Control sender, int type) { Serial.println(sender.value); } void textCall( Control sender, int type ) {
Serial.println( sender.value );
}
void slider(Control sender, int type) { Serial.println(sender.value); } void slider( Control sender, int type ) {
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;
@ -40,6 +51,7 @@ void buttonExample(Control sender, int type) {
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" );
@ -51,34 +63,44 @@ void padExample(Control sender, int 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 );
} }
@ -88,10 +110,12 @@ void switchExample(Control sender, int 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 );
} }
@ -101,46 +125,64 @@ void otherSwitchExample(Control sender, int 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 );
} }
void setup( void ) { void setup( void ) {
Serial.begin( 115200 ); Serial.begin( 115200 );
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
/*
#if defined(ESP32) #if defined(ESP32)
WiFi.setHostname(ssid); WiFi.setHostname( hostname );
#else #else
WiFi.hostname(ssid); WiFi.hostname( hostname );
#endif #endif
*/
WiFi.softAP(ssid); // try to connect to existing network
// WiFi.softAP(ssid, password);
Serial.println("");
Serial.print("IP address: ");
Serial.println(WiFi.softAPIP());
// change the beginning to this if you want to join an existing network
/*
Serial.begin(115200);
WiFi.begin( ssid, password ); WiFi.begin( ssid, password );
Serial.println(""); Serial.print( "\n\nTry to connect to existing network" );
// Wait for connection
while (WiFi.status() != WL_CONNECTED) { {
uint8_t timeout = 5;
// Wait for connection, 2.5s timeout
do {
delay( 500 ); delay( 500 );
Serial.print( "." ); Serial.print( "." );
timeout--;
} while ( timeout && WiFi.status() != WL_CONNECTED );
// not connected -> create hotspot
if ( WiFi.status() != WL_CONNECTED ) {
Serial.print( "\n\nCreating hotspot" );
WiFi.mode( WIFI_AP );
WiFi.softAPConfig( apIP, apIP, IPAddress( 255, 255, 255, 0 ) );
WiFi.softAP( ssid );
timeout = 5;
do {
delay( 500 );
Serial.print( "." );
timeout--;
} while ( timeout );
} }
Serial.println(""); }
dnsServer.start( DNS_PORT, "*", apIP );
Serial.println( "\n\nWiFi parameters:" );
Serial.print( "Mode: " );
Serial.println( WiFi.getMode() == WIFI_AP ? "Station" : "Client" );
Serial.print( "IP address: " ); Serial.print( "IP address: " );
Serial.println(WiFi.localIP()); Serial.println( WiFi.getMode() == WIFI_AP ? WiFi.softAPIP() : WiFi.localIP() );
*/
ESPUI.label( "Status:", COLOR_TURQUOISE, "Stop" ); ESPUI.label( "Status:", COLOR_TURQUOISE, "Stop" );
ESPUI.label( "Millis:", COLOR_EMERALD, "0" ); ESPUI.label( "Millis:", COLOR_EMERALD, "0" );
@ -156,19 +198,17 @@ void setup(void) {
ESPUI.number( "Numbertest", &numberCall, COLOR_ALIZARIN, 5, 0, 10 ); ESPUI.number( "Numbertest", &numberCall, COLOR_ALIZARIN, 5, 0, 10 );
/* /*
.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 ESPUI.beginSPIFFS * If you want to serve the files from SPIFFS use ESPUI.beginSPIFFS
(.prepareFileSystem has to be run in an empty sketch before) * (.prepareFileSystem has to be run in an empty sketch before)
*/ */
dnsServer.start(DNS_PORT, "*", apIP);
/* /*
* Optionally you can use HTTP BasicAuth. Keep in mind that this is NOT a * Optionally you can use HTTP BasicAuth. Keep in mind that this is NOT a
SECURE way of limiting access. * SECURE way of limiting access.
* Anyone who is able to sniff traffic will be able to intercept your password * Anyone who is able to sniff traffic will be able to intercept your password
since it is transmitted in cleartext ESPUI.begin("ESPUI Control", "myuser", * since it is transmitted in cleartext. Just add a string as username and password,
"mypassword"); * for example begin("ESPUI Control", "username", "password")
*/ */
ESPUI.begin( "ESPUI Control" ); ESPUI.begin( "ESPUI Control" );
} }