• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Использование WebServera для наблюдения за процессом в loop

Не могу найти скетча, который бы после загрузки клиентом посредством wifi Web страницы давал клиенту (ПК) автоматически (без использования кнопок или мыши) картину происходящего на плате-сервере. Все, что удалось найти - это управление платой-сервером.
Заранее спасибо за помощь.
 

aZholtikov

Active member
Если имеется ввиду изменение (в зависимости от выполнения программы) Web страницы с ESP8266 на ПК в реальном времени (без принудительного обновления страницы) - посмотрите примеры с WebSocket Protocol.
 
Спасибо! Но совет слишком общий. При запросе PROTOCOL воспринимается только как средство обмена между клиентом и сервером и для структурирования собственно сервера.
 

Ildarmustafin86

Active member
Мне Server Send Events (SSE) больше понравился чем Websocket. У него уже штатно идет переподключение при разрыве связи.
 
При запросе PROTOCOL воспринимается
А при запросе WebSocket что воспринимается?

ps: https://esp8266.ru/forum/threads/esp-websocket-primery.6365/

Мне Server Send Events (SSE) больше понравился чем Websocket.
Любопытная штука, не знал. Правда переподключение в вебсокетах одной рекурсивной строчкой кода реализуется,


JavaScript:
 <script>
        var Socket;

        document.addEventListener('DOMContentLoaded', () => {
          initWebSocket();
          });
        function processReceivedCommand(evt) {
           console.log(evt.data);
        }
        function initWebSocket() {
            console.log('Trying to open a WebSocket connection...');
            Socket = new WebSocket('ws://' + host + ':81');
            Socket.onopen = function (event) {
                console.log("OnOpen");
               
            };
            Socket.onclose = function (event) {
                console.log("OnClose");
                setTimeout(initWebSocket, 100);

            };
            Socket.onerror = function (evt) {
                console.log("Error");
            }
            Socket.onmessage = function (event) {
                processReceivedCommand(event);
            };
        }
    </script>
а вот готовая нумерация сообщений с их автовыдачей это может быть вкусно. Опять таки лишние либы не надо цеплять, ибо веб сервер в сетевых проектах как правило все равно есть хотя-бы для конфигурирования.
 
Сверху Снизу