作者:爱心永溢真情永远 | 来源:互联网 | 2023-01-30 23:52
1> K Scandrett..:
选项1:
最简单的方法是通过将页面添加到来要求页面每5秒刷新一次
:
sHTML +="";
然后更改您的sHTML
字符串以连接全局变量的值。每次页面刷新时,它将(应该)重建html并返回最新值。
选项2:
您可以使用ajax来获取最新值,然后经常更新显示数据的网页的一小部分。
这里发生的是您将ESP32设置为提供第二个URL,该URL仅作为json对象返回最新值。然后将这些值注入页面,覆盖旧的页面。
首先在中添加指向jQuery的链接
:
sHTML +="";
在具有ID 的
添加项spans
中保存要更新的值。就像是:
sHTML+= "Messwerte
";
sHTML+="Analoger Pin 36
";
sHTML+="Analoger Pin 39
";
sHTML+="Analoger Pin 5
";
sHTML
为以下每5秒发出ajax请求的Javascript 创建,并在浏览器中更新最新值:
sHTML +="";
当您检测到其中的字符串时/sensors
,sHTMLRequest
您想要返回以下json格式:
{"pin36": 5.2, "pin39": 0.322, "pin5": 1}
在这一点上,我对您的设置知之甚少,无法提供更多建议,但是这些链接有望对C代码有所帮助:http : //www.iotsharing.com/2017/05/how-to-turn-esp32 -into-web-server.html和http://randomnerdtutorials.com/esp32-web-server-arduino-ide/
如果您ESP32WebServer.h
从https://github.com/nhatuan84/esp32-webserver使用(请参阅http://www.iotsharing.com/2017/05/how-to-turn-esp32-into-web-server的下半部分。 html以获取更多详细信息),则可以使用以下方法:
server.on("/sensors", handleSensorData);
与
/* this callback will be invoked when user request "/sensors" */
void handleSensorData() {
/* server responds 200 with a json payload */
/* although preferably concatenate your real sensor data here */
server.send(200, "application/json", "{\"pin36\": 5.2, \"pin39\": 0.322, \"pin5\": 1}");
}