2014年10月6日月曜日

「おしゃべりTWE-Liteで戸締りチェッカー」を作ります

 TWE-Liteを使った実用工作第2弾は、戸締りチェッカーです。無線タグアプリ(Samp_Monitor)をベースに、目的の動作となるように改造します。
 ソフトウェアは着々と実装が進みつつあります。ハードが出来上がるには、あと2-3週間くらいかかりそうです。

 Samp_Monitorの最小構成は、センサー子機(EndDevice_Input)と親機(Parent)です。親機は常時動作で子機からのセンサー情報を待ち受けます。したがって、ACアダプター等の常時供給可能な電源を用意しなくてはなりません。電池駆動では、単三電池で1週間も持ちません。
 通常、戸締りチェックを行うのは外出前の玄関ですが、我が家の玄関にはコンセントがありません。同じシステムを設置しようと考えている会社の事務所も、出入り口付近にはコンセントがありません。設計をする前から、これは困った問題でした。

 こんな用途を予想していたのか、 Samp_Monitorには、さらに進んだ使い方が用意されていました。それが、MessagePoolによるリモート子機(EndDevice_Remote)への情報配布です。現在公開されているv1.3.3およびToCoNet SDKに含まれているv1.3.2のreadmeでは全く触れられていないのですが、2013年11月に配布された旧バージョンのSDKに含まれるv0.7.4では、センサー子機-親機-(中継器)-リモート子機という情報の流れが解説されています。
 センサー子機からの情報を収集した親機は、同報送信で情報を配布するMessagePoolを使って、定期的に中継器および子機に同じ情報を展開することができます。また、子機からのMessagePool 要求に応じてオンデマンドで配布を行うこともできます。この仕組みを利用し、コンセントの近くに常時動作の親機を、玄関に電池駆動のリモート子機を置くことにします。この構成なら、リモート子機は通常はスリープさせておいて、お出かけ前だけ動作させればいいので、電池交換を頻繁に行う必要はありません。

 状態表示の役割を担うリモート子機は、警告LEDとLCDに加え、「TWE-Liteではじめる カンタン電子工作」に載っていた AquesTalk pico LSI を使って、音声によるアナウンスを行います。

 センサー子機については、 Samp_MonitorのEndDevice_Inputが、ほぼそのまま使えます。改造ポイントは、スイッチによる起床に加えて定時送信を行うようにする位です。
 なお、現在公開されているSamp_Monitorでは、ドアタイマー(0x51)および磁気スイッチのモード(0xFE)で、外部プルアップが意図した通りに無効化されないバグがあります。このままでは、待ち受け時の電池持ちが1/10くらいに悪化するので要注意です。この問題は、判定タイミングを設定値読み込み後に移動することで解決します。


0 件のコメント:

コメントを投稿