読者です 読者をやめる 読者になる 読者になる

RaspberryPiのCPU温度、電圧、クロック数をElasticsearchに送ってグラフ化

ログの可視化

せっかくelasticsearch×kibana×fluentdの環境を構築したので、
データを入れていきます。

準備

以下の手順で環境を準備します。 cyamax.hateblo.jp

CPU温度、電圧、クロック数の取得

以下の公式?サイトに載っていました。 RPI vcgencmd usage - eLinux.org

##CPU温度
vcgencmd measure_temp
##電圧
vcgencmd measure_volts
##クロック数
vcgencmd measure_clock arm

ただしこのままではグラフ化できません。 Elasticsearch側に送る必要があります。

JSONに整形

以下のスクリプトで取得したデータを整形&Elastisearchに送信をします。
crontabなどで5分ごとの定期実行させると良い感じになります。

#!/bin/bash
#raspberryPiの情報をjsonに整形する
##CPU温度
ras_temp=`vcgencmd measure_temp      |sed -e "s/temp=//" -e "s/'C//"`
##電圧
ras_volt=`vcgencmd measure_volts     |sed -e "s/volt=//" -e "s/V//"`
##クロック数
ras_freq=`vcgencmd measure_clock arm |sed -e "s/frequency(45)=//"`

#echo $ras_temp
#echo $ras_volt
#echo $ras_freq

json_date={\"ras_temp\":$ras_temp,\"ras_volt\":$ras_volt,\"ras_freq\":$ras_freq}

echo $json_date |/usr/local/bin/fluent-cat log.hoge

kibanaを見てみる

crontabで実行するごとにデータが送られて、
以下のようにkibana側で見ることができました。 f:id:cyamax:20170308040522p:plain

電圧・クロック数が動的に変化

グラフ化して初めて知ったのですが、
RaspberryPiは入力電圧によって動作クロックが変わるようです。

私の環境ではRaspberryPiに繋いでいるUSBアダプタはiPhone用の1Aアダプタを使用し、
USBケーブルは60cmほどの長めのものを使っているので、
電圧が不安定になってしまっているのだと思います。
f:id:cyamax:20170308041814p:plain 電圧とクロックが上下していることがわかります

まとめ

RaspberryPi上でデータ収集&グラフ化までできるようになりました。
次は別センサのデータを集めてみようと思います。

参考

RPI vcgencmd usage - eLinux.org