diff --git a/include/Const.h b/include/Const.h index f92e3ee9..64313658 100644 --- a/include/Const.h +++ b/include/Const.h @@ -4,6 +4,9 @@ #define JSON_BUFFER_SIZE 4096 +#define ACYNC_WEB_SERVER +#define STANDARD_WEB_SERVER + #ifdef esp8266_4mb #define USE_LITTLEFS true #endif diff --git a/include/Global.h b/include/Global.h index 6b06c37a..563784d9 100644 --- a/include/Global.h +++ b/include/Global.h @@ -1,4 +1,6 @@ #pragma once +//константы +#include "Const.h" //внешние глобальные директории #include @@ -15,18 +17,22 @@ #include #endif +#ifdef ACYNC_WEB_SERVER #include +#endif + #include //внутренние глобальные директории проекта -#include "Const.h" #include "Utils/FileUtils.h" #include "Utils/JsonUtils.h" #include "Utils/SerialPrint.h" //глобальные объекты классов extern TickerScheduler ts; +#ifdef ACYNC_WEB_SERVER extern AsyncWebServer server; +#endif //глобальные переменные extern String settingsFlashJson; diff --git a/include/WebServer.h b/include/WebServer.h index ac0b41bf..87629cea 100644 --- a/include/WebServer.h +++ b/include/WebServer.h @@ -1,10 +1,10 @@ #pragma once - #include "Global.h" - +#ifdef ACYNC_WEB_SERVER extern AsyncWebSocket ws; extern AsyncEventSource events; void webServerInit(); void webSocketsInit(); void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type, void *arg, uint8_t *data, size_t len); +#endif diff --git a/src/Global.cpp b/src/Global.cpp index e351ffd8..faea78d3 100644 --- a/src/Global.cpp +++ b/src/Global.cpp @@ -2,7 +2,9 @@ //глобальные объекты классов TickerScheduler ts(MYTEST + 1); +#ifdef ACYNC_WEB_SERVER AsyncWebServer server(80); +#endif //глобальные переменные String settingsFlashJson = "{}"; //переменная в которой хранятся все настройки, находится в оперативной памяти и синхронизированна с flash памятью diff --git a/src/WebServer.cpp b/src/WebServer.cpp index f5c3db3c..9c86f775 100644 --- a/src/WebServer.cpp +++ b/src/WebServer.cpp @@ -1,5 +1,5 @@ #include "WebServer.h" - +#ifdef ACYNC_WEB_SERVER AsyncWebSocket ws("/ws"); AsyncEventSource events("/events"); @@ -12,6 +12,11 @@ void webServerInit() { // server.addHandler(new FSEditor(login, pass)); #endif +#ifdef CORS_DEBUG + DefaultHeaders::Instance().addHeader(F("Access-Control-Allow-Origin"), F("*")); + DefaultHeaders::Instance().addHeader(F("Access-Control-Allow-Headers"), F("content-type")); +#endif + server.serveStatic("/css/", FileFS, "/css/").setCacheControl("max-age=600"); server.serveStatic("/js/", FileFS, "/js/").setCacheControl("max-age=600"); server.serveStatic("/favicon.ico", FileFS, "/favicon.ico").setCacheControl("max-age=600"); @@ -35,6 +40,8 @@ void webServerInit() { } }); + //Обработка гет запросов + // динамические данные // server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest *request) { // request->send(200, "application/json", configLiveJson); @@ -145,3 +152,4 @@ void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventTyp } } } +#endif diff --git a/src/main.cpp b/src/main.cpp index 5140cc6d..63111c10 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,11 +12,11 @@ void setup() { //синхронизация глобальных переменных с flash globalVarsSync(); - //инициализация асинхронного веб сервера +//инициализация асинхронного веб сервера и веб сокетов +#ifdef ACYNC_WEB_SERVER webServerInit(); - - //инициализация веб сокетов асинхронного веб сервера webSocketsInit(); +#endif //подключаемся к роутеру routerConnect(); @@ -26,7 +26,13 @@ void setup() { // 22.12.21 запустил wifi остаток = 48.59 kB // 22.12.21 добавил асинхронный веб сервер = 38.36 kB // 22.12.21 добавил web sockets = 37.63 kB - SerialPrint(F("i"), F("HEAP"), prettyBytes(ESP.getFreeHeap())); + + //создали задачу которая будет выполняться каждые 30 секунд + ts.add( + MYTEST, 1000 * 30, [&](void*) { + SerialPrint(F("i"), F("HEAP"), prettyBytes(ESP.getFreeHeap())); + }, + nullptr, true); } void loop() {