想利用Pi Zero W的小巧以及Vufine做一个便携的应用,功耗也就是需要考虑的问题。收集一些方法。
首次开机无显示,连接WIFI时候平均是370.4mA。
下面开始节省功耗。
1 给开机添加/usr/bin/tvservice -o到/etc/rc.local
2 关掉声卡和板载LED:在/boot/config.txt中修改
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
dtparam=audio=off
3 继续调整降频,节省功耗更明显
arm_freq_min=250
core_freq_min=100
sdram_freq_min=150
这时候功耗已经成功降低到110mA以下
(补充:尚不知道是否必须在config.txt中添加force_turbo=0)
看起来最后这个是表示最低频率,那是否还有一个最高频率
Raspberry Pi Documentation - Configuration
这里有介绍一些相关设置,但并没有max这个说法
使用 vcgencmd 指令查看 Raspberry Pi 的 CPU 溫度、運行速度與電壓等資訊
使用 vcgencmd 指令查看 Raspberry Pi 的 CPU 溫度、運行速度與電壓等資訊_lakeheart879的专栏-CSDN博客
vcgencmd measure_clock arm 查看CPU的时钟频率
查看所有相关频率:
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
done
2018.11.23后续:
测试了一个3000mAh的电池加上一个电源管理模板
arm_freq=1050
dtparam=i2c_arm=on
dtparam=spi=on
dtparam=audio=off
gpu_mem=8
dtoverlay=i2s-mmap
force_turbo=0
arm_freq_min=250
core_freq_min=100
sdram_freq_min=150
#arm_freq_max=1000
#core_freq_max=250
#sdram_freq_max=450
并没有关闭LED灯。
最终运行时间为18小时31分,当然负载不大。除基础系统外,没有其它程序运行。
运行以下指令,每3分钟显示一次上线时间及频率。
for ((c=1;;i++)); do sshpass -p yjz129 ssh pi@mobpis.local "uptime;vcgencmd measure_clock arm" ; sleep 180 ; done
实际运行服务的话,10小时应当不成问题。