muninで温度湿度のグラフを表示させたい

スポンサーリンク

こちらの続きで、ラズパイ2で温度湿度を取得できたので今度は温度と湿度をグラフ化して表示させてみます。

【こっ、こいつ動くぞ】恐る恐るラズパイ2で温度・湿度測定してみる
ebay.comで注文しておいた電子パーツが続々と届きだしたので、ちょっと息抜き程度にラズパイ2をいじくることにします。一応ヲタクの部類の人...

温度湿度センサー DHT22のPythonスクリプト設定

例のごとくこちらの方の「まったくの」猿真似です汗

温湿度センサAM2302/DHT22をRaspberryPiに接続しグラフ表示

WS000004

~/Adafruit_Python_DHT/examples$

ここから再開します。

Adafruit_Python_DHTのサンプルファイルを少し加工して使う

ここで、ファイルをコピーするのですがファイルの所有者がrootになっているのでgo(自分)に変更しました。

sudo chown -R go ../../Adafruit_Python_DHT

で、温度・湿度のスクリプトをコピーします。

cp AdafruitDHT.py temp.py
cp AdafruitDHT.py humid.py

コピーしたものの出力を変更

temp.pyの下のほうにある今まであったprintの行をコメントアウト#して追加します。

vim temp.py
# print 'Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity)
 print '{}'.format(temperature)#変わりにコレを入れる

humid.pyも同様に変更

vim humid.py
 # print 'Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity)
 print '{}'.format(humidity)#変わりにコレを入れる

できたら/usr/local/binにコピーします。

sudo cp temp.py /usr/local/bin
sudo cp humid.py /usr/local/bin

munin インストールしてmuninファイル設定

ここでグラフを表示させるツールのmuninをインストールします。(Apache2を先にインストールしましょう!)

sudo apt-get install munin

muninの設定については別記事で書きます。

temp.py,humid.pyを定期的に動作させるスクリプトを書く

こちらも まんまコピーですがスクリプト作ってくださっているので使わせていただきますm(_ _)m

多分、温度の出力をmuninに合わせて整形したものを出力するスクリプトだと思います。

こういうのMRTGで昔よくやりました。

温度のスクリプト

sudo vim /usr/share/munin/plugins/temp
#!/bin/sh
#%# family=auto
#%# capabilities=autoconf
GETNUM=`python /usr/local/bin/temp.py 22 4`
if [ "$1" = "autoconf" ]; then
 if [ -n ${GETNUM} ] ; then
 echo yes
 exit 0
 else
 echo no
 exit 0
 fi
fi
if [ "$1" = "config" ]; then
 echo 'graph_title temperature'
 echo 'graph_args -r --lower-limit 0'
 echo 'graph_vlabel C'
 echo 'graph_category Weather'
 echo 'total.label temperature'
 echo 'total.min 0'
 echo 'total.draw LINE2'
 echo 'total.type GAUGE'
 exit 0
fi
echo "total.value $GETNUM";

湿度のスクリプト

sudo vim /usr/share/munin/plugins/humid
#!/bin/sh
#%# family=auto
#%# capabilities=autoconf
GETNUM=`python /usr/local/bin/humid.py 22 4`
if [ "$1" = "autoconf" ]; then
 if [ -n ${GETNUM} ] ; then
 echo yes
 exit 0
 else
 echo no
 exit 0
 fi
fi
if [ "$1" = "config" ]; then
 echo 'graph_title humidity'
 echo 'graph_args -r --lower-limit 0'
 echo 'graph_vlabel %'
 echo 'graph_category Weather'
 echo 'total.label humidity'
 echo 'total.min 0'
 echo 'total.draw LINE2'
 echo 'total.type GAUGE'
 exit 0
fi
echo "total.value $GETNUM";

スクリプトのシンボリックリンク

sudo ln -s /usr/share/munin/plugins/temp /etc/munin/plugins/temp
sudo ln -s /usr/share/munin/plugins/humid /etc/munin/plugins/humid

パーミッションの変更

sudo chmod 755 temp humid

root権限で動作するように設定

sudo vim /etc/munin/plugin-conf.d/temp
[temp]
user root
sudo vim /etc/munin/plugin-conf.d/humid
[humid]
user root

munin再起動

/etc/init.d/munin-node restart

再起動するとroot権限ないからパスワード入れろと言われる。

WS000005

パスワード入れたら再起動した。

muninでグラフ確認

Apacheを先に入れて置かなかったのでハマって

各種センサーグラフ表示のためmuninインストール Apache入れてなかったのでハマった
以前はMRTGが主流でしたが現在のグラフにしてくれる監視ツールはmuninが主流とのことなのでラズパイ2にmuninをインストールして温度な...

解決したら普通に温度・湿度のグラフが生成されてる!

WS000008

メニューに「weather」の項目が増えて温度・湿度が表示されるようになった!

この温度と湿度は正しいのか?今、室温18度くらいあるかな?

湿度なんて70%もあります。外雨降ってるようだからこんなものなのか?

分からない。確認のために別途温度計が欲しくなってきた(汗)

そういえばキャンプようの温度計あったので見てみたらほぼ同じくらいの温度だった。

正確なんじゃないでしょうか。

スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。