mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
добавил возможность отключать веб сервер
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
//глобальные объекты классов
|
||||
TickerScheduler ts(MYTEST + 1);
|
||||
#ifdef ACYNC_WEB_SERVER
|
||||
AsyncWebServer server(80);
|
||||
#endif
|
||||
|
||||
//глобальные переменные
|
||||
String settingsFlashJson = "{}"; //переменная в которой хранятся все настройки, находится в оперативной памяти и синхронизированна с flash памятью
|
||||
|
||||
@@ -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
|
||||
|
||||
14
src/main.cpp
14
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() {
|
||||
|
||||
Reference in New Issue
Block a user