AdSense

2018年1月2日火曜日

Nature RemoとGoogle Homeで家電を音声で動かした記録

Nature Remoとスマートスピーカーを繋げて、音声でエアコンなどの家電を制御した。

動かした機器は以下。全部赤外線リモコンの製品。
・エアコン
・テレビ
・HDDレコーダー

テレビ側がhdmiでの電源制御に対応していればgoogle home+chrome castでテレビの電源On/Offはできるそうだが、我が家のテレビは古くて未対応だった。
なので、今回Nature Remoがきたおかげでようやく制御できた。

使ったもの:

・Google Home(Amazon echoでもOK)

 
もちろんgoogle home miniやEcho dotでもOK

・Nature Remo


 Amazonでは3万超えてますが、公式から15000程度で購入。

・赤外線機器(エアコン、テレビ、HDDレコーダー)

既存の家電たち

構築方法と気づいたこと:

・Remoの設定はアプリのガイドに従って特に迷うことなく設定OK。
・スマートスピーカーと連携させるためにIFTTTにていくつかコントロールを追加
  テレビ電源や、レコーダーの電源などをIFTTTで追加。
・google homeの予約語(テレビをON/OFF/つけて/けして)はgoogle home側のサービス(chrome cast制御)に使われるようでIFTTTで登録してもダメだった。
 「テレビをつけて」はNG。「テレビの電源」ならOK。
・Remo経由でエアコンの電源ONすると、タイマー設定が消えた。
 おそらく、リモコンだと電源ON時に毎回タイマー設定を送っていたのが、Remoだとタイマー設定を送っていない。
 なので、タイマーを使いたい場合は、Remoで電源を入れた後に、エアコンのリモコンでタイマー設定をやり直す必要があり面倒くさい。
 Remoのアプリで、位置情報による制御はできるが、現時点(2018/1/2)ではタイマー機能は未対応なので、早急なアプリ対応が望まれる。というか、タイマー設定消えるなら、Remo側でやれないと話にならない。
・テレビやレコーダーの電源制御はリモコンの電源ボタンの置き換えでしかないので、電源ON/OFFの区別はできない。
 つまり、「レコーダーの電源をON」でも「レコーダーの電源をOFF」でも同じ赤外線信号を飛ばすしかない。このため、IFTTTで複数機器制御(「全部けして」「おやすみ」などで、全部の機器をOFFにする)を登録しても、全ての機器の電源がONだったり、OFFだったりとそろってなければ、同時にOFFやONすることはできない。
・テレビの入力切り替えをIFTTTに登録して音声でやってみたが、テレビリモコンのUI的に、何度も入力切り替えを押す必要がある。このため何度も「OK Google、テレビの入力切り替え」を言う必要があり、大変面倒くさい。というか普段使いは非現実的。
 
我が家の家電が古いためかもしれないが、最後の2点あたりが赤外線I/Fの限界と感じた。
ユーザが直接フィードバッグを受けることを前提とした赤外線リモコンではなく、ユーザの遠隔制御を前提とした家電側のインタフェースが整わないとスマート化は難しい気がする。

ただ、連続制御については、IFTTTではなくAction on Google(Dialogflow)などでやると上手い方法あるかも。

後半は辛口レビューみたいになったが、Remoのおかげでかなり未来を感じることができた。
Remoについては、アプリもファームも今後どんどん更新されていくと思うので今後が楽しみだ。







スマートスピーカーをつくった記録

Google HomeやAmazon Echoなどいろいろありますが、
Google Voice Kitというスマートスピーカーの自作キットで作った記録。

作ったと言っても、キットを説明書通りに組み立てただけ。

使うもの:

・Google AIY Voice Kit


 ダンボールやスピーカーやスイッチや、Raspberry Piの拡張基盤など

 ・Raspberry Pi 3

 普通のRaspberry Pi3。

Raspberry piは持ってたやつを使用した。
もともと子供の学習用にRaspbian OSを入れてたので、その環境がなくなることを心配したが、公式が配布しているVoice Kit用のOSも最新のRaspbianベースのようで、ScratchもMinecraft piもプリインストールされていたので、書き換えても問題なかった。

作り方:

・Voice Kitについている説明書を見るだけでできた。
  英語版だったので、説明は英語だったが図が豊富でとてもわかりやすい。

 公式サイトでも同じ内容が書かれている。
部品一式

接続

 拡張基盤をラズパイに載せる

 上から見た図

 ダンボールに入れる

できあがり

この後、HDMIでディスプレイに画面を出しつつキーボードをつなぎ、説明書に従ってgoogle cloud platformでvoice assistantの設定をします。

結果

サンプルスクリプトの実行で無事動きました。
動画ではボタンをトリガに動いていますが、「ok google」という音声トリガでも動きます。
対応言語は今のところ英語だけのようです。