ちょっと温度を色々測ってSNMPで統計グラフ処理したいな・・・と思っても結構なお値打ち価格で手が出にくいのがセンサー関係ですよね。需要から考えれば致し方ないのですが。
あっしは何か無いかなーと、計測マニアの方々のブログを眺めていたところ、「1-Wire」というものに出会いました。見た目トランジスタなのですが、1-Wireの中で温度センサーなるものを見つけました。問題は、温度センサーからのデータをどうやって吸い上げるのかというのと、それをSNMPとして取得したいという目的のためにちょこっと調べてみました。
まずは、1-wireのデータを吸える機械がこちら。
http://www.embeddeddatasystems.com/
海外から仕入れるしかとりあえず現在は方法はないようです?日本で扱っているのは見たことがないです。
で、どんな感じになるかというと・・・・
各センサー(温度)の値を拾ってますよね。グラフもとりあえず出せます。これがSNMPの中途半端な仕様に対応しているので、この機械が無ければ駄目なのですが、2万円しないけど個人では買いにくい(苦笑)。
RJ12ポートが3ポートあり、そこから5Vが出ている感じです。3.3Vだったかな?。ノリとしてはUSBみたいなノリです。
で、1-wireのセンサーですが、これは皆大好きな「秋月電子通商」さんで購入できます。
[DS18B20+]というセンサーで1個300円。
それを、以下画像の様に、電話のモジュラー(RJ12)の中継モジュラーの入れ物を改造してセンサーBOXの代わりを制作します。ちょこっとだけ電子工作が必要です。
配線を間違えなければデータが上がってきます。結線方法は寄生電力モードで使いたいので、「VDDとGND」をつないで、「DQ」と2つにします。RJ12も真ん中2芯しか使いません。それでもって数珠繋ぎ出来るような形にします。そしてホットボンドなどで、線同士が短絡しないようにヌリヌリしておけばばっちり。外気温度を見たい場合は防水処理を忘れずに。
データが拾えたらsnmpwalkで以下OIDで値が出力されているかをチェック。
DS18S20のOID .1.3.6.1.4.1.31440.10.6.1.1.0~31
DS18B20のOID .1.3.6.1.4.1.31440.10.5.1.1.0~31
SystemAnswerG2でグラフを出す場合はカスタムスクリプトで対応します。私は自由にOIDをコール出来るようなスクリプトを作成して上記のようなグラフを出せるようにしています。
グラフは外気温度なのですが、室外機エリアの温度が知りたかっただけなので、実際の外気温度とは違います。ちゃんとやるには百葉箱とか作ってください。
外気以外に、サーバー室の吸気側(コールドアイル)と、排気側(ホットアイル)にセンサーを設置して、温度変化状況を監視しています。
温度センサーはサーバー室は正直ツマンナイグラフです(笑)。外気温度はグラフにすると面白いです。無駄に1分統計間隔でグラフを作成しています。
という感じで、多分一番安く出来上がってるんじゃないかなーと。
今度、湿度計にもチャレンジしたいなと思っているんですけどね・・・。湿度計もちょっとアレンジして、たとえば水漏れ検知とかも出来たら面白いですよね。通常の安定した湿度であれば、しきい値でアラートするようにすればいいわけで。
本当であれば、空調機のデータがそのままSNMPで取れるといいんだけどねぇ~。