使用VSCODE远程开发openwrt luci插件

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,安装下图中的插件。

使用VSCODE远程开发openwrt luci插件_第1张图片

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.文件夹同步及上传

使用VSCODE远程开发openwrt luci插件_第2张图片

在资源管理器右击,Sync xxx 三个选项可以用于PC和路由器之间同步,同步效果:

使用VSCODE远程开发openwrt luci插件_第3张图片

其中与LCUI界面相关的文件位于 usr/lib/lua/luci/

使用VSCODE远程开发openwrt luci插件_第4张图片

默认情况下,该文件夹下文件没有被同步,右击luci文件夹,再同步一次就可以把该目录下文件同步到PC。

使用VSCODE远程开发openwrt luci插件_第5张图片

这样修改了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

你可能感兴趣的:(openwrt)