HomeKit Accessory Simulator (以下HAS) は、Appleが無料で配布しているツールです。Macの上でHomeKitアクセサリをシミュレーションで作ってくれます。ここで動かしたバーチャルなアクセサリは、iPhoneやMacのホームから通常のアクセサリと同じように利用できます。各種アクセサリがどのように動くのか、確認するのに便利なツールです。IP Cameraのアクセサリをシミュレーションしたところ、MacのカメラやUSB接続のwebカメラを通して映像をホームで見られました。
HASを入手する
HASは以下のサイトから無料で入手できます。ただし、Apple Developer Program (ADP) のアカウントが必要です。ADP アカウントには有料と無料のアカウントがあります。有料アカウントだとApp Storeでプログラムを配布できるようになります。無料アカウントでも、さまざまな情報にアクセスできて、ツール類をダウンロードできます。macOSやiOSのパブリックベータ版を試用することも可能になります。無料で色々な特典がありますので、登録をお勧めします。
このページからは、Additional Tools for Xcodeというアプリ群をダウンロードできます。その中に、HomeKit Accessory Simulator (HAS) が入ってます。
Xcode 14.1はmacOS最新版のVentura用の開発ツールなので、Xcode本体は古いmacOSで起動しません。しかしAdditional Tools類は、古いバージョンのmacOSでも動きました。
起動する
ダウンロードしたフォルダの中からHASアイコン
を見つけたら、わかりやすい場所(アプリケーションフォルダなど)にコピーして起動します。起動するとすでに何かのアクセサリができています。BLE接続のアクセサリのようですが、うまく使用できませんでした。
電球アクセサリを作る
気を取り直して、左下の+マークをクリックしたところ、新規アクセサリを追加できました。
次に現れるダイアログパネルで、カテゴリとしてシンプルなLightbulbを選んでみました。名前はLight Simにしてみます。
出来上がってQRコードが表示されました。
このままですと、まだ何もできません。HomeKitアクセサリには、キャラクタリスティックとサービスという2種類の属性があります。よく理解できていないので間違っているかもしれませんが、キャラクタリスティックはそのアクセサリの状態変数(on/offとか明るさ)を表すもので、サービスは1個または複数のキャラクタリスティックスを取得したり設定する機能です。ここでは、ウィンドウの下にある「Add Service…」ボタン
を押して、LightBulbというサービスを追加します。
on/offキャラクタリスティックや明るさキャラクタリスティックを変更するなどの機能があるサービスです。
その結果、ウィンドウに電球サービスが追加されました。現在の電球の状態も表示されています。初期値では、OnのところがNo(消灯)になってます。
電球アクセサリを使う
これでネットワーク上のHomeKit環境から、この電球アクセサリが利用できるようになっています。iPhoneのホームから、アクセサリの追加を選びます。次に表示されるカメラ画面を使って、このQRコードを読み取ります。するとホームに電球が現れます。
クリックしてみます。ホームの表示がonになり、
MacのHASの画面のOnの場所がNo(消灯)だったところがYes(点灯)になります。
さらに、iPhoneの画面で色を選択すると、
HASの画面でも色合いが更新されます。
今回は一番シンプルな電球を選びましたが、もっと複雑な動作をするガレージドアとか、セキュリティシステムなどを選べば、HomeKitでの挙動が確認できて便利だと思います。
カメラアクセサリを作る
このようにHASは、アクセサリ動作の確認や、HomeKitソフトウェアのデバッグなどに便利なツールです。それ以外にも色々遊べるツールでした。
例えば、HASでカメラアクセサリを作ると、Macのカメラや、USB接続webカメラが取得する映像を、別のiPhone/Macのホームで見られるようになります。さらに、音声も送受信できます。Macをサーバとして稼働させる場合に、USBにwebカメラを接続しておけば、遠隔地からサーバ周辺の様子を確認できます。
カメラアクセサリをシミュレートする場合も、上の例と同様に、アクセサリの追加を選びます。ダイアログパネルの一番下にある「IP Camera」ボタンを押します。名前はCameraにしておきました。Finishボタンを押すとすぐにカメラアクセサリとして動作開始します。
カメラアクセサリを使う
先の電球の例と同様に、iPhoneのホームから「アクセサリを追加」を選択し、HASに表示されたQRコードを読み取ります。すると、ホーム画面にカメラが追加されました。Mac内蔵のカメラが撮影している映像が表示されます。ホームを開いている間は、この映像が10数秒ごとに更新されます。映像の左下に表示される秒数(10秒と表示されてます)は、前回の映像更新から経過した時間です。
カメラ画像の場所をクリックすると、ライブ画像になります。HASが動いているMacのマイクロフォンに接続して、音声を聞くことができます。また「通話」ボタンを押すと、iPhone側からの音声をMacのスピーカーで出すことができます。
今回はMacBookの内蔵カメラでテストしましたが、一般的なUSB接続webカメラでも動作を確認しました。
また、古いバージョンのmacOSや、古いMac miniでもHASは動作しました。中古の安いMac miniをサーバにして、USBカメラをつければ、ビデオドアベルのようなアクセサリが簡単に作れそうです。こちらでやったようなことが簡単にできてしまいました。
まとめ
無償の開発者向けツール、HomeKit Accessory Simulatorを使ってみました。各種アクセサリの動作確認や、HomeKitプログラムのデバッグに役立つツールです。これを使って遠隔地のMacに接続したカメラ、マイク、スピーカにアクセスすることもできます。
コメント