Я работаю над небольшим проектом в настоящее время, используя ESP32 и Arduino IDE.
Я настроил базовый интерфейс сервера с помощью нескольких команд client.println
. В основном есть одна кнопка, которая позволяет мне запустить шаговый двигатель. Также подключен ИК-датчик. Я хочу дать пользователю уведомление на открытой странице, как только ИК-датчик подаст сигнал.
Я попытался выполнить печать на серийный монитор в Arduino IDE, чтобы проверить работоспособность датчика, и он там работает. Теперь я думал, что могу просто сделать
if(detection == LOW) {
// Serial.print("obstacle detected\n");
client.println("<strong><font size=(5) color='#ff4f23'>SOME KIND OF MESSAGE</font></strong>");
}
else{
// Serial.print("no obstacle!\n");
}
Но, к сожалению, это не помогает.
Может ли кто-нибудь направить меня в правильном направлении?
2 ответа
После загрузки веб-сайта на стороне клиента он статичен. Вы доставили HTML один раз, после чего соединение клиент / сервер закрывается. При перезаписи ваш новый HTML-код не доставляется Клиенту.
Что вы могли сделать:
Используйте своего рода опрос с помощью AJAX и JavaScript. Например, пусть ваш веб-сайт проверяет наличие обновлений каждые 60 секунд.
Другой вариант - добавить:
<script>setInterval(function(){location.reload();},1000)</script>
В вашем html.
Совет
Лучшим решением должна быть статическая страница индекса html с javascript, которая выполняет запросы к API и соответственно изменяет страницу.
Таким образом вам нужно загружать только изменения, а вам всю страницу (очень плохо, если на ней есть изображения)
Похожие вопросы
Новые вопросы
http
Протокол передачи гипертекста (HTTP) - это сетевой протокол прикладного уровня, который используется для передачи контента в Интернете.