добавил класс стрима массива в сокеты

This commit is contained in:
Dmitry Borisenko
2021-12-24 00:44:11 +01:00
parent d73657d39a
commit 756363397b
12 changed files with 665 additions and 0 deletions

View File

@@ -205,6 +205,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
case WStype_TEXT: {
Serial.printf("[%u] get Text: %s\n", num, payload);
String payloadStr;
payloadStr.reserve(length + 1);
for (size_t i = 0; i < length; i++) {
payloadStr += (char)payload[i];
}
if (payloadStr.startsWith("/config")) {
if (myStreamJsonArray) myStreamJsonArray->sendFile("/config.json", num);
}
// send message to client
// standWebSocket.sendTXT(num, "message here");

25
src/Web.cpp Normal file
View File

@@ -0,0 +1,25 @@
#include "Web.h"
StreamJsonArray::StreamJsonArray() {}
StreamJsonArray::~StreamJsonArray() {}
void StreamJsonArray::sendFile(String path, uint8_t num) {
_path = path;
_num = num;
file = seekFile(path);
// file.find("[");
}
void StreamJsonArray::loop() {
// if (ws.availableForWriteAll()) {
if (file.available()) {
String jsonArrayElement = file.readStringUntil('}') + "}";
// Serial.println(jsonArrayElement);
standWebSocket.sendTXT(_num, jsonArrayElement);
// ws.textAll(jsonArrayElement);
}
//}
}
StreamJsonArray* myStreamJsonArray;

View File

@@ -31,6 +31,8 @@ void setup() {
//подключаемся к роутеру
routerConnect();
myStreamJsonArray = new StreamJsonArray;
//выводим остаток оперативной памяти после старта
// 22.12.21 пустой код без wifi остаток = 50.28 kB
// 22.12.21 запустил wifi остаток = 48.59 kB
@@ -49,6 +51,8 @@ void loop() {
//обновление задач таскера
ts.update();
if (myStreamJsonArray) myStreamJsonArray->loop();
#ifdef STANDARD_WEB_SERVER
HTTP.handleClient();
#endif