読者です 読者をやめる 読者になる 読者になる

yumulog | 社会人博士の日記

はてなブログに引っ越しました / 石川県に引っ越しました

家の外からhue APIを叩く #おうちハック

本エントリは おうちハック Advent Calendar 2015 の1日目です。Advent Calendarとは、12月1日〜25日まで1日ずつ担当を決めてみんなでblog記事を書いていく企画です。ITエンジニアの間ではもうだいぶお馴染みの年末の習慣になってきました。おうちハックAdvent Calendarは昨年に引き続き2年目の試みです。

hueは、iPhoneアプリ等で色を制御できるLED電球です。

Philips hue(ヒュー) スターターセット 929000259907 リテールパッケージ

Philips hue(ヒュー) スターターセット 929000259907 リテールパッケージ

hueのブリッジ(親機)がweb APIを提供しているので、少しプログラミングがわかればAPI経由で簡単に制御できていろいろ遊ぶこともできます。このhueブリッジを家に置くと、ふつうのご家庭*1のネットワークではhueブリッジにプライベートIPアドレスが割り当てられ、外からhueブリッジにアクセスすることができません。そこで、宅外にサーバを立て、宅内にブリッジ用PCを用意し、websocketを利用して通信します。

EC2にアクセスしてるので家の外から操作なのですが、PCが物理的に宅内にあるのでわかりにくい・・・ 遅延も全く気にならないレベルです。

PICALA(昨年ラジhueと呼んでいたもの)を、このシステムを利用して構築し、4G回線経由で叩ける用にしたので、それを例にして紹介します。

こんな感じの構成です f:id:yumu19:20151201233828p:plain サーバはEC2で運用しています。mBaaSを使うともうちょっと楽にできるのかも。触ったことないので一度試したいと思いつつ、手が回らず試せてません。。。 ブリッジPCはMacで有線(hueブリッジ接続用)とiPhoneUSBテザリング(インターネット接続用)の2回線を用意しています。

ソースコードはこちらにあります。

node.jsでつくっていて、app.js と admin.html が socket.io を利用してwebsocketで通信します。 socket.io、めちゃくちゃ楽に使えてほんとによいですね。いろいろ重宝してます。

まとめ

家の外からhueを叩けるようになることで、おうちハックの幅も広がりますね!

おうちハックAdvent Calendar、まだまだ枠に空きがあるので、ぜひ登録してみなさんのおうちハックを披露して下さい!

おうちハック同好会Facebookグループもあるので、こちらももしよければ登録してください〜。

明日は石田陽太さんの「我が家のおうちハックの現状」です

*1:宅内機器をグローバルIPで運用していたり、NATにポートフォワーディングを設定するのはふつうのご家庭じゃありません