计算电池剩余时间直到电池放电?
问题描述:
我想计算直到笔记本电脑中的电池已经放电的时间。我可以使用的数据是通过sysfs中可用,但我不知道要使用的文件和算法:计算电池剩余时间直到电池放电?
$ ls /sys/class/power_supply/BAT0/ | sort
alarm
charge_full
charge_full_design
charge_now
current_now
cycle_count
device
manufacturer
model_name
power
present
serial_number
status
subsystem
technology
type
uevent
voltage_min_design
voltage_no
什么是正确的算法来确定留在小时和分钟前的电池是空的时间呢?
答
为了扩展上述我的意见...
charge_now = 75%(情况1),25%(情况2)
charge_full = 100%的正常运行时间 =2小时
= >%_used = 0.75(情况1),25%(情况2)
(情况1)TIME_LEFT =(2小时/ 0.75) - 2小时=(2.67 - 2)小时
(情况2) time_left =(2小时/ 0.25) - 2小时=(8 - 2)小时
您的里程可能会有所不同...:^)
答
要计算剩余时间,使用POWER_SUPPLY_CHARGE_NOW
/POWER_SUPPLY_CURRENT_NOW
这将让你离开秒。
现在是消费率的快照,现在收费是剩余金额。使用acpi -b
会给你相同的答案。
尝试类似:charge_now/charge_full =%_left,time_left =(uptime /%_ left) - 正常运行时间; (我只是把它从耳朵里拿出来 - 它在几个快速情况下看起来很近) – marklark