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

时间:2019-11-21 04:43:07

标签: lua openwrt

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界面中查看信息。感谢您的帮助。

1 个答案:

答案 0 :(得分: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. 客户端网络浏览器通常以CSS格式将数据显示为具有CSS交互性和自动活动性的HTML文档。

在您的情况下,您需要这样做:

  1. 客户端浏览器中的JavaScript刷新了文档的一部分,基本上执行了步骤1-5,但仅替换了部分显示内容(HTML元素)。