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

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 JSON_BUFFER_SIZE 4096
#define ACYNC_WEB_SERVER
#define STANDARD_WEB_SERVER
#ifdef esp8266_4mb #ifdef esp8266_4mb
#define USE_LITTLEFS true #define USE_LITTLEFS true
#endif #endif

View File

@@ -1,4 +1,6 @@
#pragma once #pragma once
//константы
#include "Const.h"
//внешние глобальные директории //внешние глобальные директории
#include <Arduino.h> #include <Arduino.h>
@@ -15,18 +17,22 @@
#include <ESP8266httpUpdate.h> #include <ESP8266httpUpdate.h>
#endif #endif
#ifdef ACYNC_WEB_SERVER
#include <ESPAsyncWebServer.h> #include <ESPAsyncWebServer.h>
#endif
#include <FS.h> #include <FS.h>
//внутренние глобальные директории проекта //внутренние глобальные директории проекта
#include "Const.h"
#include "Utils/FileUtils.h" #include "Utils/FileUtils.h"
#include "Utils/JsonUtils.h" #include "Utils/JsonUtils.h"
#include "Utils/SerialPrint.h" #include "Utils/SerialPrint.h"
//глобальные объекты классов //глобальные объекты классов
extern TickerScheduler ts; extern TickerScheduler ts;
#ifdef ACYNC_WEB_SERVER
extern AsyncWebServer server; extern AsyncWebServer server;
#endif
//глобальные переменные //глобальные переменные
extern String settingsFlashJson; extern String settingsFlashJson;

View File

@@ -1,10 +1,10 @@
#pragma once #pragma once
#include "Global.h" #include "Global.h"
#ifdef ACYNC_WEB_SERVER
extern AsyncWebSocket ws; extern AsyncWebSocket ws;
extern AsyncEventSource events; extern AsyncEventSource events;
void webServerInit(); void webServerInit();
void webSocketsInit(); void webSocketsInit();
void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type, void *arg, uint8_t *data, size_t len); 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); TickerScheduler ts(MYTEST + 1);
#ifdef ACYNC_WEB_SERVER
AsyncWebServer server(80); AsyncWebServer server(80);
#endif
//глобальные переменные //глобальные переменные
String settingsFlashJson = "{}"; //переменная в которой хранятся все настройки, находится в оперативной памяти и синхронизированна с flash памятью String settingsFlashJson = "{}"; //переменная в которой хранятся все настройки, находится в оперативной памяти и синхронизированна с flash памятью

View File

@@ -1,5 +1,5 @@
#include "WebServer.h" #include "WebServer.h"
#ifdef ACYNC_WEB_SERVER
AsyncWebSocket ws("/ws"); AsyncWebSocket ws("/ws");
AsyncEventSource events("/events"); AsyncEventSource events("/events");
@@ -12,6 +12,11 @@ void webServerInit() {
// server.addHandler(new FSEditor(login, pass)); // server.addHandler(new FSEditor(login, pass));
#endif #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("/css/", FileFS, "/css/").setCacheControl("max-age=600");
server.serveStatic("/js/", FileFS, "/js/").setCacheControl("max-age=600"); server.serveStatic("/js/", FileFS, "/js/").setCacheControl("max-age=600");
server.serveStatic("/favicon.ico", FileFS, "/favicon.ico").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) { // server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest *request) {
// request->send(200, "application/json", configLiveJson); // 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 //синхронизация глобальных переменных с flash
globalVarsSync(); globalVarsSync();
//инициализация асинхронного веб сервера //инициализация асинхронного веб сервера и веб сокетов
#ifdef ACYNC_WEB_SERVER
webServerInit(); webServerInit();
//инициализация веб сокетов асинхронного веб сервера
webSocketsInit(); webSocketsInit();
#endif
//подключаемся к роутеру //подключаемся к роутеру
routerConnect(); routerConnect();
@@ -26,7 +26,13 @@ void setup() {
// 22.12.21 запустил wifi остаток = 48.59 kB // 22.12.21 запустил wifi остаток = 48.59 kB
// 22.12.21 добавил асинхронный веб сервер = 38.36 kB // 22.12.21 добавил асинхронный веб сервер = 38.36 kB
// 22.12.21 добавил web sockets = 37.63 kB // 22.12.21 добавил web sockets = 37.63 kB
//создали задачу которая будет выполняться каждые 30 секунд
ts.add(
MYTEST, 1000 * 30, [&](void*) {
SerialPrint(F("i"), F("HEAP"), prettyBytes(ESP.getFreeHeap())); SerialPrint(F("i"), F("HEAP"), prettyBytes(ESP.getFreeHeap()));
},
nullptr, true);
} }
void loop() { void loop() {