RK(瑞芯微)平台的 Linux 电量 / 电压检测脚本,适配嵌入式 Linux 环境,每秒自动检测并记录数据,包含日志输出、异常告警、兼容性适配等功能:
2026/7/6 12:09:09 网站建设 项目流程

while true; do
# 记录当前时间(格式:年-月-日 时:分:秒)
TIME=$(date +"%Y-%m-%d %H:%M:%S")

# 1. 读取电量(仅屏蔽错误输出,保留正常值)
CAP=$(cat /sys/class/power_supply/battery/capacity 2>/dev/null || echo "未知")

# 2. 读取电压(nV → mV,容错处理)
VOL_RAW=$(cat /sys/class/power_supply/battery/voltage_now 2>/dev/null || echo 0)
VOL=$(( VOL_RAW / 1000 )) # 正确换算:nV ÷ 10^3 = mV
[ $VOL_RAW -eq 0 ] && VOL="未知" # 无数据时显示未知

# 3. 读取电流(nA → mA,容错处理)
CUR_RAW=$(cat /sys/class/power_supply/battery/current_now 2>/dev/null || echo 0)
[ $CUR_RAW -eq 0 ] && CUR_MA="未知" # 无数据时显示未知

# 4. 输出到屏幕 + 追加到日志(变量正确引用)
echo "[$TIME] CAP:$CAP%,VOL:$VOL mV,CUR:$CUR_RAW mA"
echo "[$TIME] CAP:$CAP%,VOL:$VOL mV,CUR:$CUR_RAW mA" >> battery_chongdian.log

# 间隔1秒刷新
sleep 1
done

使用方法:

直接输入上述命令,会在当下目录生成battery_chongdian.log,实时数据会记录在其中,停止监控:按Ctrl+C。

注意事项:

  • 部分设备的电池路径可能是/sys/class/power_supply/BAT0BAT1,可根据实际情况修改BATTERY变量
  • 某些嵌入式设备可能没有current_nowvoltage_now文件,脚本会自动显示 "未知"
  • 日志文件会持续增大,可定期清理

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询