会社のボーリング大会でラッキーにもGoogle Home Miniがもらえた
これを使って家のテレビ(古いREGZA)のリモコン操作してみる。
古いテレビなんで当然Google Home Mini(Googleアシスタント)には対応していないので,Raspberry Pi Zero Wで作ったWEBリモコンをGoogle Home Miniから呼び出せるようにして実現してみる。
Google Home Miniでしゃべった音声に対応したWEBインターフェースに接続する機能はGoogle Home Miniには無いようだ。そこでこの機能を自前で用意するか,どこかのサービスを利用するかする必要がある。
今回はIFTTT(イフト)というサービスを使ってみた。
IFTTTを使うとGoogle Home MiniだけじゃなくスマホのGoogleアシスタントからでも反応する。なので,どこからでもスマホでリモコン操作できることになる。
2022/09/01からGoogle Home Miniで使われるGoogle AssistantがGoogle Assistant V2になり,IFTTTへ任意の言葉を伝えられなくなってしまった
このため以下のやり方では,Googe Home Miniでリモコンを操作することが出来なくなった。
まず,IFTTTで,アカウントを作成する。(Googleアカウントだと便利)
無料でサービスを利用することが出来るようだ。商用に使う場合や多出力を可能にしたりする場合は,月額199ドルや499ドルの契約がいるみたい。
Googleアシスタント以外にもいろいろ対応している。対応サービス一覧:https://ifttt.com/search/services
New Appletをクリックしてアプレットを作成する。
水色の+thisをクリックし,Google Assistantで検索してGoogle Assistantを選択する。
トリガー選択になるので,say a phrase with a text ingredientを選ぶ。
''What do you want to say?''に,テレビ $ ''What do you want the Assistant to say in response?''に,$ を送信 ''Language''に,Japanese
を設定する。
次に水色の+thatをクリックし,WebHooksを検索して選択する。
''URL''に,http://xxxxxxx.xxx:xxxx/remokon.php ''Method''に,POST ''Content Type (optional)''に,application/json ''Body''に,{"exp":"TV","message":"{{TextField}}"}
を設定する。remokon.phpのPOSTで受け取れるようにしているんで,URLにそれを設定する。TextFieldで$の位置のしゃべった言葉が入るようだ。
実は,最初はGETで受け取るようにWEBリモコン側を作っていたんだけど,うまくIFTTTでGETで送る方法がわからなかったんでPOSTにした。
しゃべった日本語がどのような文字列に変換されて渡されるのかはよくわからない。
「音量アップ」としゃべると,「音量 アップ」というようにスペースが入る。
Saveで保存する。もし登録した設定に問題があればエラー表示される。
保存すると,自動的にOnになる。(なっていない場合はOnにする。)
Google Home Miniに,
OK Google テレビ 電源オン
ってしゃべると,
電源オンを送信
って,返答があって,テレビのスイッチが入りました ちょっと反応するのに時間がかかるが,いろいろなNetworkサービスを経由しているからしょうがない。
これで,言葉でテレビを操作できるようになったので,少しIoTって感じ。
IFTTTの無料のアカウントでは,制御する機器を複数ある場合,一つのアプレットで複数機器を操作するアクションを扱えません。
これを実現するには,WEBリモコン側で機器を区別するようにする必要がある。
別のアプレットを作成して,それをエアコンのリモコン操作に使うというようにすれば,複数機器も操作可能に出来る。
この場合,Bodyで渡すexpにairconとかにすればWEBリモコン側で切り替えられるように出来る。エアコンやテレビ,扇風機,なんかをリモコン出来るようにしている。
また,Google Home Miniで任意な言葉をしゃべるようにもしている。
新しくコメントをつける