臭いのリモート監視
(2004-2-9)
■ きっかけ
- 健康と環境の関係が論じられている昨今である。
- だから、「換気予報」という商品があったりする。
- 実際の状況を記録して把握したり、自動で換気扇を回したりするにはネットワークに接続しなくてはならないでしょう。
■ こんな感じで
- 三つの検討課題がありました。
- どこから信号を取り出すか。
- このアナログ信号をどうやってデジタルに変換するか。
- デジタルデータをどうやってネットワークに流すか。
- 「アナログ信号の取り出し」
- 経験から適当に信号を当たってみました。下記の部分がよさそうです。臭い(消毒用アルコールを利用)に反応して、1.2V から1.9V 程度の電圧変化がありました。
- この装置の基板から信号と取り出す(感度調節の設定に依存しないようにみえる)。
- この部分の信号が良さそう。
- 信号取り出し部分の拡大写真(この IC の1番)。
- 信号バッファアンプなどは省略して取り出した。(まあ、あちらの基準が見えないので適当に)
- 「アナログをデジタル信号に変換」
- ポピュラーに CPU と内蔵 A/D 変換を利用。
- デジタルテスターとの相関をとったり、後段のネットワーク接続を意図して、RS-232C で出力。
プログラムは簡単な実例をこちらに用意(インターネットから拾ってきたプログラムを見てみる)。
- CPU ボードと利用した市販デバッグボード
A/D入力線とRS-232C信号線が見える | 最小部品のみ取り付けた |
| |
- AKI-H8 の +5V レギュレータを実装したまま、出力側に +5V を印加してよいのか知識がないので、一応、三端子レギュレータを取り外してある(たぶん、そのままでも OK でしょう)。でも、取り去ってしまうと、デバッグができんのです。(この人は頭いい)
- 「換気予報」を接続し、プログラムを動かして、通信ソフトにアナログ値が表示されればここまでのデバッグは完了です(本プログラムでは、RTS/CTS フローは無し(AKI-H8 にレベルシフトした信号がない)であり、"."の入力を待ってアナログデータが送信される。アナログデータは、0 から 5Vが、"0"〜"5000"として出力される)。
- 「ネットワークに接続」
- ネットワーク接続としては、簡便に"XPort"を使った。
- 汎用に使える回路を設計し、基板化してみた。
- 汎用の3本入力でデータをサーバに知らせる方法もあるが、どうも「換気予報」にドリフトがあるようなので止めておく。
- CPU からの 232C 入力をネットワークに流すようにした。
- デバッグとしては、TELNET で、[telnet 192.168.X.X 10001]のようにして接続し、"."(telnet なので、ENTER 入力も必要)をキーイングすると、"1247" とかデータが帰ってくれば正常。
- 前もって、(XPort 付属のソフトを利して) XPort の初期設定をしておくこと(ネットワーク設定をみてみる、ポート設定をみてみる)。
- MRTG 用にネットワーク経由でデータを引き出すプログラムを用意します。(プログラムを見てみる)
- 設定としては自分のセグメントで設定を行いますが、もし別セグメントで使う場合には、getway を入力してから、その IP アドレスを入力します。別セグメントの IP を設定後は(自セグメントからは)アクセス不能になります。
- XPort の RJ-45 部分(金メッキコンタクト)はちょっと弱い気がした(硬いネットワークケーブルだとその応力を受けて、内部コンタクトがへたってしまう?)。
- 「監視グラフ作成」
- MRTG 化した場合の一例です。
- プログラムで OFFSET 値を引いてますので、MRTG グラフにおいて 60 程度 が「換気予報」の2メモリ(good ともう1ライン)に相当してます。
- このメモリとサンプリングされる電圧の相関値をはっきりさせたいところですが、素人では安定した"臭いの基準値"をステップ毎に作りだせないので、それは諦めてます(実際に 見比べてみたがあまりにも面倒)。また、「換気予報」の臭気計算に温度や湿度を考慮しているかどうかも不明だし。
- 大体「換気予報」の表示は、十分なエージング後とリセット後10分では1メモリも狂っているし。なので、リセットができるように、XPort からもう一本の出力を「換気予報」のリセットスイッチに(フォトカプラで)接続した。(リセット用のプログラムもみてみる)
■ 感想・補足
- 長時間、組み立てやデバッグをしていたら自分の部屋が次第次第に、この「換気予報」の表示が、"換気注意"信号に変わっていったのには、苦笑してしまった。
- アナログ信号を取り出す場所として、より最適な場所があったのかどうかは不明。
- 「H8 に関するクロスコンパイル環境」、「AKI-H8 マイコンの情報」、「CPU への書き込み」、「プログラムの骨子」などは、検索エンジンで収集。
- 同様に「XPort の活用」関連も 検索エンジンにて収集。(集めてきた資料をみてみる)
- XPort については、「トランジスタ技術 2003 10月号」および「http://www.commanderx.com/」をご参考にどうぞ。
- もし、XPort の firmware が V1.50 であると、ここで紹介しているプログラムでは動きません。参考資料が ここにありました。(旧バージョンが欲しいのでダウンロードしてみようか)
- なお、H8 のコンパイル環境は、FreeBSD4.7R, gcc-2.7.2.3, newlib-1.8.1, binutils-2.8.1, newlib-1.8.1, gdb-4.17 で行いました。