|
本帖最后由 xdybi 于 2019-7-6 10:17 编辑
最近升级了一下路由器的固件。发现tb版本的《斐讯K3 梅林merlin固件 修复版》和paldier发布的《K3 384梅林B2/R2 全nand版本》在屏幕控制方面并不完美。tb版本方案ab天气均不能正常显示,b方案显示错误更多。paldier版本显示效果较好,但是使用一个名为k3screend的进程进行数据收集。这个进程并不稳定,会自动停止。于是本人自己对k3screenctrl的控制脚本进行了一些修改。本人使用tb固件和1.1.116版本的mcu,现在显示效果是较为令人满意的。本文中提供了较为详细的文件说明,通过缩进来表示了文件夹的层级关系。对这部分不感兴趣的用户可以直接看文末的使用方法。论坛附件有大小限制,因此未包括mcu固件。完整的文件上传至百度网盘。
本文中的修改很大程度上借鉴了ZeoZero发布的帖子《K3 屏幕mcu升级 天气显示 k3screenctrl》。另外k3screenctrl和部分脚本直接提取自paldier版梅林。
下载连接:
https://pan.baidu.com/s/1sFT4SZ9UN4DLjcGFEEx6ZA 提取码: 6mxq
文件说明:
k3screenctrl 文件夹:
k3screenctrl 屏幕控制主程序。提取自paldier梅林。可适用于tb版本。
startup.sh 将k3screenctrl文件夹放在jffs分区中。运行此脚本即可开始屏幕显示。
以下六个脚本是k3screenctrl直接调用的
basic.sh 显示系统版本和mac信息
host.sh 显示当前连接到路由器的设备。生产厂商信息要通过oui.list文件进行识别。没有实现显示每个设备的上传下载量,因为可能需要添加新的iptables规则来实现此功能。如果有需求可以参考ZeoZero帖子中的实现方法。
port.sh 显示rj45接口状态和usb接口状态。提取自paldier梅林。
wan.sh 显示系统是否连接到Internet并显示当前上传下载速度。基本与paldier梅林中的脚本相同,去除了对与k3screend的依赖。但依赖于后文提到的speed.sh脚本。
wifi.sh 显示wifi接入点信息和接入点连接的客户的数量。基本与paldier梅林中的脚本相同,修改了获取客户端数量的方法。
weather.sh 显示天气与时间。使用了paldier梅林中定义的函数get_json_value。因为本人暂不在中国居住,所以使用openweathermap提供的api获取天气信息。获取天气信息的命令在地24行。需要使用者注册账号并将自己的apikey填写在“YOURKEY”的位置。另外需要使用者将城市改为自己需要的城市。相信的修改方法请查阅openweathermap的api说明。默认120秒获取一次天气,如需修改可以改变脚本第20行中的值。
speed.sh 通过记录5秒内的上传下载量计算上传下载速度,并保存在名为speed的文件中,供wan.sh读取。
oui.list 各个厂商的mac地址信息。供host.sh读取。
wtimes 保存了获取天气时的时间戳,初始值为0。weather.sh通过读取此文件并于当前时间戳对比即可得知是否要更新天气信息。
genlist文件夹:
ZeoZero帖子中提供的oui.list并不能识别iphone x和mbp。所以本人编写了保存于genoui文件夹中的脚本,来通过在IEEE下载的oui.txt中查找厂家名称生成新的oui.list。
genlist 保存了用于搜索的厂家名称和对应的图标编号。
genoui.sh 读取genlist和oui.txt,并生成可供host.sh使用的oui.list。
oui.txt 从IEEE网站下载的mac地址信息。
mcu文件夹:
此文件夹保存了从paldier固件中提取的mcu固件。显示不正常可以尝试升级。
使用方法:
1.注册openweathermap账号,获取apikey。查阅openweathermap文档,确定选择城市的方法。修改weather.sh第24行,选择想要的城市并输入apikey。
2.升级mcu固件。
3.将k3screenctrl文件夹复制到jffs分区。使用chmod +x命令对其中的11个文件赋予执行权限。逐条运行startup.sh文件中的命令。之后屏幕应当可以正常显示。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|