Уважаемые посетители сайта esp8266.ru!
Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram
Там человек объясняет реализацию AJAX-запросов. Сама технология неплохая, но если ее использовать для отслеживания изменений состояний датчиков и т.п. на веб морде в реальном времени, то это жуткий костыль. Дело в том, что ajax работает по принципу: клиент делает запрос - сервер отвечает, при...
Веб сокеты подойдут. Но, есть особенность: в библиотеке ESPAsyncWebServer есть ограничение на количество одновременно подключенных клиентов (около 10, точно не помню). Обусловленно это тем, что каждый подключенный клиент - это открытое соединение, что требует выделения памяти. Плюс данной...
#include <ESPAsyncWebServer.h>
#include <SPIFFSEditor.h>
AsyncWebServer server(80);
void setup() {
server.addHandler(new SPIFFSEditor()); //в редактор заходим по адресу [ваш ip]/edit
server.begin();
}
Я не уверен, но не это ли вам нужно? Сам давно не использую, и насколько помню...
Вероятно, нет т.к. в библиотеке это отдельный плагин в библотеке, и он не требует создания экземпляра websocket. К тому же, судя по документации, events source - это односторонняя связь сервер->клиент, а вебсокет подразумевает постоянно открытое соединение и друстороннюю связь сервера с клиентом.
По поводу строки не задавался вопросом, знаю что есть 2 метода: printTo и prettyPrintTo.
По поводу улучшения, я бы советовал изучить документацию по arduinoJson и SPIFFS, за основу кода можно взять пример от автора.
Думаю не стоит выкладывать такой пример, хотя бы потому что:
1. Вы используете JsonBuffer как глобальную переменную, чего автор библиотеки крайне не рекомендует.
2. Зачем файл копировать в String, создавая лишние переменные и динамические выделения в памяти? Не проще ли сразу прочитанный файл...
Ну так я давал ссылку где байтики для JSON считаются, опуститесь чуть ниже, там генерируются готовые примеры по серилизации\десериализации, подставляйте свои переменные и вуаля.
У вас в файле массив с 2 объектами а вы пытаетесь парсить объект.
Я бы сделал веб морду, отправлял туда файл по вебсокету или еще как-нибудь, и таблицы\графики рисовал на клиенте, благо javascript работает с JSON "из коробки".