|
|
@ -10,7 +10,7 @@ |
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <FS.h>
|
|
|
|
|
|
|
|
#include <esp_wifi.h>
|
|
|
|
#include <SecuritySettingsService.h>
|
|
|
|
#include <WiFiSettingsService.h>
|
|
|
|
#include <APSettingsService.h>
|
|
|
@ -41,49 +41,58 @@ APStatus apStatus = APStatus(&server, &securitySettingsService); |
|
|
|
SystemStatus systemStatus = SystemStatus(&server, &securitySettingsService);; |
|
|
|
|
|
|
|
void setup() { |
|
|
|
// Disable wifi config persistance and auto reconnect
|
|
|
|
WiFi.persistent(false); |
|
|
|
WiFi.setAutoReconnect(false); |
|
|
|
|
|
|
|
Serial.begin(SERIAL_BAUD_RATE); |
|
|
|
SPIFFS.begin(); |
|
|
|
|
|
|
|
// start security settings service first
|
|
|
|
securitySettingsService.begin(); |
|
|
|
|
|
|
|
// start services
|
|
|
|
ntpSettingsService.begin(); |
|
|
|
otaSettingsService.begin(); |
|
|
|
apSettingsService.begin(); |
|
|
|
wifiSettingsService.begin(); |
|
|
|
|
|
|
|
// Serving static resources from /www/
|
|
|
|
server.serveStatic("/js/", SPIFFS, "/www/js/"); |
|
|
|
server.serveStatic("/css/", SPIFFS, "/www/css/"); |
|
|
|
server.serveStatic("/fonts/", SPIFFS, "/www/fonts/"); |
|
|
|
server.serveStatic("/app/", SPIFFS, "/www/app/"); |
|
|
|
server.serveStatic("/favicon.ico", SPIFFS, "/www/favicon.ico"); |
|
|
|
|
|
|
|
// Serving all other get requests with "/www/index.htm"
|
|
|
|
// OPTIONS get a straight up 200 response
|
|
|
|
server.onNotFound([](AsyncWebServerRequest *request) { |
|
|
|
if (request->method() == HTTP_GET) { |
|
|
|
request->send(SPIFFS, "/www/index.html"); |
|
|
|
} else if (request->method() == HTTP_OPTIONS) { |
|
|
|
request->send(200); |
|
|
|
} else { |
|
|
|
request->send(404); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// Disable CORS if required
|
|
|
|
#if defined(ENABLE_CORS)
|
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", CORS_ORIGIN); |
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "Accept, Content-Type, Authorization"); |
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Credentials", "true"); |
|
|
|
#endif
|
|
|
|
// Disable wifi config persistance and auto reconnect
|
|
|
|
WiFi.persistent(false); |
|
|
|
WiFi.setAutoReconnect(false); |
|
|
|
|
|
|
|
#if defined(ESP_PLATFORM)
|
|
|
|
// Init the wifi driver on ESP32
|
|
|
|
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); |
|
|
|
esp_err_t err = esp_wifi_init(&cfg); |
|
|
|
if(err){ |
|
|
|
log_e("esp_wifi_init %d", err); |
|
|
|
} |
|
|
|
#endif
|
|
|
|
|
|
|
|
server.begin(); |
|
|
|
Serial.begin(SERIAL_BAUD_RATE); |
|
|
|
SPIFFS.begin(); |
|
|
|
|
|
|
|
// Start security settings service first
|
|
|
|
securitySettingsService.begin(); |
|
|
|
|
|
|
|
// Start services
|
|
|
|
ntpSettingsService.begin(); |
|
|
|
otaSettingsService.begin(); |
|
|
|
apSettingsService.begin(); |
|
|
|
wifiSettingsService.begin(); |
|
|
|
|
|
|
|
// Serving static resources from /www/
|
|
|
|
server.serveStatic("/js/", SPIFFS, "/www/js/"); |
|
|
|
server.serveStatic("/css/", SPIFFS, "/www/css/"); |
|
|
|
server.serveStatic("/fonts/", SPIFFS, "/www/fonts/"); |
|
|
|
server.serveStatic("/app/", SPIFFS, "/www/app/"); |
|
|
|
server.serveStatic("/favicon.ico", SPIFFS, "/www/favicon.ico"); |
|
|
|
|
|
|
|
// Serving all other get requests with "/www/index.htm"
|
|
|
|
// OPTIONS get a straight up 200 response
|
|
|
|
server.onNotFound([](AsyncWebServerRequest *request) { |
|
|
|
if (request->method() == HTTP_GET) { |
|
|
|
request->send(SPIFFS, "/www/index.html"); |
|
|
|
} else if (request->method() == HTTP_OPTIONS) { |
|
|
|
request->send(200); |
|
|
|
} else { |
|
|
|
request->send(404); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// Disable CORS if required
|
|
|
|
#if defined(ENABLE_CORS)
|
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", CORS_ORIGIN); |
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "Accept, Content-Type, Authorization"); |
|
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Credentials", "true"); |
|
|
|
#endif
|
|
|
|
|
|
|
|
server.begin(); |
|
|
|
} |
|
|
|
|
|
|
|
void loop() { |
|
|
|