Edited at
IoTLTDay 25

Roomba(ルンバ) とマイホームとIoT

More than 1 year has passed since last update.

この記事は、IoTLT Advent Calendar 2016 - Qiita 25日目の記事です。

2016年、念願のマイホームを購入、ペットのRoomba(ルンバ)が家族に加わり、新生活が始まりました。

そんな我が家の2016年 IoT事情をご紹介します。


  1. お掃除ペット Roomba(ルンバ)

  2. 物理で殴れ! MicroBot Push(マイクロボットプッシュ)

  3. 電気配線の失敗を Philips Hue と IRKitでカバーする

  4. 家の近所に変態が。。。 Slackで防犯情報等を通知する

  5. 家族とIoT

  6. まとめ


1. お掃除ペット Roomba(ルンバ)

家が広くなったのでお掃除が大変に。そこでRoomba(ルンバ)です。

最新モデルのRoomba(ルンバ)900シリーズ

roomba0.png

最新モデルのRoomba(ルンバ)900シリーズではWifiを搭載し、

スマホアプリから掃除を開始させたり、スケジュール登録等が可能です。

我が家では、そこからもう一歩踏み込んで、

AppleWatchiPhoneにむかって、「掃除をして」とお願いすると、

Roomba(ルンバ)が走り出すように調整を加えました。

Roomba(ルンバ)には、掃除開始や・掃除停止等のコマンドを受け付ける、

Public HTTP APIが用意されていて、iRobot Cloud Serviceのユーザ名とパスワードを知っていれば、

スマホアプリ以外からでもコントロールが可能です。

iPhoneやApple Watchに搭載されているSiriを経由し、

HomebridgeでこのAPIを叩くことで実現しています。

詳しくは下記をご覧ください。

「Hey Siri 掃除をして」で、Roomba(ルンバ)に掃除をしてもらう
マルチクラウドインテグレーター データホテルのテックブログ

Roomba(ルンバ)のスマホアプリでは、掃除中・掃除完了のような掃除状況を、

家の外からでも確認することができます。

ただし、push通知機能はないようで、確認する際はアプリを再度立ち上げないといけません。

そこで我が家では、お掃除状況や、何か掃除中にトラブルが発生した場合は、

Slabk botからRoomba(ルンバ)のAPIにお問い合わせ&返ってくるレスポンスを整形して、

Slackに状況を報告してくれるようにしました。

slackbotの@hubonyanがRoombaの掃除状況を教えてくれる

8089e50294910c6cb163e5cb54ad137b.png

我が家では、だいたい40〜50分くらいで掃除が完了するので、

出勤時間にあわせてRoomba(ルンバ)を起動しておくと、

仕事を開始するタイミングでPCに掃除完了の通知が飛んできます。

掃除の開始、終了をpush通知してくれるだけでなく、

エラーで止まった場合は原因も通知してくれます。

詳しくは下記をご覧ください。

Roomba(ルンバ) のお掃除状況を飼い猫に鳴いてもらう
マルチクラウドインテグレーター データホテルのテックブログ

最近では、Roomba(ルンバ)の搭載しているAPIを丸裸にした人がいたりと、

Roomba(ルンバ)業界が盛り上がっています。

koalazak/dorita980
dorita980: unofficial iRobot Roomba 980 NodeJS library / SDK

来年は、上記のパッケージを使って、Roomba(ルンバ)のお掃除ルートを

地図にマッピング&Slackに投稿する仕組み作りに挑戦してみたいです。

ルンバかわいいよルンバ。


2. 物理で殴れ! MicroBot Push(マイクロボットプッシュ)

我が家の近所は、都市整備が進んでおらず、外灯がないため夜になると非常に暗いです。

家の外の電気は、玄関の天井に組み込まれているため、

Philips HueのようなWifi対応の電球に取り替えることができず、

何か電気をつける方法はないかなと思っていました。

ある日、MicroBot Push(マイクロボットプッシュ)という、

遠隔から操作可能な物理ボタンデバイスが発売されるという情報を知り早速購入。

MicroBot Push: the wireless robotic button pusher
マイクロボットプッシュは、人の代わりに、ボタンを押してくれる指ロボットです。

IFTTTとも連動可能な優れもので、

(IF) 家の近くまできたら、(then) MicroBot Pushで外灯のスイッチをONにする

なんでことが可能になりました。

  玄関照明をPush 

  床暖房をPush

また、同様にスイッチならなんでも押せるので床暖房の操作パネルにも設置

寒がりなので、家に着く頃にはリビングがあったかくなっているのはとても嬉しい。

