Я работаю над небольшим проектом в настоящее время, используя 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");
}

Но, к сожалению, это не помогает.

Может ли кто-нибудь направить меня в правильном направлении?

0
AuroraGames 9 Июн 2018 в 14:31

2 ответа

После загрузки веб-сайта на стороне клиента он статичен. Вы доставили HTML один раз, после чего соединение клиент / сервер закрывается. При перезаписи ваш новый HTML-код не доставляется Клиенту.

Что вы могли сделать:

Используйте своего рода опрос с помощью AJAX и JavaScript. Например, пусть ваш веб-сайт проверяет наличие обновлений каждые 60 секунд.

1
Marius Riehl 9 Июн 2018 в 14:34
Я пробовал добавить: , который, как я думал, перезагрузит страницу, но этого не произошло. Не уверен, правильно ли я поместил это или что-то в этом роде, но это не сработало.
 – 
AuroraGames
9 Июн 2018 в 14:40

Другой вариант - добавить:

<script>setInterval(function(){location.reload();},1000)</script>

В вашем html.

Совет

Лучшим решением должна быть статическая страница индекса html с javascript, которая выполняет запросы к API и соответственно изменяет страницу.

Таким образом вам нужно загружать только изменения, а вам всю страницу (очень плохо, если на ней есть изображения)

0
ShellAddicted 26 Июн 2018 в 11:54