Hubotと二人暮らし(構想編)
この記事はHubot Advent Calendar 2014 - Adventarの20日目の記事です。
ネタ感あふれる記事なので気楽に流し読みしていただいたらと思います。 というかすみません、実はボットは未完成です・・。
Hubotとの出会い
たしかHubotのことを知ったのは、rebuild.fmだったと思います。最初は趣味のアプリをよくあるChatOps的に自動テスト・デプロイをチャット経由でやってみたいなー、とか思って使い始めました。
しかし、実際にHubotを触ってみるとこれって自分の生活を改善するために使えるんじゃないかと思い至りました。 そこで興味があさっての方向に行ってしまい、生活向上のために先人のスクリプトをあさったり、物品を購入したりして、Hubotと二人暮らしをやってみようとした途中経過が今回の記事です。
一日の流れ
一日の流れから何をしてほしいかをざっと整理しました。
朝
- 冬だと朝、暗いと起きれない、決まった時間に照明と暖房をつけてほしい
- 今日の天気が知りたい
- 昼ごはんをコンビニ弁当を買うか、外食するか決めてほしい
- 一日の運勢を知りたい
昼
- 昼休みに雑誌読むか新書読むか決めてほしい
夜
- 今晩なにを食べるか決めてほしい
- 寝るときリビングの電気と、寝室の電気を同時に落としてほしい
その他
- 室温が知りたい
- Webカメラで留守時の部屋の状況が知りたい
- ただいま、おかえりのあいさつ
- 今日のアニメを教えてほしい
などなどです。
購入物
電気つけて欲しいとか温度知りたいとかはHubotだけでは達成できないので次のような物品を購入しました。 自宅制御のためにRaspberry PiにHubotを住まわせようと思っていたのですが、まだ出来ていません・・・。 出来上がり次第、記事にしたいと思います。
購入品 | 用途 |
---|---|
Raspberry Pi Type B | ボットの住処にする予定 |
Arduino Uno (スイッチサイエンスのキット) | Raspberry Piのセンサ、firmataで使う予定 |
IRKit | エアコン・テレビ・照明の制御 |
リモコンスイッチOCR-04 | 寝室の照明が赤外線リモコンで操作できない |
利用しているスクリプト・チャットサービス
スクリプト
自分で実装する時間がなかったため、下記のnpmを利用しました。 一般的に使えるスクリプトでキャラクター成分が少ないため今後、 勉強をかねてソースを見て改変していこうと考えています。 基本的にWeb APIが叩けるサービスならなんでもscriptにできそうなので、ネタは尽きないかなぁと思います。 (すでにみんないろいろやってそうだけど。。。)
npm | 用途 |
---|---|
cron | 定期処理の実行 |
hubot-irkit | irkitの登録、命令の登録 |
hubot-animemap | アニメの確認 |
hubot-weather-ja | 天気の確認 |
johnney-five | arduinoの操作で利用。とあるイベントで知った、そもそもこれでできるのか調査が必要。 |
チャットサービス
チャットサービスはTypeTalkを利用しています。Slackの連携機能だとHubotを家に住まわせる場合、DNSの取得&ルータに手を加えないといけないみたいなので、アカウントを作れば単純に連携できるTypeTalkにしました。
2015/01/27 追記
こちらご指摘がありSlackでも現在は可能なようです。調査&結果がでしだい再度記事を書きます。
将来の構想
よくよく考えてみたら、やりたいことはHubotで実装する必要は全くなく、それぞれ別々のアプリや家電やcronでいいわけです。 しかしキャラクターづけすることで、一人暮らしが少しだけ楽しくなるし勉強にもなると思います。
上の機能を実装し終えたら、音声応答*1や機械学習、センサーからのデータの有効活用などを考えています。 あとはOculus Rift本が出たので、それも参考にいろいろやってみたいなぁ・・・。**
*1:選んだキャラクターがあの人なのも一応そのため、本当だよ!