Tags: None.
Categories: None.

##准备
(下面的有待详细化)

step1:vm内装好镜像。详情戳

step2:打通自己电脑和虚拟机内WRT的链接。WRT采用桥接,拥有局域网内ip,ifconfig获取后有用。另外自己ifconfig获取。

step3:另外还有启动WRT内uhttpd服务器。修改防火墙策略。使之能够接收ssh。


##example:1

在WRT虚拟机内:

1
2
3
4
5
6
7
8
9
$ cd mnt
$ vi example1.lua
//然后输入lua代码
print("hello example1")
//保存
测试
$ lua example1.lua
//正常会显示引号内内容 "hello example1"

##example:2

在WRT虚拟机内:

1
2
3
4
5
6
7
8
$ cd /www/cgi-bin/
$ vi example2
//输入代码
#!/usr/bin/lua
print("OK:ok\r\n\r\n")
print("hello example2!")
//保存
$ chmod 777 example2

在自己电脑上:

1
2
3
4
打开浏览器,输入:
192.168.1.1/cgi-bin/example2
//其中192.168.1.1是路由器的ip。
//正常会显示hello world纯字符的网页

##example:3

在WRT虚拟机内:

1
2
3
4
5
跟ex2相似,但代码改为
#!/usr/bin/lua
io.output("/dev/tty0")
io.write("hello example3")
//同样别忘了赋予可执行权限

在自己电脑上:

1
2
3
4
打开浏览器,输入:
192.168.1.1/cgi-bin/example3
//正常路由器内终端会显示 hello example3


###小结

第一个测试了lua环境
第二个通过网页运行了lua脚本,得到了一个简单的网页。
第三个通过网页运行了lua脚本,并向tty0终端输出了字符。


##example:4

ex3实现了固定的字符,如何实现动态获取呢?

在WRT内:

1
2
3
4
5
$ vi example4
#!/usr/bin/lua
io.output("/dev/tty0")
io.write(os.getenv("QUERY_STRING"))

在自己主机:

1
2
3
4
5
模拟网页点击发送命令:
192.168.1.1/cgi-bin/example4?hello
//正常情况下,WRT终端会输出hello。
//hello可以替换为任意商量好的命令代号
//也可以写一个网页,然后取代在地址框?后输入的尴尬

modified March 21 2015


###参考资料

[1]网页控制openwrt

[2]串口编程