ども、cloudpackかっぱ@inokara)です。

はじめに

Raspberry Pi がほんわか温かいので何度くらいなのかなー、そもそも温度は取得出来るのかしらと思ってググったら意外に簡単に取得できましたがメモ。


確認方法

/sys/class/thermal/thermal_zone0/tempcat すれば良いらしいです。

pi@raspberrypi ~/dev $ cat /sys/class/thermal/thermal_zone0/temp
40622

但し、出力される値を 1000 分の 1 する必要があります。


Ruby だと以下のように書きました

以下のように書けば 1000 分の 1 にした値が取得出来ますネ。

#!/usr/bin/env ruby

t = `cat /sys/class/thermal/thermal_zone0/temp`
p t.to_f.quo(1000)

以下のように表示されます。

pi@raspberrypi ~/dev $ ./temp.rb
41.16

41.16 度のようです。


せっかくなんで可視化

Graphite に飛ばしてしまいましょう。

飛ばすスクリプト

事前に graphite-api をインストールしておきましょう。

#!/usr/bin/env ruby

require 'graphite-api'

graphite = GraphiteAPI.new(graphite: "xxx.xxx.xxx.xxx:2003")

t = `cat /sys/class/thermal/thermal_zone0/temp`
t = t.to_f.quo(1000)

if t != []
  graphite.metrics "raspberrypi.temp" => t
else
  puts "value doesn't exists."
end

これを cron に仕込んでおきましょう。ちなみに、xxx.xxx.xxx.xxx は Graphite ホストの IP 又はホスト名を指定します。

暫くすると…

以下のように表示されます。

Raspberry Pi でCPU温度を計測する: 動作確認(1)

もう暫くすると…

Raspberry Pi でCPU温度を計測する: 動作確認(2)

はー、可視化楽しい。


ということで…

今回は CPU の温度ですが、今度は室内の温度とか収集したいですよね!

元記事はこちらです。
Raspberry Pi の CPU 温度を確認する