RaspberryPiのCPU温度、電圧、クロック数をElasticsearchに送ってグラフ化
RaspberryPiのCPU温度、電圧、クロック数をElasticsearchに送ってグラフ化
プログラム
作ってみた・やってみた
2017/3/9
ログの可視化
せっかくelasticsearch×kibana×fluentdの環境を構築したので、
データを入れていきます。
準備
以下の手順で環境を準備します。
CPU温度、電圧、クロック数の取得
以下の公式?サイトに載っていました。
http://elinux.org/RPI_vcgencmd_usage
##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側で見ることができました。
電圧・クロック数が動的に変化
グラフ化して初めて知ったのですが、
RaspberryPiは入力電圧によって動作クロックが変わるようです。
私の環境ではRaspberryPiに繋いでいるUSBアダプタはiPhone用の1Aアダプタを使用し、
USBケーブルは60cmほどの長めのものを使っているので、
電圧が不安定になってしまっているのだと思います。
電圧とクロックが上下していることがわかります
まとめ
RaspberryPi上でデータ収集&グラフ化までできるようになりました。
次は別センサのデータを集めてみようと思います。