MESHでお風呂の空き状況共有システムを作る

テックポエム

シェアハウスのお風呂問題

突然ですが、私は都内のシェアハウスに住んでおります。
シェアハウスといっても、某テレビ番組のような、パブリック空間が主体となっているシェアハウスではなく、自分の部屋があるタイプのシェアハウスとなっております。ホテルのように廊下があって、そこに各部屋のドアがずらっと並んでいます。そして、キッチンやトイレ、お風呂などが共用部となってます。このため、各種設備をシェアしながら、プライベートを確保することができる形式となっています。

キッチンやトイレは複数あるので、シェアであってもあまり困らないのですが、お風呂は浴槽とシャワールームがそれぞれ1つずつしかないため、いざ入ろうと思って行ってみると使用中だったりして、仕方なくしばらく待つ、なんていうことが何度かありました。シェアハウスメンバーと、お風呂の使用状況を何とか視覚化できたらいいね、なんていう話をしていたので、これをITテクノロジーで解決できたら便利と思い、実行してみることにしました。

お風呂空き状況共有システムの検討

あまり邪魔にならず、耐久性もそこそこあって、ささっと作れるものをいろいろ検討した結果、Sonyさんから発売されているMESHと、余っているiPhoneを組み合わせるとよさそう、という結論になりました。(ちなみにUnifinity Playerも検討したのですが、光センサーが使えなかったので、予選落ちでした。残念)

Mesh0.jpg

MESHは親指サイズのセンサーデバイスです。センサーの種類ごとに商品が用意されており、それぞれiPhoneとペアリングして使います。そして、iPhoneとどのように連動するかをMESHアプリを使って設計することができるようになっております。
充電はUSB経由です。バッテリーは、センサーの使用頻度を調整すれば2週間ほど持つため、充電運用がそんなに手間にはならないデバイスです。

お風呂の使用状態を判別するには、脱衣所の電気のOn/Offをチェックするのが一番簡単そうです。そこで、光センサーのMESHを使い定期的に明るさの情報をサーバーに送り、さらにそれをWeb画面で確認することができれば、今回の与件は満たせそうだなと思いました。

MESHアプリでシステムの構築

Mesh1.jpg  Mesh2.jpg

MESHアプリでは、様々な機能が「ブロック」として用意されており、MESHのセンサーから情報を得たり、iPhoneのデバイスの操作を行ったりすることができます。この「ブロック」を線でつなぐことで連携させて、やりたいことを実現していくというつくりになっております。

Mesh3.jpg

標準で用意されている「ブロック」にはWebAPIと通信するものはないため、「カスタムブロック」の機能を使用して対応することにしました。MESH SDKページでJavaScriptを書くことで、MESHアプリにオリジナルのブロックを追加することができます。

Mesh4.jpg

これらのブロックを活用し、光センサーの値が大きく変わった(=電気がついた or 消えた)時に、サーバーにその情報を送るようにくみ上げてみました。また、タイミングによっては光の大きな変化を検知できないことがあったので、タイマー機能も使って、定期的に光センサーの値を観るようにもしてみました。

Mesh5.jpg


サーバー側には、最新の明るさ情報から、お風呂が空いているかそうでないかを判別し、画面に表示するというプログラムを作ります。念のためセキュリティーをかけて、システムが無事に完成となりました。
これによって、お風呂が空いているかどうかをスマホで一目で見ることができるようになり、お風呂の空き状況問題が解決へすすんだのでした。

MESHはいろいろなセンサーがあるので、お手軽にIoTで遊ぶことができます。 カスタムブロックが使えるところが便利で、拡張性があるなと思いました。
GPIOセンサーもあるので、頑張ればRaspberryPiなどのハードウェアとも連携して面白いものが作れそうです。