Добрый день! Делаю устройство для управления кондиционером, путем эмулирования пульта ДУ кондиционера. На ESP поднят веб-сервер, работающий в локальной сети и mqtt-клиент, подключенный к облачному MQTT-брокеру. В принципе все работает, но есть одна проблема. Когда открыта веб-страница, при изменении параметров кондиционера через mqtt, не обновляется картинка на странице. Сама ESP обрабатывает входящие запросы от веб-клиента посредством обработчиков
server.on("/state", HTTP_GET, handleGetState);
и аналогичных.
Но если изменения состояния кондиционера происходит по mqtt, то эти изменения не отображаются на html-странице. Максимум до чего додумался, добавил setInterval для get-запроса в js на странице и каждую секунду запрашиваю состояние ESP. Но считаю это сделано не по феншую. По логике, ESP должна сама при изменении состояния отправить post-запрос на страницу с обновленными данными. Но в коде библиотеки ESP8266WebServer.h я не нашел методов, которые бы это делали. Возможно необходимо отслеживать, когда подключается веб-клиент к ESP и потом по изменению состояния ESP отправлять запрос с измененными данными. Но такого функционала не нашел. Подскажите, какие есть варианты реализации? Асинхронный веб-сервер и ws не предлагать, так как времени переделки проекта нет. Хотелось реализовать такой функционал с существующей библиотекой. Заранее спасибо!
server.on("/state", HTTP_GET, handleGetState);
и аналогичных.
Но если изменения состояния кондиционера происходит по mqtt, то эти изменения не отображаются на html-странице. Максимум до чего додумался, добавил setInterval для get-запроса в js на странице и каждую секунду запрашиваю состояние ESP. Но считаю это сделано не по феншую. По логике, ESP должна сама при изменении состояния отправить post-запрос на страницу с обновленными данными. Но в коде библиотеки ESP8266WebServer.h я не нашел методов, которые бы это делали. Возможно необходимо отслеживать, когда подключается веб-клиент к ESP и потом по изменению состояния ESP отправлять запрос с измененными данными. Но такого функционала не нашел. Подскажите, какие есть варианты реализации? Асинхронный веб-сервер и ws не предлагать, так как времени переделки проекта нет. Хотелось реализовать такой функционал с существующей библиотекой. Заранее спасибо!