HomeKitADKを動かしてみる
スマートホームは、機器のネットワークへの接続と、その応用場面の広がりの2つが揃わなければ、利用する価値が生まれません。ネットワーク接続という付加価値を求めた、家庭用機器がこれまでにいくつもの企業から発売されては、製品としてジャンルを確立しないまま消えていきました。
そのスマートホームの流れの中で、新たにAmazonとAppleとGoogleそしてZigbeeアライアンスなどの業界グループから、スマートホームデバイス向けのオープン規格を目指す発表がありました。
また、HomeKitのデバイス側の開発コードがAppleから公開されています。
https://github.com/apple/HomeKitADK
HomeKitの通信仕様自体は数年前に公開されていて、非商用での開発ができましたが、今回はAppleからさらに開発用コードが提供される形になりました。
https://developer.apple.com/homekit/
HomeKitADKは、非商用で利用できます。製造販売を行うにはMFiの取得が必要です。アプリケーションのコードは、電球と鍵の2つが入っています。
ADKは、Darwin,Linux,ラズベリーパイで動きます。ラズベリにはDockerファイルも提供されています。ビルドは楽そうです。
ソースコードを見ると、Darwinの方は、BLEのペリフェラルとして動くようです。
https://github.com/apple/HomeKitADK/tree/master/PAL/Darwin
Linuxの方は、BLE関連はモックファイルを内部でインクルードしているだけですから、動きません。
ちょっとMacOSで動かしてみました。 READMEにあるビルド方法そのままで、すんなりビルドできます。 IPの方は動きますが、BLEの方はペアリング完了の段階でMac側のアクセサリのプログラムが止まります。 ペアリングの8桁のコードは、“111-22-333"です。
HomeKit ADKをうごかしてみる、Mac OSで。
% cd ~/tmp % git clone https://github.com/apple/HomeKitADK Download and install Xcode 11 install brew % /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" % brew install openssl@1.1 % brew install mbedtls –HEAD % make all
使ったのはこのブランチ https://github.com/apple/HomeKitADK/tree/35c8adbb0dae4e44c694fc267dead68be936e65b
BLEのプログラムは、8桁のコードを入力した時点で、アクセサリ側のプログラムが止まるっぽい。こんなメッセージが最後に出ていた。中身まではみていない。 ’’’' 01a0 a0f3 .. timer register 0x7fa851e1ab20 ’’''