深入解析VR-25/acc项目中的Xiaomi手机充电控制机制
2025-07-06 12:39:30作者:滕妙奇
背景介绍
VR-25/acc是一个Android电池充电控制项目,旨在帮助用户更好地管理设备充电行为,延长电池寿命。该项目特别关注"空闲充电模式"(idle mode)的实现,这种模式可以让设备在连接电源时保持电量稳定而不持续充电。
Xiaomi设备的特殊发现
在Xiaomi Mi 10设备上,用户发现了一个有趣的充电控制机制。通过直接修改系统文件中的电压参数,可以实现类似空闲充电的效果,而无需依赖acc项目的完整功能。
关键发现点
- 电压控制文件:在
/sys/class/power_supply/battery/voltage_max路径下,Xiaomi设备暴露了一个可写的电压控制接口 - 有效值范围:默认值为4480000(4.48V),将其修改为3900000(3.9V)可使设备在达到57%电量时进入低电流状态(<10mA)
- 持久化问题:修改在重启后会失效,需要脚本实现自动设置
技术实现细节
传统开关控制方式
大多数Android设备通过简单的充电开关控制充电行为,Xiaomi设备上有效的开关包括:
battery/battery_charging_enabled:基本充电开关控制- 其他3-4个有效开关(具体路径因设备而异)
这些开关只能实现简单的充电开启/关闭功能,无法实现精细的充电控制。
电压控制方式
Xiaomi设备提供的电压控制机制更为精细:
- 工作原理:通过限制最大充电电压,系统会在达到设定电压时自动降低充电电流
- 实际效果:实现了类似"空闲充电"的行为,设备保持连接电源但不持续充电
- 电量对应:3.9V约对应57%电量,用户可根据需求调整该值
项目现状与改进方向
虽然VR-25/acc项目提供了全面的测试功能(acc -t),但在Xiaomi设备上存在以下问题:
- 测试结果可靠性:报告了大量假阳性结果(75个开关中仅4-5个实际有效)
- 空闲模式支持:测试显示支持但实际上无效
- 设备适配:缺乏针对特定机型(如Xiaomi系列)的优化配置
开发者已意识到这些问题,并在最新版本中致力于:
- 减少假阳性结果
- 提高测试速度
- 增强设备特定适配
实用建议
对于Xiaomi设备用户,特别是希望实现充电控制的用户,可以考虑:
- 直接电压控制法:
echo 3900000 > /sys/class/power_supply/battery/voltage_max
(数值可根据需要调整)
- 自动化实现:
- 创建init脚本或使用Tasker等工具实现开机自动设置
- 结合充电状态监测动态调整
- 与acc项目结合:
- 使用acc管理基本充电开关
- 配合电压控制实现更精细的管理
总结
Xiaomi设备的充电控制机制展示了Android生态中硬件厂商的特殊实现。虽然通用解决方案如VR-25/acc项目提供了广泛支持,但针对特定设备的优化往往能带来更好的效果。理解底层机制(如电压控制)可以帮助用户实现更符合需求的充电管理策略。
随着项目的持续改进,未来有望提供更准确的设备适配和测试结果,为用户带来更便捷的电池管理体验。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0242
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0181
kornia🐍 空间人工智能的几何计算机视觉库Python03
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
786
5.15 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
898
2.08 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
721
1.45 K
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
767
989
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
481
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
483
181
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.13 K
1.17 K
昇腾LLM分布式训练框架
Python
189
240
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
157
249