Raspberry PiとSiriで家電の音声制御 おまけ Apple TVを使った宅外制御

th_siri-4

前回までで、Siriによる家電制御の自作は無事完了しました。めでたしめでたし。

ところで、自分は第三世代のApple TVを持っています。「ひょっとして、これを使えば宅外制御もできる??」と思いたったので、試してみました。

具体的にどうすれば良いかは、以下がよくまとまっていると思います。

上記を参考にしつつ進めていきます。

 

th_siri-5

まず、Apple TVのソフトウェアの確認です。第三世代なのでtvOSではありませんが、少なくとも第三世代では最新の状態です。

th_siri-6

iPhoneと同じApple IDで、Apple TVの方でもiCloudにサインイン済みであることを確認。

 

次はiPhoneの方の設定の確認です。Apple TVと同じApple IDでiCloudにはサインイン済みです。

th_siri-9

設定画面で”HomeKit”を選択して、

th_siri-7

“iCloudを使用”がオンになっていることを確認。さらに”Home”をタッチ。

th_siri-8

“リモートアクセスを許可”がオンになっていることも確認。これで条件は全て満たしたはず。。。なのですが。

 

 

Wi-Fiを切ってLTEにしてからSiriにお願いしてみると、「できません」と言われてしまいます。うーん、なぜ。Homebridgeで作ったエミュレータだとダメなのか?

 

小一時間程悩んだ後、Appleのホームページを見て解決しました。こちらの”アクセサリを外出先からコントロールする”によると、

「リモートアクセスできない場合は、Apple TV で iCloud からサインアウトしてから、サインインし直してください

とあります。早速やってみて、改めてWi-Fiを切ってLTEにしてからSiriにお願いしてみました。「でんきをつけて!」

th_siri-3

少しタイムラグがあった後。。。

th_siri-2

無事成功しました!左上の接続状況が4G(LTE)になっていることをご確認ください。

 

つまり、Apple TVがすでにiCloudにサインインした状態で後からHomeKit対応機器をiPhoneで追加した場合には、一度Apple TVのiCloudのサインインをやり直さなくちゃダメ、ということのようです。

「Apple TVがスリープしているときはどうなるの?」というのも試してみたところ、少なくとも自分が試してみた感じでは、スリープにしていても問題なく指示を受け付けてくれました。

 

というわけで、iPhone → (Apple TV) → Raspberry Pi + Homebridge で、宅内宅外問わず、様々な機器を音声制御できる環境が整ってしまいます。Raspberry Piから先は、IRKitでもirMagicianでもGroveシステムでもお好きにどうぞ。Arduinoだって使えます。それこそもう、アイデア次第。

うーん、なんというか、自分で試しておいて何言ってんだという感じですが、すごい時代だなあ。。。大概のことは独力でやれてしまうという。