0

我现在正在做一个小项目,使用 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");
}

但不幸的是,它并没有起到作用。

有人可以指导我正确的方向吗?

4

2 回答 2

1

网页端加载到客户端后,是静态的。您交付了一次 HTML,然后关闭了客户端/服务器连接。重写不会将您的新 HTML 代码交付给客户端。

你可以做什么:

使用 AJAX 和 JavaScript 进行某种轮询。例如,让您的网站每 60 秒检查一次更新。

于 2018-06-09T11:34:42.093 回答
0

另一种选择是添加:

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

在你的 html 中。

建议

最好的解决方案应该是带有 javascript 的静态 html 索引页面,它执行对 API 的请求并因此更改页面。

这样,您只需要下载更改并下载整个页面(如果上面有图像,那真是一件坏事)

于 2018-06-26T08:54:05.390 回答