mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
добавил возможность отключать веб сервер
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 памятью
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
12
src/main.cpp
12
src/main.cpp
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user