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

Posted

技术标签:

【中文标题】更新openwrt web界面luci中的变量信息【英文标题】:Update variable information in the openwrt web interface luci 【发布时间】:2020-03-16 22:39:02 【问题描述】:

从图中我们看到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】:

这是必须在前端(html、JS、php)实现的东西,而不是在 Lua 后端。我不知道这些天孩子们是怎么做的,但据我所知,您需要使用 javascript 每隔几秒钟刷新一次 HTML 文档的该部分,如您所愿。

它的工作方式是这样的:

    从 Chrome/Firefox/Opera/Edge 请求网页; Web 服务器打开请求的文件,如果文件是脚本,则运行脚本;

    脚本从系统、数据库等中检索数据;

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

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

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

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

    客户端网络浏览器显示数据,通常是由 CSS 格式化的 HTML 文档,具有 JavaScript 交互性和自动活动。

在你的情况下,你会想要这个:

    客户端浏览器中的 JavaScript 会刷新文档的一部分,基本上是通过步骤 1-5,但只替换正在显示的部分内容(HTML 元素)。

【讨论】:

以上是关于更新openwrt web界面luci中的变量信息的主要内容,如果未能解决你的问题,请参考以下文章

openwrt(luci中文)

如何在 OpenWRT Luci Web Interface 中添加新页面?

如何利用openwrt的web配置界面来配置端口映射

openwrt重启后进不了管理

怎样自定义openwrt登陆界面

openwrt没有web管理界面