(同じこと考えている方が:床暖房を押したいけど、押せてない話

IFTTTを通し、SlackPhilips Hue等にも連携可能なので、

手元に置いておいて、Amazon Dash Buttonのように、

イベント発火のトリガーとしても使うことも可能です。

我が家では、電動シャッターの設置を予算の関係で諦めたのですが、

IRKitMicroBot Pushと組み合わせると、

一斉にシャッターを開け閉めしたり、毎朝7:00にシャッターを開けるようなタスクも作成できたりと、

夢が広がっていたと思われ、購入を断念したのを非常に後悔しています。

サンタさん、今年のクリスマスは電動シャッターが欲しいです。。。


3. 電気配線の失敗を Philips Hue と IRKitでカバーする

電気配置.png

マイホームを購入するときは電気配線(スイッチ)はほんとよく考えたほうがよいです。

我が家はリビングとダイニングのスイッチが離れた場所にあって、

夜、寝室に向かうときにリビングのスイッチを切り忘れて、

リビングとダイニングをいったりきたりすることがありました。

ちょっとのことなのですが、毎日となると地味に面倒です。

ダイニング・キッチン側にも追加でリビングのスイッチの設置を依頼すればよかったですが後悔先に立たずです。

しょうがないので、ダイニングはPhilips Hue を取り付け、 リビングはIRKitで、なんとかしました。

iPhoneに「Hey Siri おやすみなさい」といえば、Homebridgeを通して、

1階の家電(リビング照明・リビングTV・ダイニング照明)の電源をすべて落としてくれます。

動画ではApple Watchですが、普段はiPhoneです。

iPhoneは寝室に必ず持っていくので、階段を登りながらSiriさんにいつもおやすみなさいをしています。

我が家にはまだエアコンがないけれど、

来年にでも購入したらIRKitがさらに仕事してくれると思ってます。


4. 家の近所に変態が。。。 Slackで防犯情報等を通知する

我が家では、Roomba(ルンバ)や、MicroBot Push(マイクロボットプッシュ)等の、

IoTデバイスの通知&コントロールセンターとしてSlackをフル活用しています。

その他にも、生活に役立つ情報はどんどんSlackに通知しているのでちょっとご紹介。


防犯情報

ご近所さんから、最近庭に置いていた自転車を何者かに盗まれて警察に相談したという話を聞き、

我が町の治安が心配になったので、防災情報サイトのRSSを登録してSlackに定期的に流すようにしています。

スクリーンショット 2016-12-22 23.27.52.png

家の近所に意外と変態が出没していて多少びびっている。

妻と共有してお互い気をつけるようにしている。


運行情報

スクリーンショット 2016-12-22 0.48.28.png

東京メトロのサイトをスクレイピングして運行情報をGET。

出社時間と帰宅時間のちょっと前に運行情報を確認できるようにしています。

ただしダイヤが乱れようとも必ず出社します。


お天気情報

スクリーンショット 2016-12-22 23.11.01.png

myThings と連携させて、明日の天気を毎日投稿。

雨の日は傘を忘れないように通知。


ゴミの日情報

スクリーンショット 2016-12-22 23.52.27.png

ゴミの日の前日の夜と、朝に、今日出すゴミを通知。


電子ペット

スクリーンショット 2016-12-22 23.38.09.png

電子ペットのヒュボロクとヒュボニャンを飼い始めました。

ヒュボロクはHerokuに、ヒュボニャンはRaspberry Piにいて、

各種情報を伝えてくれつつ、たまにランダムで甘えてきます。

仕事中に「にゃーん」と通知がくるとちょっと癒されます。

bot相手に会話している妻を見ると更に癒されます。


記念日カウントダウン&アップ

スクリーンショット 2016-12-22 23.31.00.png

記念日をカウントダウン&カウントアップ。

子供の成長が楽しみ。


5. 家族とIoT

今年は8月に子供が産まれ、妻が11月まで実家に里帰りしていました。

3ヶ月間、広い家で一人暮らし。

ここまで紹介してきた、あれやこれやを自動化しては、寂しさを紛らわしていたのですが、

11月に妻と子供が家に戻ってきたタイミングで、

自動化が仇となる事象が多々発生してしまいました。

例えば、私が出勤のため家から離れると、

家の電気が消え、Roomba(ルンバ)が走り出し、子供が泣き叫ぶコンボが発動。

私が帰宅して家に近づくと、

自宅の電気とTVと床暖房がつき、もう少しで寝りにつきそうだった子供が泣き叫ぶコンボが発動。

妻激おこ。

Roomba(ルンバ)の活動回数は激減し、Philips HueIRKitによる電気の自動点灯も不要に。

2017年は家族全員が幸せになれる家庭内IoTを再構築せねばなりません。


6. まとめ

2016年は、IoTの楽しさと難しさを実感した年でした。

Roomba(ルンバ)やMicrobotPush(マイクロボットプッシュ)など、

かわいい便利なガジェットに触れつつ、RasberypiHomebridge、を勉強し、

npm パッケージを公開したりと、仕事とはまた別の知見を得ることができました。

一方、一人暮らしの時には超便利に思えていた自動化も、

家庭の状況によって、一気に複雑さが増すのを身にしみて感じました。

妻の今年の名言の一つ、

「自動化に費やす時間があるなら、子供を抱っこして愛情を注いで」

を胸にしっかり刻み、来年も頑張ろうと思います。

(ダメな自動化の例:赤ちゃんが泣いたらメリーが鳴り出す仕組みを作ろうとしたら却下されました)

来年はLTで発表したいな〜。

--


追記

Frontend de KANPAI! #02 - エンジョイ!フロントエンド - にてLTしました。