iOS8のHomeKitの概要について

はじめに

HomeKitとは、AppleがWWDC2014で発表したiOSの新しいフレームワークです。
スマートハウス等の言葉を耳にしたことがあるかと思いますが、
iOS8から使用可能になる、スマートハウス等に該当する機能がHomeKitになります。

どのようなことができるのか

家の中にある照明のON/OFF切り替えや鍵の開閉等をiOSから操作することができるようになります。もちろん、普通のハードウェアはそのままでは操作することはできません。Appleが提供している独自のプロトコルを使用して通信ができるハードウェアに限られます。プロトコルの詳細な内容はAppleのMFI Programに参加しないと見ることは出来ないようです。

※ 上記のMFI Programに参加する必要があるのは、ハードウェアの開発を行う場合だけのようです。HomeKitを使用したiOSのアプリを作成するだけの場合は参加する必要はありません。

HomeKitのクラスについて

HomeKitには以下のクラスが存在しています。各クラスについて軽く説明いたします。

・HMHomeManager
 家を管理するクラスです。家の追加や削除ができます。
 家は複数追加することができます。

・HMHome
 家を表すクラスです。
 HomeKitの核となるクラスで、部屋(HMRoom)や照明(ドア)等の機器(HMAccessory)
 を追加することで家に何があるかを管理します。また、後述の操作(HMAction)を登録
 することもできます。
 
・HMRoom
 部屋を表すクラスです。
 家に対して部屋の追加は必須ではないようですが、追加することで部屋ごとの操作が
 可能となります。実際の位置や大きさは管理していません。

・HMZone
 部屋をまとめて管理する場合に使用します。
 1階の部屋や2階の部屋等として設定します。この単位で操作を行う事ができます。

・HMAccessory
 照明やドア等の実際に操作される物を表すクラスです。
 このクラスには、どのような機能があるかHMServiceで設定されています。
 HMAccessoryBrowserというクラスを使用して探します。
 
・HMService
 HMAccessoryの機能を表します。
 現時点では以下の種類があります。
  HMServiceTypeLightbulb:電球
  HMServiceTypeSwitch:スイッチ
  HMServiceTypeThermostat:温度調節装置
  HMServiceTypeLock:鍵
  HMServiceTypeGarageDoorOpener:ガレージの開閉装置

・HMAction
 HMAccessoryに対する操作を表す抽象クラスです。
 サブクラスとしてHMCharacteristicWriteActionが存在しています。
 HMActionを複数束ねて一連の操作として扱うためにHMActionSetというクラスが
 あります。
 
・HMTrigger
 自動で操作を実施するために使用するクラスです。
 実際に設定するときは、このクラスではなくサブクラスを使用する必要があります。
 現在デフォルトで用意されているのは、HMTimerTriggerというクラスだけです。
 HMTimerTriggerは名前の通り時間を指定します。指定時間になった場合、iOSから
 実行されます。

それぞれのクラスには基本的にはnameプロパティがあり、名前を指定することでSiriから操作できるようです。

最後に

Xcode6にはHomeKit用のシュミレータが付属しています。
このシミュレータを使用することで、実際の機器が無くてもHomeKitの動作を試すことができます。
今回はクラスの簡単な説明だけになってしまいましたので、次回以降、実際にプログラムを作成してみたいと思います。

iOS8のHomeKitの概要について iOS8のHomeKitの概要について Reviewed by イサナドットネット 藤瀬 on 9:04:00 Rating: 5
Powered by Blogger.