##はじめに
この記事はおうちハック Advent Calendar 2014の21日目の記事です。
昨日の記事はajimiteiさんのhue 目覚ましか、それ以外について書きますでした。
もうすぐクリスマスです。クリスマスといえば、サンタさんのプレゼントが子供のころの楽しみですね。私も小さいころはサンタさんを信じていて、どうやってプレゼントを置いたのか不思議におもってた記憶があります。
昔のサンタさんは煙突から入ってきたようですが、いまや煙突がある家は日本では数少ないのではないでしょうか。となると、最近のサンタさんはどうやって入ってくるか。どうにかして扉や窓のカギを開けてはいってきてるに違いないはずです!
では、家じゅうの扉や窓にセンサーをつけておけば検出できるはずです!
窓や扉の開閉を検出するための王道といえば、マグネットスイッチ。これをつかったセンシング装置は、sasaoさんがボタン電池1個で数年持つ無線ドア開閉センサを作るで先日書かれていたので、そちらで詳しく書かれてますので、ここでは触れません。
ちなみに私は、こちらのSEEED STUDIOのマグネットスイッチを使用しています。TWE-Lite DIPは買ったそのままのファームを使用しました。買ってそのまま使えるのは便利ですね。
##判定装置
判定装置には、Raspberry piを使います。Raspberry piのUSBにToCoStickを接続します。
Raspberry piにSSHでログインし、
$ screen /dev/ttyUSB0 115200
とすれば、TWE-Lite DIPから送信されてきた値を見ることができます。
:7C8115019981008CCC78825A000B491A0101FFFFFFFFFFBC
:7C8115019681008CCC78825C000B491A0001FFFFFFFFFFBE
33,34桁目が開閉で00<->01に変化します。
##もうひとひねり
さて、マグネットスイッチだけだと、夜遅くに仕事で帰ってきたお父さんや、子供の寝顔を覗きにきたお母さんを検出してしまうかもしれません。(背の高いお父さん・お母さんのいる方は、すいません、別の方法を考えてください。)
その為にもう一捻り。聞くところによると、サンタさんの身長は非常に高いそうです。であれば、ドアや窓の上に赤外線距離センサーを天井に設置して、背の高さをある程度予測できないかと考えました。
天井までの距離が、我が家(マンションです)だと220cmくらいです。サンタの背の高さが180cmとすると40cm程度の距離が測定できなければなりません。そこで候補になるのが、GP2Y0A21YK。これだと80cm程度まで測定できます。
ただし、この赤外線距離センサーの電源電圧は4.5~5.5Vということで、電源を5vにする必要があります。
一方、TWE-Lite DIPは3.3v駆動なので、以下の仕組みが必要になるかと思います。
・5vから3.3vに降圧する仕組み
→三端子レギュレーターとか
・アナログの信号をレベル変換する仕組み
→ロジックレベル変換モジュールとか
上記の赤外線距離センサーの試作と判定用のコードをrubyで書こうと思っていたのですが、なにかと12月は忙しくて、すいませんまだできていません。年内・年始の休暇中には作成して検証する予定です。
マグネットスイッチが反応した時、対応する赤外線距離センサーの値を見ることで、サンタさんが検出できる!かもしれません。その際に、mp3で"サンタさんありがとう"と再生されるようにしておけば、きっとサンタさんも喜んでくれるのではないでしょうか。
##サンタさんにもハッキング能力が必要な時代がやってきた
先日、ソニーさんがスマホで鍵を開け閉めする機器を来年春に発売すると報道されました。そうなると、サンタさんにもハッキング能力が要求されることになりますね。サンタさんも大変です。
##最後に
クリスマスシーズンということで、サンタバージョンで書きましたが、そもそもこのシステム、学校から家に子供が帰ってきた時に教えてくれる仕組みが欲しくて、真面目に考えてます。子供が二人(小学生と中学生)いるので、それもわかる方法がないかなと。
背の高さの検出は赤外線距離センサー以外も視野に入れて、今後もいろいろと考えていきたいと思っています。
また、検出した際には、私と嫁さんの携帯にメールが届くようにしたいと思っています。rasberry piならメールを出すくらいは難しくないですし。
それでは、よいクリスマスをお迎えください。ちょっと早いですが、Merry X'mas!