概要
遅ればせながらHomeKitを調べていたところhomebridge
というすばらしいものがあることを知ったので、それを使ってDroneを飛ばせるようにしてみました。
開発環境
使ったデバイス
- Parrot Rolling Spider
- iPhone 6
- Apple Watch (あってもなくてもよし)
必要なもの
- nfarina/homebridge
- HomeKit対応アプリ
- Insteon+など
仕組み
Siri --> HomeKit --> homebridge --> homebridge-rolling-spider <--> Drone (Rolling Spider)
Siriからhomebridgeのコマンドを起動し、そこからRolling SpiderへTakeoff / Landのコマンドを飛ばします。homebridgeに対応するため、voodootikigod/node-rolling-spiderを組み込んだ簡単なプラグインを作りました。
syug/homebridge-rolling-spider
HomeKitやhomebridgeに関しては、下記の記事が詳しいです。
Siriで部屋中の家電を操作できるようにして未来のお部屋を作ってみた
[前準備] HomeKit対応アプリのインストール
お好みでInsteon+などをiPhoneにインストールしておきます。
インストールと起動
インストール
$ sudo npm install -g homebridge
$ sudo npm install -g homebridge-rolling-spider
config.jsを設置
ホームディレクトリに.homebridge
ディレクトリが出来ているので、config.jsを設置します。
sample-config.jsonを参考にしてください。
"accessories": [
{
"accessory": "RollingSpider",
"name": "rolling spider",
"uuid": ""
}
]
uuidはなくても大丈夫です。
ここのnameがSiriに呼びかける名前に対応するので、呼びかけやすい名前に変更すると良いと思います。
もしくは、前述のアプリ(Insteon+)からも変更できました。
起動 & アクセサリを登録
下記コマンドでhomebridgeが起動するので、HomeKit対応アプリを使って登録すれば準備完了です。
$ homebridge
HomeKit 対応アクセサリを iPhone、iPad、および iPod touch で使う
実際にやってみる
MacとDroneを接続
Drone(Rolling Spider)の電源をオンにしてしばらく待ってください。node-rolling-spiderが自動的に接続してくれます。
Siriにお願いする
「ドローンをオンにして」
「ドローンをオフにして」
などすると、SiriがDroneを飛ばしてくれます。
もう少しそれっぽくしてみる
HomeKitでは、アクセサリをまとめたシーンを設定できます。
これを利用するとそれっぽいセリフでSiriにお願いすることができます。
「テイクオフ」
「ドローン着陸」
などお好みのセリフ(シーン名)で登録すると良いかと思われます。
Apple Watchを使うとさらにそれっぽいです。
デモ
感想
Siriにお願いしてから実行されるまでの間が結構あるのでもどかしく、
完全に使いかたを間違ってる感があります。
現在はOn / OffをTakeoff / Landに対応させているだけなので、
もうちょっと操作できるようにしたいところです。