openwrt之修改Luci界面
1. 名词解释
Lua:解释性脚本语言
openwrt实践 | Lua快速入门教程
Uci:(Unified Configuration Interface),OpenWrt中为实现所有系统配置的一个统一接口,如
/etc/config/network
的部分配置config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0'
Luci:(Lua ConfigurationInterface ),由Lua实现的Openwrt网页系统配置接口
Openwrt开发与Luci介绍
MVC 框架:(model+view+controller ),要开发一个新的功能页面,开发者只要根据 MVC 框架写些简单的 Lua 脚本,剩下的部分由Openwrt为你自动完成
CBI:(Configuration Binding Interface),CBI模型位于
lua\luci\model\cbi
openwrt的CBI控件简单说明
luci cbi模块详解
2. 实例
在Luci界面上添加一个欢迎页面和两个按钮,并调用系统shell脚本控制舵机(硬件使用Widora)
第一步:
/usr/lib/lua/luci/controller/admin/switch.lua
中注册选模块-- vim switch.lua module("luci.controller.admin.switch", package.seeall) function index()entry({"admin", "switch"}, firstchild(), "Light", 30).dependent=falseentry({"admin", "switch", "welcome"}, template("switch"), _("Welcome"), 1) --调用view目录下的switch.htm文件entry({"admin", "switch", "on"}, call("turn_on"), _("TurnON"), 2) --调用函数entry({"admin", "switch", "off"}, call("turn_off"), _("TurnOFF"), 3) endfunction turn_on() luci.util.exec("/usr/pwm.sh 1500000") --运行脚本 endfunction turn_off() luci.util.exec("/usr/pwm.sh 2500000") --运行脚本 end
第二步:在 view 目录下添加相应的 switch.htm 文件,以显示欢迎界面(网上随便抄一个)
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript"> function getTime() {var dateObj = new Date();var year = dateObj.getFullYear();//年var month = dateObj.getMonth()+1;//月 (注意:月份+1)var date = dateObj.getDate();//日var day = dateObj.getDay();var weeks = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var week = weeks[day];//根据day值,获取星期数组中的星期数。var hours = dateObj.getHours();//小时var minutes = dateObj.getMinutes();//分钟var seconds = dateObj.getSeconds();//秒if(month<10){month = "0"+month;}if(date<10){date = "0"+date;}if(hours<10){hours = "0"+hours;}if(minutes<10){minutes = "0"+minutes;}if(seconds<10){seconds = "0"+seconds;}var newDate = year+"-"+month+"-"+date+"   "+hours+":"+minutes+":"+seconds+"   "+week;document.getElementById("date1").innerHTML = "Welcome To Switch    " + newDate;//在div中写入时间setTimeout('getTime()', 500);//每隔500ms执行一次getTime() } </script><title>Welcome</title> </head> <body onload="getTime()"><div style="width:100%;text-align:center" id="date1"></div> </body><body text=#d22370 bgcolor=#282923> <marquee direction=left>You say that you love rain</marquee> <p> <marquee direction=right>but you open your umbrella when it rains...</marquee> <p> <marquee direction =left behavior=scroll>You say that you love the sun,</marquee > <p> <marquee direction=right>but you find a shadow spot when the sun shines...</marquee> <p> <marquee direction =left behavior=scroll>You say that you love the wind,</marquee > <p> <marquee direction =right behavior=scroll>But you close your windows when wind blows...</marquee > <p> </marquee > <p> </body></html>
第三步:编写pwm.sh脚本
#vim /usr/pwm.shcd /sys/class/pwm/pwmchip0 echo 0 > export cd pwm0 echo 1 > enable echo 20000000 > period echo ${1} > duty_cycle exit 0#chmod 755 pwm.sh
重启生效
3. 其他参考
开发OpenWrt路由器上LuCI的模块
OpenWrt Luci编写小技巧
openwrt之修改Luci界面相关推荐
- 嵌入式linux 更新源,openwrt如何修改为国内软件源
软件源就是一个应用程序安装库,很多很多的应用软件都在这个库里面.他可以是网络服务器,是光盘,甚至是硬盘上的一个目录.openwrt源有时候在服务器国外更新源下载速度慢,有时候因DNS问题到底无法下载, ...
- OpenWrt设置修改IP地址
很多使用openwrt的新手都会遇到openwrt如何修改IP地址 查看更多关于 openwrt如何修改IP地址 的文章 的问题,今天我们就为大家来带了简单易懂的openwrt修改IP地址 查看更多关 ...
- C#-WinForm跨线程修改UI界面
背景 在我做WinForm开发的过程中,经常会遇到耗时操作或阻塞操作.他们会引发软件的卡顿甚至假死,严重影响软件的使用.因此,这类耗时或阻塞的操作一般都会使用异步的方式去执行,不影响主线程(UI线程) ...
- 怎么改锁定计算机的背景,电脑修改登录界面背景壁纸的操作方法
原标题:"Win7系统电脑修改登录界面背景壁纸的操作步骤"相关电脑问题教程分享. - 来源:191路由网. Win7系统电脑怎么修改电脑登录界面?有用户喜欢对系统做一些个性化设置, ...
- 修改QtCreater界面大小
修改QtCreater界面大小 my_qtcreator.sh #!/bin/bash #my_qtcreator.sh export QT_SCALE_FACTOR=1.2 /home/xxx/Qt ...
- TuneUp2007修改启动界面的教程
TuneUp2007修改启动界面的教程 修改之前首先要安装TuneUp Utilities软件,它支持所有格式的启动界面和登陆界面,请到以下网址下载安装.[url]http://soft.zjnu.n ...
- android 仿qq修改头像,Qt:小项目仿QQ修改头像界面,技术点记录
最近写了一个修改头像功能的UI,布局参考了QQ目前的修改头像界面.如下图 这里主要说明一下两个地方的技术:1.头像图片上层的遮罩层,圆形外部为灰色,内部为全透明:2.上传图片宽高比例可以通过鼠标拖拽移 ...
- [SPLUSH WAVE] DragonMahjongg3~天空編~ 1.07版修改器+界面汉化
修改器只针对游戏1.07版本,请勿升级游戏版本!! 修改器界面,上面的好理解,最下面的当你抓到第一张牌后会根据你抓的牌来给你一个和的牌,抓牌了后要等一秒才生效. 其他没啥说的了,修改器纯汇编写的没加壳 ...
- 如何修改安卓界面上的图片和文字
安卓修改大师系列教程之<如何修改安卓应用中的网络下载的图片>.本视频通过专业的视角,来一步步介绍如何修改安卓界面上面的图片和文字,如果图片在安装包里面,相对修改比较容易,如果在网络上,需要 ...
- xcode如何将系统语言改为中文,可修改拍照界面retake和use按钮
配置项目本地化支持简体中文和英文 工程-PROJECT-info->Localizations,点"+",选择(Chinese(Simplified))添加简体中文,英文Xc ...
最新文章
- flash 入门课知识小结
- JavaSE学习笔记(二十九)—— 其它流
- 如何创建和自定义SQL Server模板
- BZOJ 3555 [CTSC2014] 企鹅QQ Hash
- java 语法 —— final
- 生活的 tricks
- 一个顶N个的NextResult
- golang命令行贪吃蛇
- html希腊字符,希腊字母
- python learning notes(柒)
- python sklearn库 rnn_scikit-learn 逻辑回归类库使用小结
- org.eclipse.core.runtime.CoreException: Plug-in org.eclipse.jdt.ui was unable to load class org.ecli
- Hibernate(一)
- 【Rochester】MongoDB的基本语法和使用
- ESP32WiFi-AP 模式创建 wifi 热点
- 芯片封装的作用以及常见封装技术
- 初始C++ - auto关键字与内联函数
- 开源中国源码学习UI篇(一)之FragmentTabHost的使用分析
- 【原神】手机版原神下错版本不能登录怎么办?B服修改为官服
- android 开发常用apk工具
热门文章
- WebView 加载微信公众号文章加载失败或图片不显示
- verilog驱动1602液晶屏
- erp框架 saas_SaaS ERP和传统ERP的区别在哪里?
- 阿里云因发现Log4j2漏洞未及时上报,被工信部处罚!
- python 获取股票的交易数据
- 孤军大作战!疯狂DIY 1U硬件防火墙实录(转)
- Flask-mongoengine分页bug
- actionbar左上角的返回小图标
- 办理芯片银行卡时记得把“闪付”功能取消
- linux poodle漏洞,Claws Mail 3.11.0发布 修复了POODLE 漏洞