From 9f05eccb26d749a36e5382b391f5bcb88bcbd6dd Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <67171972+IoTManagerProject@users.noreply.github.com> Date: Sat, 22 Jan 2022 00:15:49 +0100 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=B2=D0=B5=D0=B1=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BA=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/StandWebServer.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/StandWebServer.cpp b/src/StandWebServer.cpp index 104dc806..2dee23ab 100644 --- a/src/StandWebServer.cpp +++ b/src/StandWebServer.cpp @@ -13,6 +13,10 @@ void standWebServerInit() { HTTP.send(200, "application/json", settingsFlashJson); }); + HTTP.on("/config.json", HTTP_GET, []() { + HTTP.send(200, "application/json", readFile(F("config.json"), 5096)); + }); + HTTP.on("/restart", HTTP_GET, []() { // ESP.restart(); HTTP.send(200, "text/plain", "ok"); @@ -215,10 +219,8 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) if (payloadStr.startsWith("/config")) { //если прилетел url страницы /config то отправим widgets.json и config.json -#ifdef QUEUE_FROM_STR - // sendFileToWs2("/widgets.json", num); + sendFileToWs4("/widgets.json", num); sendFileToWs4("/config.json", num); -#endif } if (payloadStr.startsWith("/gifnoc.json")) { //если прилетел измененный пакет с меткой /gifnoc (config наоборот) то перепишем файл, пока переписываем целеком @@ -314,31 +316,30 @@ void sendFileToWs2(const String& filename, uint8_t num) { } void sendFileToWs3(const String& filename, uint8_t num) { + standWebSocket.sendTXT(num, "/st" + filename); + size_t ws_buffer = 512; String path = filepath(filename); auto file = FileFS.open(path, "r"); if (!file) { SerialPrint(F("E"), F("FS"), F("reed file error")); } - size_t fileSize = file.size(); - SerialPrint(F("i"), F("WS"), "Send file '" + filename + "', file size: " + String(fileSize)); - String ret; - ret.reserve(file.size() - file.position()); - char temp[256 + 1]; + char temp[ws_buffer + 1]; int countRead = file.readBytes(temp, sizeof(temp) - 1); while (countRead > 0) { temp[countRead] = 0; - ret += temp; + ret = temp; + standWebSocket.sendTXT(num, ret); countRead = file.readBytes(temp, sizeof(temp) - 1); } - - standWebSocket.sendTXT(num, ret); + standWebSocket.sendTXT(num, "/end" + filename); } void sendFileToWs4(const String& filename, uint8_t num) { - size_t ws_buffer = 1024; + standWebSocket.sendTXT(num, "/st" + filename); + size_t ws_buffer = 512; String path = filepath(filename); auto file = FileFS.open(path, "r"); if (!file) { @@ -353,4 +354,5 @@ void sendFileToWs4(const String& filename, uint8_t num) { standWebSocket.sendTXT(num, temp, countRead); countRead = file.readBytes(temp, sizeof(temp) - 1); } + standWebSocket.sendTXT(num, "/end" + filename); }