我正在使用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 :(得分:1)
在客户端加载webside后,它是静态的。您交付了一次HTML,之后关闭了客户端/服务器连接。重写不会将新的HTML代码传递给客户。
你能做什么:
使用AJAX和JavaScript进行某种轮询。例如,让您的网站每60秒检查一次更新。
答案 1 :(得分:0)
另一个选择是添加:
<script>setInterval(function(){location.reload();},1000)</script>
在您的html中。
建议
最好的解决方案应该是静态html索引页面 使用JavaScript执行对API的请求并相应地更改页面。
通过这种方式,您只需要下载更改就可以下载整个页面(如果上面有图像,那真是一件坏事)