欢迎光临散文网 会员登陆 & 注册

"Linux-deploy app 保持唤醒":充电时能,不充电时不能。

2023-06-14 11:43 作者:站岗的提莫队长  | 我要投稿

        最近,up主的老员工小米5s在退休生涯中不甘寂寞,想要重拾007的福报生活,强烈要求再次投入工作,然而她的电池已经不再坚挺,当电量降至30%的时候,分分钟有暴毙的风险,如果想要稳定的投入007的生活,就必须插着电源才行。up主表示:老员工啊,你应该享受你的退休生活,虽然插电状态你也能干,但是万一炸了呢,来,我这里有个测试,如果你能通过这个测试,那么我就同意你的工作请求。

        介绍完背景(水完字数),下面进入正文。up主需要一台不间断工作的linux设备,由于穷,只能打起退休的老员工(小米5s)的主意,但是电池损耗严重,长时间插电工作又有安全隐患。所以up主想到了2个方案,第一个方案是手机一直连接充电器,通过ADB命令,让手机定时接受充电;第二个方案则是通过小米智能插座,由手机自己判断电量状态,定时去开启智能插座给自己充电。

        没有意外的,最省钱的方案往往都是失败的,第二个方案成功了。下面详细介绍一下第二个方案。

        第0步:小米5s通过安装magisk获取root权限,安装llinux-deploy,挂载SD卡,使用bindfs映射修改SD卡的权限,编译安装python,用类似'echo service.adb.tcp.port=5555 >> /system/build.prop'的命令永久开启小米5s的无线adb调试,安装米家app,将小米智能插座的组件放到桌面。以上写着简单,但每一步其实都挺麻烦的。

        第1步:linux-deploy设置保持CPU唤醒,编写python脚本,每1分钟检测一下手机电量和充电状态,电量低于等于50时开启小米智能插座,电量大于等于95时关闭,用日志自动记录时间、电量和充电状态。测试过程中除了开关充电的过程,其余时间屏幕保持息屏状态。

        第2步:分析日志,可视化。

纵坐标为电量,横坐标为时间,蓝色为断电状态,红色为充电状态

        从2023/6/9 22:49到2023/6/14 9:52共记录了762组数据,然而按脚本预设1分钟一次来计算,理论上4天11小时3分钟的时长,应该有6423组数据,明显可以看出linux-deploy并不是一直保持唤醒状态的。

横坐标的标题是检测次数

        进一步的分析可以看出,在充电过程中,平均1分钟检测一次电量,而在未充电状态,平均12分钟检测一次电量,间隔最常的时间为17分49秒。

        结论:第一,小米5s在仅仅运行电量检测脚本的情况下,50%~95%这个电量区间基本可以运行22小时,加上充电时长,基本可以做到一天一充,属于可用状态。第二,小米5s在不充电、息屏的状态下,尽管开启了保持CPU唤醒,但是仍会进行休眠,这个就对正常工作的影响巨大,因为基本在linux-deploy运行的脚本都是要长时间实时运行的,一睡就睡12分钟的员工有待调教,如何保持linux-deploy息屏实时运行有待进一步的测试。

"Linux-deploy app 保持唤醒":充电时能,不充电时不能。的评论 (共 条)

分享到微博请遵守国家法律