想利用Pi Zero W的小巧以及Vufine做一个便携的应用,功耗也就是需要考虑的问题。收集一些方法。
原文:https://www.lijingquan.net/index.php/2017/03/03/%E9%99%8D%E4%BD%8E%E6%A0%91%E8%8E%93%E6%B4%BE%E5%8A%9F%E8%80%97/
首次开机无显示,连接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)
看起来最后这个是表示最低频率,那是否还有一个最高频率
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
这里有介绍一些相关设置,但并没有max这个说法
使用 vcgencmd 指令查看 Raspberry Pi 的 CPU 溫度、運行速度與電壓等資訊 https://blog.csdn.net/lakeheart879/article/details/77336393
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小时应当不成问题。