日頃使い慣れたiPhoneを利用して音声認識が出来ないか試してみました。

RaspberryPiと市販の赤外線リモコンモジュールを組み合わせることで、一般的なリモコンで操作できるものはSiriさん経由で操作する事が出来ます。

Appleの開発した「Homekit」を利用するのですが、Node.jsで実装可能なライブラリが公開されており、誰でも試す事が出来ます。

homebridge

nfarina/homebridge - GitHub

Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API.

Homebridgeは、iOSのHomeKit APIをエミュレートし、ホームネットワーク上で実行することが出来る軽量Node.jsサーバです。

このライブラリを利用すればHomekitのAPIをエミュレートしたWebサーバーを立てる事が出来ます。

自宅にあるiOS機器と、Homekitに対応した機器(スマート照明やスマート温度計など)を結びつけるサーバーになるわけですね。

もうすぐ公開されるiOS10ではHomekit専用アプリ「Home」が公開されるようですが、( アップル、「HomeKit」専用アプリ「Home」を「iOS 10」で提供へ–スマートホーム製品を一元管理 ) 現在でもサードパーティーの無料アプリが公開されています。

Insteon

こちらは海外で発売されているHomekit対応のデジタルハブです。このメーカーさんが無料のiOSアプリInsteon+ も公開しています。

これらを利用すれば市販のスマート家電を自宅のWebサーバーを通じ、iOSのSiriさんから利用する事が可能になります。こちらで詳しく解説されています。

Siriで部屋中の家電を操作できるようにして未来のお部屋を作ってみた - ワタナベ書店

スマート家電はまだ国産メーカーで作っているところが少ないのですが、「IRKit」と云う学習リモコンを利用することで幅広く家電を操作することが出来ます。

そんなに高くないので購入してみようかな。と思ったのですがこの冬に後継機種が発売になるみたいで、旧機種は在庫がない状態でした。残念。

irMagician

「欲しけりゃ作ればいいじゃん」そんな方が世の中には数多くいらっしゃるようで、オープンソースの学習型リモコンシステムを開発・販売されている会社がありました。

irMagician – 高機能/低価格 赤外線リモコン - 大宮技研 合同会社

開発キットも販売されていますが、半田付けなど上手くやる自信もないので今回は SWITCH SCIENCE さんで完成品を購入しました。

こちらはWin、Mac、Linuxと機種を問わずに利用出来ます。RaspberryPi用のPythonライブラリを公開されている方がいるので、そちらを利用してリモコンのキャプチャ・照射を簡単に行う事が出来ます。

小型赤外線(IR)リモコン irMagician ファースト・インプレッション - netbuffalo

さて、いよいよRaspberryPiとこのirMagicianをiOSに接続してみることにします。

homebridge-readablehttp

先ほど紹介したNode.jsライブラリ「homebridge」には様々なプラグインが公開されており、その中にはhomekitにhttpリクエストを送ることの出来るものも公開されています。

mattharris5/homebridge-readablehttp - GitHub

これを利用して、homebridge経由で送られてきたリクエストを元にキャプチャした赤外線を照射する事が可能になります。

以下の記事でpythonのコードを公開してくれています。

Raspberry PiとSiriで家電の音声制御 前編 Web APIでの家電制御 - MUDAなことをしよう。

そもそも今回の実行環境はこちらのMUDAなことをしよう。 さんの記事をほぼそのまま利用させて頂いております。以前 Raspberry Pi とブラウザで会話する。 - Qiita こちらを試した時も参考にさせて頂いております。RaspberryPi関連でかなりマニアックなことをやられているので、興味のある方は是非ご覧になることをお勧めします。


さて、Pythonは初めて利用するので上手く動作するか不安だったのですが、コードをそのまま利用させて頂き問題なく動作させる事が出来ました。

正しく動作させられれば、homebridgeを立ち上げるとこんな表示が出ます。

iOS側にリンクさせるPINコード(自分が設定したもの)が表示されれば成功です。先ほどのiOSアプリ「Insteon+」でこのPINコードを入力すれば、RaspberriPi+irMagicianをスマート家電として登録する事が出来ます。

まとめ

今まで音声認識はChromeのWebSpeechAPIを試していたのですが、やはり使い慣れたiPhoneから利用出来ると格段に使い勝手がよくなる様に感じました。

もうすぐ公開されるiOS10の「Home」アプリ、macOS Sierra‎の新しい「Siri」などいよいよAppleもIoT市場に本格的に参入して来る様で楽しみです。

上記の「IRKit」の後継機種は今年の12月発売予定だそうです。

Nature Remo(日本語)

デザインもシンプルで良いですね。クラウドファンディングは終わってしまいましたが、一般発売されたら購入してみたいです。

楽しみはつきませんが。ではまた。