如何更改当前访问过的HTML页面以便用户看到它?

时间:2018-06-09 11:31:05

标签: http server arduino esp32

我正在使用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 个答案:

答案 0 :(得分:1)

在客户端加载webside后,它是静态的。您交付了一次HTML,之后关闭了客户端/服务器连接。重写不会将新的HTML代码传递给客户。

你能做什么:

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

答案 1 :(得分:0)

另一个选择是添加:

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

在您的html中。

建议

最好的解决方案应该是静态html索引页面 使用JavaScript执行对API的请求并相应地更改页面。

通过这种方式,您只需要下载更改就可以下载整个页面(如果上面有图像,那真是一件坏事)