mattintosh note

どこかのエンジニアモドキの備忘録

Raspberry Piの温度とかクロックをモニタリングする

Raspberry Pi 3 にヒートシンクを付けた。千石電商で170円だった。

RPi3にヒートシンク着けた✧٩(◦`꒳´◦)۶✧ #RaspberryPi #RPi

Makoto Yoshidaさん(@mattintosh4)が投稿した写真 -

実は Raspberry Pi 2 の頃のケースだとコアの位置が違うのと、小さい方のコアの部分に穴が空いてないのでヒートシンクの装着ができないのだった。

オーバークロックとかの状態を見たかったので vcgencmd から色々引っ張り出すものを書いてみた。

#!/bin/sh
PATH=/opt/vc/bin:$PATH

echo "CLOCK"
for f in arm core h264
do
    printf '%-8s: %sHz\n' $f $(vcgencmd measure_clock $f | cut -d= -f2 | numfmt --to=si)
done
echo ""
echo "VOLTAGE"
for f in core sdram_{c,i,p}
do
    printf '%-8s: %s\n' $f $(vcgencmd measure_volts $f | cut -d= -f2)
done
echo ""
printf '%-8s: %s\n' temp $(vcgencmd measure_temp | cut -d= -f2)
$ watch ./hwinfo.sh
Every 2.0s: ./hwinfo.sh                                                                                              alarmpi: Mon Oct 31 21:59:04 2016

CLOCK
arm     : 1.3GHz
core    : 500MHz
h264    : 500MHz

VOLTAGE
core    : 1.3940V
sdram_c : 1.2000V
sdram_i : 1.2000V
sdram_p : 1.2250V

temp    : 72.0'C

measure_clock は色々な値が引っ張れるようだけど数字で呼び出すと何を指しているのかよくわからないのが欠点。

$ for f in {0..50}; do /opt/vc/bin/vcgencmd measure_clock $f; done | grep -v =0
frequency(1)=500000000
frequency(9)=163683000
frequency(22)=48000000
frequency(26)=4800000
frequency(28)=500000000
frequency(29)=74250000
frequency(42)=500000000
frequency(45)=1195000000
frequency(47)=249959000
frequency(50)=1920000

gpu_freq で設定すると core_freq とか h264_freq も全部変動するんだな。

mpv と youtube-dl 使って 60fps FullHD 動画再生するとヒートシンクつけてても85℃近くになって arm_freq がどんどん下がる…。やはりファンを付けるべきか。