请选择 进入手机版 | 继续访问电脑版

智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 9646|回复: 47

《OpenWRT》04:luci和lua介绍与实例应用

  [复制链接]

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
发表于 2015-9-3 00:42:46 | 显示全部楼层 |阅读模式
Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。UCI是OpenWrt中为实现所有系统配置的一个统一接口,英文名Unified Configuration Interface,即统一配置接口。LuCI,即是这两个项目的合体,目的是为OpenWrt固件从 Whiterussian 到 Kamikaze实现快速配置接口,可以实现路由的网页配置界面。

从上面可以知道,在openwrt我们使用luci实现使用网页就可以配置,这极大的方便了初学的开发人员。

首页html代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci" />
</head>
<body style="background-color: black">
<a style="color: white; text-decoration: none" href="/cgi-bin/luci">LuCI - Lua Configuration Interface</a>
</body>
</html>


跳转执行luci
#!/usr/bin/lua
require "luci.cacheloader"
require "luci.sgi.cgi"
luci.dispatcher.indexcache = "/tmp/luci-indexcache"
luci.sgi.cgi.run()


run方法的主要任务就是在安全的环境中打开开始页面(登录页面),在run中,最主要的功能还是在dispatch.lua中完成。
运行luci之后,就会出现登录界面:

winscp图

luci的精华所在,/usr/lib/lua/luci/下有三个目录model、view、controller,它们对应M、V、C。下面简单介绍生成界面的方法。
Call()方法会调用controller里的函数,主要通过openwrt系统的uci、network、inconfig等工具对系统进行设置,如果需要还会生成新界面。动态生成界面的方法有两种,一是通过cbi()/form()方法,它们利用model中定义的模板map,生成html文件;另一种是通过template()方法,利用view中定义的htm(一种类似html的文件),直接生成界面。
这套系统是很复杂的,但只要定义好了,使用起来就非常方便,增加页面,修改页面某个内容等操作都非常简单。
启动:/etc/init.d/uhttpd start开机自启动:/etc/init.d/uhttpd enable


未完待续...





回复

使用道具 举报

0

主题

5

帖子

84

积分

禁止发言

积分
84
发表于 2015-9-5 11:23:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

20

帖子

70

积分

禁止发言

积分
70
发表于 2015-9-9 16:12:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

25

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2015-9-30 06:03:18 | 显示全部楼层
我继续顶你!太好的帖子了 支持












回复 支持 反对

使用道具 举报

0

主题

31

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2015-10-12 16:58:32 | 显示全部楼层
赞一个!赞一个!赞一个!
回复 支持 反对

使用道具 举报

0

主题

152

帖子

384

积分

禁止发言

积分
384
发表于 2015-10-30 18:00:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

152

帖子

384

积分

禁止发言

积分
384
发表于 2015-11-20 13:32:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2015-11-26 22:51:59 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

1

主题

23

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2015-12-1 19:31:45 来自手机 | 显示全部楼层
赞赞赞赞赞
回复 支持 反对

使用道具 举报

0

主题

23

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2016-1-13 22:05:18 | 显示全部楼层
小菜鸟刷等级,看教程,学习中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2019-1-20 00:26 , Processed in 0.204059 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表