LUCI是openwrt默认的网页配置界面,是uci和lua的结合。
本文主要讲解如何搭建基于SFTP的远程LUCI开发环境。
必要条件:能运行openwrt的路由器一台且安装了luci-base 以及 openssh-sftp-server。
luci-base和openssh-sftp-server可以通过手动编译或opkg安装。
路由器端设置:
安装以上插件保证你的PC能通过SSH连接路由器即可。
PC端设置:
1. PC上安装VS Code,在插件列表中搜索SFTP,安装下图中的插件。
2. 按CTRL + SHIFT + P
使用SFTP.Config,设置服务器信息,会弹出配置文件编辑界面
{
"name": "openwrt-rootfs",
"host": "192.168.1.1",
"protocol": "sftp",
"port": 22,
"username": "root",
"remotePath": "/",
"uploadOnSave": true,
"ignore": [
".vscode"
]
}
根据自己的路由器实际配置修改。
如果没有弹出配置文件编辑界面,请先创建用于同步路由器文件的本地文件夹。
3.文件夹同步及上传
在资源管理器右击,Sync xxx 三个选项可以用于PC和路由器之间同步,同步效果:
其中与LCUI界面相关的文件位于 usr/lib/lua/luci/
默认情况下,该文件夹下文件没有被同步,右击luci文件夹,再同步一次就可以把该目录下文件同步到PC。
这样修改了luci相关文件并同步到路由器后就可以在web界面立即显示出效果了。
为了避免LUCI缓存使修改没有立即生效,可以ssh连接路由器输入以下命令关闭LUCI缓存:
uci set luci.ccache.enable=0
uci commit luci
待开发验证完成后,可以将修改的文件拷贝出来,单独建立一个luci app软件包,这里就不赘述了。
参考:
1.https://www.jianshu.com/p/167d9a1e8640
2.https://github.com/openwrt/luci/wiki/DevelopmentEnvironmentHowTo