カテゴリ
リンク

ご迷惑をおかけします。以前の記事とリンクが切れています。ただいま修復中です。
当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

 昔、中学校で、日誌に温度と湿度を書いていたことを思い出すことがあります。すでに遠い記憶となって、何の日誌だったかは思い出せないでいますが、当時の生活環境で温度と湿度をペアとして先生に記録を指示されていたのでしょう。
 こうしたとき、今日のように玄箱(pro)と「温湿度計測ユニット」を簡単に接続して温湿度観測の自動記録ができらたよかったですね。
 と、まえおきを書きましたが、気楽に玄箱(pro)に接続できる「温湿度計測ユニット」が見つかれば、後は MRTG に温度と湿度の収集とグラフ化させて、それは実現できそうです。

●「温湿度計測ユニット」を活用する
 最近の業界には便利なユニットがたくさん出回っていますが、温度や湿度を計測する「おんどとり」もその一つです。これは「温湿度データロガー」と呼ばれていて、とくにTR-72Wは、温度と湿度が同時に計測でき、インターフェースとしてネットワーク経由でデータ収集が可能になっています。
 下表に製品の主なスペックを掲載します。詳細については、http://www.tandd.co.jp/product/tr7xW/specification.phpのメーカ・ホームページを参照ください。

TR-71W TR-72W
測定要素 温度 温度・湿度
チャンネル数 2チャネル(外付けセンサ) 温度・湿度各1チャネル(外付けセンサ)
測定範囲 -40~110 ℃(付属外付センサ)-60~155 ℃(別売センサ) 温度:0~50℃ / 湿度:10~95%RH-40~110 ℃(別売センサ)
測定精度
(付属センサ)
平均±0.3℃(-20~80℃)
平均±0.5℃(-40~-20℃/80~110℃)
平均±0.3 ℃・±5 %RH
(25℃、50 %RHに於いて)
測定・表示分解能 0.1℃ 0.1℃・1%RH
インターフェース

 有線LAN:100 BASE-TX / 10BASE-T (RJ45 コネクタ)

 実際の外観の写真を下に示します。

514P1040119.jpg 
 左側についているのが温度および湿度のセンサです。以前も書きましたが、その分野の専門家でない場合は、どうしても校正作業が負担となります。この点でメーカが精度の保証をしている部分と支払金額とは、我々にとって取り引き要素なのかもしれません。
 さて、センサ部を延長して戸外で利用したい場合などでは、1メートルのケーブルの付いたタイプ(TR-3110温湿度センサ)を使用するとよいでしょう。

524P1040155.jpgどのような観測ができるか
 メーカのサイトにデモがありますので、実際に動作させて見ることができます。下がそのスナップショットです(Internet Explorer 7 では表示が正常でしたが、Firefox 2.0.0.11 では数値が表示されなかった)。

4tr-72w-demo.jpg (IPアドレスなどの設定の説明)
 ところで、一般にブラウザが表示できることは、ブラウザのプロトコルかプラグインのプロトコルでデータを取りに行っているわけで、このあたりを調べてみることにしました。すると、結果として、

http://設定IPアドレス/B/crrntdata/cdata.txt

なるURIにデータが置かれていることがわかりました。
 ということで、Webブラウザで、

http://192.168.1.17/B/crrntdata/cdata.txt

 この場所にアクセスすれば、データに関する表示がWebブラウザにこのように表示されました。 

#1
MachineCode=2
Name=----
Time=2008/01/029 16:34'00
Unit=0
cTemperature1=21.3
cHumidity=30
wState=0


スクリプトでデータを吸い出す
 この TR-72W という温湿度計測ユニットから、Webブラウザを通じて直接にデータをみることができるのであれば、あとは簡単です。 今までと同様に「玄箱/PRO」が温度データをロギングするサーバになっています。このロギングしたデータは、後述するように MRTG で手っ取り早く表示したり、好みで RRDTOOL を利用します。
 では、早速、スクリプトを書いてみましょう。 ここで、TR-72W の IP アドレスが 192.168.1.17 に設定しておいたとすれば、シェル・プログラム(get-ondo.bsh)はこうなります。

#! /bin/sh

url="http://192.168.1.17/B/crrntdata/cdata.txt"
wget=/usr/bin/wget
awg=/usr/bin/awk

