我正在使用 Ubuntu 14.04LTS。有人能指点一下如何使用内核模块获取笔记本电脑的当前电池电量和充电状态吗?如果可能的话,请附上 Makefile。
请给出一个C代码。
答案1
最好的起点是通过 /sys/class/power_supply 电池 uevent 信息。这很容易解析以获取相关信息:
cat /sys/class/power_supply/BAT*/uevent
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Unknown
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
POWER_SUPPLY_VOLTAGE_NOW=12408000
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=93960000
POWER_SUPPLY_ENERGY_FULL=83520000
POWER_SUPPLY_ENERGY_NOW=83450000
POWER_SUPPLY_CAPACITY=99
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=45N1175
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER=12196
不需要内核模块,因为内核通过这个简单的用户空间接口以通用格式提供了电池信息的所有相关信息。