更新openwrt Web界面luci中的变量信息

问题描述 投票:0回答:1

Image

从图片中我们看到RSSI的值,lua上有一个代码,并且sh显示该值,脚本sh将一个值写入文件,在lua中,我们将其写入变量文件,并将其分配给标签元素

os.execute('/bin/rssi')
file = io.open("/tmp/rssi", "r");
d:option(DummyValue, "label", "rssi: "..(file:read("*line")));
file:close();

一切正常,但是我想每隔N秒在Web界面中查看信息。感谢您的帮助。

lua openwrt
1个回答
0
投票

这是必须在前端(HTML,JS,PHP)而不是在Lua后端中实现的东西。我不知道这些天孩子们是怎么做的,但是据我所知,您需要根据需要每隔几秒钟使用JavaScript刷新HTML文档的那部分。

其工作方式如下:

  1. 从Chrome / Firefox / Opera / Edge请求网页;
  2. Web服务器打开请求的文件,如果文件是脚本,则脚本运行;
  3. 脚本从系统,数据库等检索数据;

    3.1 Lua脚本运行,为您返回(RSSI的)值;

    3.2脚本用Lua脚本返回的值替换变量;

    3.3脚本返回HTML代码,其中变量已被数据库,系统等中的值替换;

  4. Web服务器通过网络发送数据;

  5. 客户端Web浏览器通常以CSS格式化的HTML文档格式显示数据,并且具有JavaScript交互性和自动活动性。

根据您的情况,您需要这样做:

  1. [客户端浏览器中的JavaScript刷新了文档的一部分,基本上执行了步骤1-5,但仅替换了所显示内容的一部分(HTML元素)。
© www.soinside.com 2019 - 2024. All rights reserved.