斐讯K2P、K3C固件APP应用定制教程

一、前言

随着斐讯路由器产品的增加,固件的种类也不断增多,会给固件的开发、维护带来很大压力。
我们可以看到,在新版K2P、K3C、K3的固件中,WEB界面逐步开始统一,其风格和APP的管理模式都趋于一致。

WEB框架的归一化带来的好处是开发、维护的工作量大大降低,一个产品的特性可以很方便的同步到另一个产品。

不同产品间通过特性控制文件进行区分,比如在K3C、K3上会打开USB特性,在K2P上会关闭USB特性。

二、APP应用定制过程

我们以K3C中增加的Aria2为例介绍如何来添加自己的APP应用

1、首先我们要为APP增加图标,可以到网上找一个或自己设计一个图标,大小为80*80像素,PNG格式。用winscp登录到K3C,将图标放入到如下目录/www/luci-static/images/app-icon

图标名称我们取的是aria,如果你要增加自己的,比如xxx,可以把文件名改成xxx.png

2、增加特性
1)winscp修改/www/luci-static/dynaform/routing.js文件,在如下位置增加一行:

2)修改特性控制文件/etc/config/dev_feature
这里包含了你所要显示的特性,分成两块:
一个是PC网页可以看到的特性,另一个是手机网页可以看到的特性

我们在PC网页下增加list installed aria

3)在APP显示页面增加特性,修改/usr/lib/lua/luci/view/pc/App.htm,增加如下行

3、增加特性控制文件

对于APP应用的管理,此web框架在原有的openwrt上又封装了一层,因此有所区别
一般会有三个文件,分别存在于如下三个目录
/usr/lib/lua/luci/controller/admin    –配置文件读取处理
/usr/lib/lua/luci/view/pc                 –页面展示文件
/usr/lib/lua/luci/data                      –数据保存处理

我们看到的WEB设置界面一般在/usr/lib/lua/luci/view/pc目录,比如aria2的,文件为/usr/lib/lua/luci/view/pc/aria.htm,你可以参照此文件来写自己的展示页面

在展示页面的开始,会用lua读取配置文件(/etc/config/aria2),配置读取在/usr/lib/lua/luci/controller/admin/aria.lua文件处理

在展示页面的保存按钮事件中,会调用apiSet进行数据保存,这是在/usr/lib/lua/luci/data/aria.lua文件处理,此文件还处理保存后需执行的动作,比如启动、停止应用程序

以上所有文件都可以通过winscp直接打开,你可以参照修改,当然,你需要有一点lua语言的基础

做完上述步骤后,你可以重启路由器或删除/tmp/luci-modulecache目录下文件,然后刷新网页,你就可以看到你添加的APP图标了!

4、增加应用程序

上面所讲的只是WEB界面的控制,真正起作用的是程序,那我们的程序从何得来?
对于K2P来说比较好办,你可以找MTK的SDK或其他7621的SDK,然后编译出相应的IPK或可执行文件即可,IPK中的文件可以通过WINRAR打开来直接提取。

对于K3C来说,由于其处理器比较偏门,你需要专门的SDK,请参照我的如下博文进行编译
http://www.ittel.cn/archives/1632.html
http://www.ittel.cn/archives/917.html
用此SDK有一个技巧,如果你用./scripts/feeds install 找不到相应特性,可以用openwrt sdk先安装,再拷贝到K3C的SDK目录,然后用make menuconfig选择后编译

编译成功后,将应用程序的可执行文件拷贝到K3C中,一般放在/usr/bin目录

5、增加应用程序的控制

应用程序一般用脚本语言控制,存放的目录一般为/etc/init.d,比如aria特性的控制脚本为/etc/init.d/aria2,配置文件为/etc/config/aria2,你可以参照修改

实际操作中,你可能需要具备如下知识:
linux shell
lua
html、JavaScript
openwrt
一点点美工

最后,如果你有做好的APP想集成到定制固件当中,欢迎在本帖或QQ群中反馈,独乐乐不如众乐乐!

欢迎加入刷机交流群(796285622)

为您推荐

发表评论

电子邮件地址不会被公开。