добавил возможность отключать веб сервер

This commit is contained in:
Dmitry Borisenko
2021-12-23 18:18:32 +01:00
parent 667b30dcf9
commit 940a5a7ee9
6 changed files with 33 additions and 8 deletions

View File

@@ -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

View File

@@ -1,4 +1,6 @@
#pragma once
//константы
#include "Const.h"
//внешние глобальные директории
#include <Arduino.h>
@@ -15,18 +17,22 @@
#include <ESP8266httpUpdate.h>
#endif
#ifdef ACYNC_WEB_SERVER
#include <ESPAsyncWebServer.h>
#endif
#include <FS.h>
//внутренние глобальные директории проекта
#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;

View File

@@ -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

View File

@@ -2,7 +2,9 @@
//глобальные объекты классов
TickerScheduler ts(MYTEST + 1);
#ifdef ACYNC_WEB_SERVER
AsyncWebServer server(80);
#endif
//глобальные переменные
String settingsFlashJson = "{}"; //переменная в которой хранятся все настройки, находится в оперативной памяти и синхронизированна с flash памятью

View File

@@ -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

View File

@@ -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() {