$wget -q -O - $url | awk 'BEGIN{FS="="} /cHumidity=/ || /cTemperature1/ {print $2}'
echo "TEMP"
echo "-"

 wget というコマンドで http プロトコル形式のデータを入手し、温度および湿度のキーワード部分を awk コマンドで引っかけて、"=" 以降に続く値(温度と湿度)を標準出力に吐き出します。以前に作成した DS18S20 の場合と同様の形式で表示がされる訳です。

mrtg.cfg の変更は一つだけ
 2回前の記事で紹介した /etc/kuro-mrtg.cfg を /etc/mrtg-tr72s.cfg としてコピーし、温度計測を担当するプログラム名を変更し、温度と湿度がグラフ化されるように若干修正するだけで完成です。この設定例を下に示します。

WorkDir: /var/www/mrtg
PageTop[^]: <H1>Stats for
#TimeZone[_]: Japan
Options[^]: gauge growright
kilo[_]: 1024
XSize[_]: 600
Target[tr72w]: `/home/k-wada/program/tr72w/get-ondo.bsh`
MaxBytes[tr72w]: 100
MaxBytes2[tr72w]: 100
Title[tr72w]: Thermometer
Options[tr72w]: absolute, gauge
PageTop[tr72w]:Thermometer</H1>
AbsMax[tr72w]: 100
Ylegend[tr72w]: dig.
ShortLegend[tr72w]: dig
#RouterUptime[tr72w]:public@xxx.xxx.xxx.xxx
Unscaled[tr72w]: dmwy
LegendI[tr72w]: dig.
LegendO[tr72w]: %
Legend1[tr72w]: Thermometer
Legend2[tr72w]: -
kurobox:/home/k-wada/program/tr72w#

 /var/www/mrtg のディレクトリに生成されるメインのファイル名は tr72w.html となりますから、ブラウザで確認してください。
 手動で mrtg を起動すると初めの数回は初期データがありませんから、以前も経験したこのようなメッセージが表示されます。

kurobox:/home/k-wada/program/tr72w# /usr/bin/mrtg /etc/mrtg-tr72s.cfg
2008-01-22 22:26:44, Rateup WARNING: /usr/bin/rateup could not read the primary log file for tr72w
2008-01-22 22:26:44, Rateup WARNING: /usr/bin/rateup The backup log file for tr72w was invalid as well
2008-01-22 22:26:44, Rateup WARNING: /usr/bin/rateup Can't remove tr72w.old updating log file
2008-01-22 22:26:44, Rateup WARNING: /usr/bin/rateup Can't rename tr72w.log to tr72w.old updating log file
kurobox:/home/k-wada/program/tr72w# /usr/bin/mrtg /etc/mrtg-tr72s.cfg
2008-01-22 22:26:52, Rateup WARNING: /usr/bin/rateup Can't remove tr72w.old updating log file
kurobox:/home/k-wada/program/tr72w# /usr/bin/mrtg /etc/mrtg-tr72s.cfg
kurobox:/home/k-wada/program/tr72w#

 温度と湿度のように密着したペア・データのみを簡単に観測したい場合には、MRTG を利用するほうが敷居が低いように感じられます。以下は1日分を拡大してグラフ化させたものです。

4mrtg-tr72w-2008-1-29-a.jpg
 さて、補足として TR-72W という温湿度ユニットをネットワーク経由で活用する方法を MRTG と関連付けて説明してみました。これまで何度か述べているように「自作して校正に費す時間およびその信頼度」と「それはメーカに任せてお金を払う」とのバ ランスには、その個人の嗜好や技術に関係して難しいものがありますね。
 ただ、ソフトウェアの世界では、まだまだ、"自作=自分でインストールして設定して活用する"という世界が、手もとの玄箱(pro)ところに残っているように思った次第です。
 この MRTG グラフでも十分であると想像するのですが、もしマイナス値も表示したいとか、グラフの様相を向上させたい場合は、rrdtool を適用されてください。

 <参考画像1>
33mrtg-tr72w-1.jpg
 <参考画像2>
34mrtg-tr72w-2.jpg


<和田 好司>

 カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: シリアル・インターフェースで温度を観測する(その4) RRDTOOL編・補足(TR-72W)編

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1413

コメントする

おすすめ書籍
Powered by
Movable Type Publishing Platform 4.0