ラズパイ2(Ubuntu Mate) VNC・ブリッジ接続・電子工作・ext4領域を増やす・リモートデスクトップ:【ラズパイ2】muninで温度湿度のグラフを表示させる

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

この記事は複数のページに別れています
  1. (今このページを見ています)

温度湿度センサー 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 '{0:0.1f}'.format(temperature)#変わりにコレを入れる

humid.pyも同様に変更

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

パーミッションの変更

cd /usr/share/munin/plugins/
sudo chmod 755 temp humid

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

sudo vim /etc/munin/plugin-conf.d/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を先に入れて置かなかったのでハマって

無効なURLです

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

WS000008

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

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

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

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

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

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

コメント

タイトルとURLをコピーしました