Raspberry PiとIoT そしてMovable Type(MT東京-17でトークしました)

Movable Typeのイベント「MT東京 17」でLT(ライトニングトーク、5分ほどのトークのこと)をしてきました。

テーマはRaspberry PiとIoT、いわゆる「モノのインターネット」についてです。

Raspberry Piは手のひらに乗るほどの小型のコンピュータですが、多くの特徴を兼ね備えています。まずはCPUの性能。今まではこのような小型の端末は特殊なOSで制御されることがほとんどでしたが、Raspberry Piでは一般的なLinuxが動作し、速度的にも問題ないものとなっています。

また小型ディスプレイやカメラへのインターフェイスを備え、さまざまな用途が考えられます。しかしLinuxマシンとして最も特徴的なのは2列のピン群ではないでしょうか。これらのピンにはそれぞれの役割が割り当てられており、GPIOと呼ばれる3.3Vでの入出力や、3.3V/5Vの電源、アース(電池でいうマイナス極)などの働きをします。

Raspberry Piではこれらのピンを経由して温度計やリモコンで使われる赤外線LEDなどの制御ができるようになっているのです。Raspberry Piの登場でやや忘れられかけていた電子工作への注目が再び集まり、秋葉原のパーツショップでも心なしか盛況が戻ってきたような気がします。

他方IoTとは非常に定義が難しく、簡単に言ってしまえば「あらゆるものがインターネットに接続される」概念のことです。今回は家電に限り(IoTが語られる範囲はもっと広く、車や電車と言った交通インフラからコンビニに並んでいる商品まで非常に多岐にわたります)実際にRaspberry Piに触れてみて、私なりに考えたIoTの姿を作ってみました。

人工無能とおしゃべりして家電を操作する

モノのインターネット化を考える時にまず課題になるのがインターフェイスだと思いますが、私は家電サーバーを人格に見立てて会話することによって家電を制御するという方法を取ってみました。これは最初Twitter上の仮想アカウントとして実装され、より細かいライフログとなるようMovableTypeに移植しています。

LTでは「Raspberry Piと交換日記のようなことをしてみよう - なんだか生活が便利になるかもしれない」と題して移植の成果を発表しました。

Raspberry Piの大きな特徴として簡単に電子工作を繋ぎ込める点があることは前述しました。今回はリモコンの送受信機(受信機は学習用)と温度計、室内灯を作ってみました。

2枚目の画像の白い板はブレッドボードと呼ばれるもので、ハンダ付けをしなくても回路を組むことができる便利なものです。部品を差し込むだけなので、間違えて配線してもすぐ直すことができます。ただし、間違って抜けてしまったりもするので配線が決まったらハンダ付けをした方が良いでしょう(今ではブレッドボードと同じ配線になっているハンダ付け用の基盤も売っています)

これらの動作確認をしたら、

などの作業をします。実際にRaspberry Piに書き込みをさせたのが以下になります。天気予報やスケジュールのAPIを叩いてそれらしきことを言わせています。

赤枠のところが自動投稿されたものです。では仕事が終わって家に帰る旨を書き込んでみましょう。Raspberry Pi上ではMovableTypeのData APIを経由してMTブログの新しい書き込みを監視するイベントループプロセスが常に走っており、特定の書き込みをすると書き込み内容に応じてリモコンの制御などを行った後、再びData APIを経由して動作に応じた書き込みをするようになっています。

部屋が暑いのを感知してエアコンを入れてくれました。特定のキーワードに反応しているだけなのですが、ルールを緩くすることによって会話が成り立っているように見えますね。他にも自宅に近づいたら玄関のライトが明るくなったり、エアコンを入れるように指示しても室温によっては「その必要はない」と断ったりと色々機能を付け足しています。他にも自宅から遠ざかるのを感知したら自動的にエアコンや電源タップをOFFにするなど省電力機能に力を入れました。

急に涼しくなってしまったので最近は仕事が終わってもエアコンをつけてくれなくなりましたが、これから寒くなると今度は暖房を入れてくれるようになります。

よかったこと、今後の展開など