IRKit と HomeKit と

IRKit がやってきた

IRKit をお借りすることができたのでお触り。

IRKitは、 公式のリモコンアプリ IRKitシンプルリモコン から操作できるほか、 IRKit iOS-SDK を使えば、 任意のタイミングで赤外線信号を送ることのできるiOSアプリを簡単につくることができます。

IRKit - Open Source WiFi Connected Infrared Remote Controller

ということで、赤外線で制御できる機器ならなんでも操作できる。

どうせなら "Hey Siri!" で操作したくなるのが人情(?)。

とりあえず IRKit 単体の動作確認

IRKit 本体に赤外線受信部があり、最後に照射された赤外線パターンは本体にストアされている。

最後にストアした赤外線パターンを取得する API が実装されているのでそこから取得。

赤外線信号送信のための API も用意されているので、そちらに先ほどの方法で取得したパターンを POST する。

先程も紹介した下記サイトの通りに実行していけば難なく家電操作ができた。 特にハマリポイントは無い。

IRKit - Open Source WiFi Connected Infrared Remote Controller

HomeKit 環境構築

対応機器は持っていないので下記を使用させてもらった。

KhaosT/HAP-NodeJS · GitHub

HAP-NodeJS is a Node.js implementation of HomeKit Accessory Server.

ということで、Node.js が動く環境ならどこででも動くぜ、だそう。

Edison 欲しいな。。

とりあえず Mac 上で実行する。

$ git clone https://github.com/KhaosT/HAP-NodeJS.git
$ cd HAP-NodeJS/
$ node Core.js

これで Mac が HomeKit 対応機器として見えるようになる。

HomeKit 対応機器を iPhone に登録するには The HomeKit Framework を使用して機器検索、登録を行う iOS アプリが必要になる。

今回は以前適当に作成していたものを流用したが、同じく Github 上に公開されているものもあるらしい。

KhaosT/HomeKit-Demo · GitHub

使ってないけど。

HAP-Node.JS を実行し、iPhone アプリ側から機器登録を実施。

Siri に向かって「扇風機をつけて」等と話しかけてみて、Siri が機器操作に成功した旨をしゃべり、サーバー側に下記のようなログが流れていれば成功。

Change: true
executed accessory: Fan, and characteristic: Fan Power, with value: true.

IRKit + HomeKit

ここまでくれば、あとは HAP-Node.JS をちょちょいといじって Siri からのパケット受信時に IRKit へのコマンド送信スクリプトを実行する。

IRKit + HomeKit(HAP-Node.JS) from Kazuhiro Furue on Vimeo.

動いた動いた。