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

こちらの続きで、ラズパイ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を先に入れて置かなかったのでハマって

以前はMRTGが主流でしたが現在のグラフにしてくれる監視ツールはmuninが主流とのことなのでラズパイ2にmuninをインストールして温度などのセンサーで取得したデータをグラフ化してみます。

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

WS000008

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

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

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

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

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

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

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. シモ より:

    お世話になります。
    記事のようにインストールをし、後でapache2をいれやってみましたが、muninでweatherの項目がでないのです原因はわからない。

    • GO より:

      シモ様
      温度センサはどんなの接続しましたか?
      http://bey.jp/?p=15682
      まずは、こちらの記事のように温度センサが動くようになったらmuninでも動くようになると思います。

      • シモ より:

        お世話になります。
        DHT22は正常に動作します。
        Adafruit_Python_DHTexampleにしてから記事のようにしておりますが、chmod 755 temp humidができない。 
        /home/goではパーミションをしました.
        すべてはAdafruit_Python_DHTexamplesこの状態ですべきですか。

        • GO より:

          シモ様
          パーミッション変更はファイル郡をrootからユーザーに変更してからやってみてください。
          すべてはAdafruit_Python_DHTexamples←の意味が分かりませんでした(汗)

          • シモ より:

            お世話になります。
            温度、湿度のスクリプトは/usr/share/munin/pluginsにありスクリプトのシンボリックリンクもでき、ファイルはあります。’/’の以下にありchownで変更して/home/goの下のAdafruit_Python_DHT/exampleにてパーミション変更はだめでした。

  2. シモ より:

    お世話になります。
    手数をかけまして申し訳ございません。
    http://xxx.xxx.xxx/muninにてグラフでweather(dwmy)が表示されますが、sudo chmod 755
    temp humidが動作しないので、データ表示がないです。