iOSアプリと連携させて使えるデバイスたち

第3回 1,600万色の表現力をもつLED電球「hue」と連携するiOSアプリをつくる その1:基礎編

この記事を読むのに必要な時間:およそ 5 分

hueとは

「Philips hue」は,1,600万色を超える色彩表現が可能なLED電球です。iOS,MacOS X,Android用のSDKが用意されており,スマートフォンアプリから制御することが可能です。

Philips hue

Philips hue

点けたり消したり,色を変えたりできるアプリが用意されている,というだけでなくて,SDKが用意されている,というところがポイントです。

たとえばiOS SDKがあるということは,位置情報やWeb APIなど,iOSデバイスで利用できるあらゆる機能と連携できることを意味します。

一例を挙げますと,undaというビデオメッセージングアプリを提供するスタートアップでは,オフィスでhueを次のように利用していました。

undaでの使用例

undaでの使用例

写真だけではわかりませんが,こちら,undaに新しいユーザが増えるたびに光るようになっています。ビデオメッセージが送られたときはオレンジ色に光ります。解析サービスや管理画面にアクセスしなくても,アプリがどのくらい広がっていて,使われているかが一目瞭然で,非常におもしろい事例ではないでしょうか。

Web APIだけでなく,iOSと連携する他のデバイスと組み合わせて使用することも可能なので,たとえば目標距離以上ランニングしないと明かりが消えないとか,WithingsのWiFi体重計と組み合わせて食べ過ぎると赤いランプが光るといった可視化にも使えますし,そもそも普通の電球は色をhueのように自在に変えられないので,そこだけでも店舗でのディスプレイやライブの演出等の場面でニーズがありそうです。

ちなみにhueはE26という一般的な電球と同様の規格に則っているので,E26口金を持つ従来の照明器具に取り付け可能な点もポイントです。

今回の「その1」では,HueSDKを導入したプロジェクトの作成方法から,基本的な機能の実装方法を一通り説明し,次回「その2」で,hueとiOSデバイスの様々な機能を連携させた応用事例の実装方法を説明します。

購入方法

日本国内における正規輸入品はアップルストアで購入可能です。

スターターセット以外に,ランプ単体も販売されていますが,使用にはブリッジが必要なので,まず最初はスターターセットを購入することになります。

⁠2014年1月27日追記)⁠

2014年1月26日より,Amazonでも日本仕様正規品が購入できるようになりました。

  • Amazon.co.jp: Philips hue(ヒュー) スターターセット [フラストレーションフリーパッケージ(FFP)]: パソコン・周辺機器
  • hue以外に必要なもの

    E26電球を取り付けられる器具が必要です。家庭にE26口金を持つ照明器具がない場合は,コード付きソケットが安価で購入できるのでおすすめです。

    また,有線LANポートを持つWi-Fiルータが必要です。有線LANポートのないPocket Wi-Fi端末等では試せないのでご注意ください。そういった場合には,有線LANポートを持つ無線LAN中継機を使うという手もあります。

    まずはプログラミングなしで試してみる

    AppStoreからダウンロードできる公式アプリがよくできており,セットアップ(ブリッジとの接続)から色のコントロール,タイマーからの制御,GPSと連携したOn/Offなど一通りの機能が体験できるようになっています。

    公式アプリの実行画面

    公式アプリの実行画面

    対応アプリの実装準備

    ①SDK一式を取得する

    hueのデベロッパーサイト,もしくはGitHubリポジトリから最新バージョンのSDKをダウンロードします。

    ②プロジェクトを作成する

    よくあるSDKの導入方法としては,HueSDK_iOS.framework をプロジェクトに追加して,依存フレームワークをリンクして……となるのですが,hueの場合はエンドユーザがアプリを使用する際に,ブリッジとアプリを接続する手順を踏んでもらう必要があり,それらの内部処理やユーザインタフェースを自前で実装するには少々煩雑な実装をする必要があります。

    まず手っ取り早くhueをコントロールするアプリを自作したい場合には,SDK一式の中に入っている,QuickStartApp_iOSというプロジェクトを使用するのが近道です。

    "QuickStartApp_iOS"はブリッジとアプリを接続するまでの最低限の機能が実装されているだけのプロジェクトです。

    ブリッジ接続に必要な処理/UIが実装済み

    ブリッジ接続に必要な処理/UIが実装済み

    まずはこれを複製・リネームし,不要なテスト用UIパーツ(Randomize LightボタンやIPアドレス表示用のラベル等)を削除します。ディレクトリを移動させて使用する場合は,HueSDK_iOS.frameworkとLumberjack(フォルダごと)を追加しなおします。

    これで,hue対応アプリを作成する準備は完了です(ブリッジを探して接続するところまでの機能が既にできている状態)⁠

著者プロフィール

堤修一(つつみしゅういち)

1978年生まれ。京都大学工学部を卒業後,同大学院修了。その後,NTTデータにて音声認識技術の研究開発,キヤノンにて画像処理機能の設計に携わる。

2010年より面白法人カヤックに入社。3年間ほぼiOSアプリ開発に専念し,フルスクラッチで開発しリリースしたアプリは30本以上。代表作は150万ユーザを突破した「バウンドモンスターズ」,AppStore Best of 2012を獲得した「タップ忍者」,カンヌ国際広告祭でブロンズを獲得した「Domino's App」など。

現在は,米国シリコンバレーのマウンテンビューにあるAppSocially社の一員として活躍中。

著書=『iOSアプリ開発 達人のレシピ100―開発現場で実証された実用コード集』

ブログ=Over&Outその後

Github=shu223

Twitter=shu223

コメント

コメントの記入