当前位置: 安卓之星 -> Linux开发 -> 教你增强小米路由Web管理:如何让添加CPU温度显示

教你增强小米路由Web管理:如何让添加CPU温度显示

作者:网络 发表于: 2016-12-23 点击: 749 次

任务目标:为小米路由WEB管理首页添加CPU温度显示(如下图)

支持平台:R1D(初代大路由)、R2D(二代大路由)

使用工具:WINSCP

所需基础:windows基本操作

MP插件群:162049771

前言:

小米路由,从出身那天起就没有离开“极客”这两个字。然而尴尬的是,抱怨之声在论坛、Q群等各处此起彼伏,诸如“真垃圾,连个XX功能都没有”、“垃圾!根本不好用”、“早知不买了,几年不出一个新插件”等等。也不知道是小米宣传时定位模糊还是消费者自我定位错误。最终,一款“极客”性质的产品成了普通小白的消费品,那么抱怨之声自然而然的就来了。

然而真正的“极客”们是不该抱怨的,小米路由作为一款基于开源项目openwrt系统的产品,在软件扩展性方面是足够优秀的。不支持usb打印?“极客”可以编译相关模块来添加相关功能;广告过滤插件形同虚设?“极客”可以添加新的模块,甚至修改原有的模块来加强。与其等别人开发出功能,不如自己动手,这才是“极客”。还有,不要让人家用某路由的看不起用小米路由的,他们有“大神”帮忙开发插件?我希望小米路由论坛以后到处都是“大神”。

今天的教程会涉及到一些令人看不懂的代码,不过请放心,就算没有任何编写代码的基础,只要照着做就可以实现,之后好人会给出此功能的独立安装命令。

一、备份原文件(非常重要)

1.1 打开winscp,使用控制台逐条运行以下命令并:

mkdir -p /etc/backup

cp /usr/lib/lua/luci/controller/api/misystem.lua /etc/backup/

cp /usr/lib/lua/xiaoqiang/util/XQSysUtil.lua /etc/backup/

cp /usr/lib/lua/luci/view/web/*index.htm /etc/backup/

至此,原始文件就备份好了。备份的原始文件在/etc/backup/里面。

二、打开系统区域读写

2.1 winscp控制台中运行如下命令

mount -o remount rw /

此条命令作用便是挂载路由根目录为读写。

完成操作后,关闭winscp控制台。

三、修改web页面,给“CPU温度显示”做个“地基”

3.1 修改index.htm和apidex.htm

3.1.1 index.htm和apindex.htm这两个文件位于/usr/lib/lua/luci/view/web

使用winscp找到文件,先修改index.htm

3.1.2右键点击index.htm,选择编织>内部编辑器

3.2 修改index.htm

3.2.1在文本编辑窗口中使用热键ctrl+f加关键字“id=”cpuhz””找到相关代码段

3.2.2 在其下一行插入如下代码:

代码无法在论坛显示,只能用图片代替,大家可以复制文本里上面一段然后修改一下

3.2.3 ctrl+f热键搜“#cpuhz

3.2.4 在下一行插入以下代码:

$(‘#cputmp’).text( data.tmp );

3.2.5 修改完毕。热键ctrl+s保存修改,关闭文本编辑器。

3.3 如法炮制,修改apindex.htm

3.3.1 在文本编辑窗口中使用热键ctrl+f加关键字“id=”cpuhz””找到相关代码段

3.3.2 在此行最后一个后插入以下代码:

以上为图片形式,大家可以复制前面的文本替换几个不同的字符

3.3.3 ctrl+f热键搜“#cpuhz

3.3.4 在此行下面添加代码:

$(‘#cputmp’).text( data.tmp );

3.3.5 修改完毕。热键ctrl+s保存修改,关闭文本编辑器。

3.4至此我们已经为“CPU温度显示”在web页面做好了“地基”,刷新我们的web管理首页已经能看到了。

只是温度这里现在还没有数据显示。因为我们还没有做好“三通一平”啊!。

四、修改小米官方API,为“CPU温度显示”做好“三通一平”

4.1 修改misystem.lua文件

4.1.1 找到位于/usr/lib/lua/luci/controller/api的misystem.lua文件

4.1.2 右键该文件选择内部编辑器打开

4.1.3 热键ctrl+f搜索“[“core”]”,找到如下图中的代码段

4.1.4 在下面一行插入如下代码:

[“tmp”] = sys.tmp,

4.1.5 修改完毕。热键ctrl+s保存修改,关闭文本编辑器。

4.2 修改XQSysUtil.lua文件

4.2.1 找到位于/usr/lib/lua/xiaoqiang/util的XQSysUtil.lua文件

4.2.2 右键该文件选择内部编辑器打开

4.2.3 热键ctrl+f搜索“sysInfo[“system”]”,找到如下图中的代码段

4.2.4 在上面一行插入如下代码:

sysInfo[“tmp”] = LuciUtil.exec([[cat /proc/dmu/temperature|awk ‘/CPU/{print substr($4,1,length($4)-2)”℃”}’]])

4.2.5 修改完毕。热键ctrl+s保存修改,关闭文本编辑器。

4.6 至此,此“三通一平”工作已经全部完成。

五、生效及恢复

打开winscp控制台,逐条运行以下命令:

rm -rf /tmp/luci-modulecache

mount -o remount ro /

现在刷新web管理首页已经可以看到cpu核心温度了!

其实整个修改过程非常简单,难点在于不要做错任何一步,任何一步出了问题都可能失败,失败有可能会在登录web管理后出现500错误。这时请使用一开始就让大家备份的文件恢复。恢复命令:

cp -rf /etc/backup/misystem.lua /usr/lib/lua/luci/controller/api/

cp -rf /etc/backup/XQSysUtil.lua /usr/lib/lua/xiaoqiang/util/

cp -rf /etc/backup/*index.htm /usr/lib/lua/luci/view/web/

相关文章

相关文章

赶快留言冒泡

  • 评论 (0)
  • 引用通告 (0)
目前还没有任何评论.
目前还没有任何Trackbacks和Pingbacks.
吐个泡浮上去.