ども、cloudpack の かっぱ(@inokara)です。
はじめに
Raspberry Pi がほんわか温かいので何度くらいなのかなー、そもそも温度は取得出来るのかしらと思ってググったら意外に簡単に取得できましたがメモ。
確認方法
/sys/class/thermal/thermal_zone0/temp
を cat
すれば良いらしいです。
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 又はホスト名を指定します。
暫くすると…
以下のように表示されます。
もう暫くすると…
はー、可視化楽しい。
ということで…
今回は CPU の温度ですが、今度は室内の温度とか収集したいですよね!
元記事はこちらです。
「Raspberry Pi の CPU 温度を確認する」