アレクサとIFTTTと学習リモコン
声で家電操作
声で家電を操作する
未来じゃなくて今のはなしです。
アレクサ(Alexa)と学習リモコン
そしてIFTTT (イフト)を使った
方法を詳しく解説します。
このブログは理系旦那と文系妻による
家で出来る働き方改革を掲載しています
過去の記事でアマゾンのアレクサを
使用したお家オートメーション
について書いてきました。
www.ouchihatarakikatakaikaku.com
今回は いよいよ
音声による家電操作です。
音声操作機能がない家電
スマート家電ではない赤外線リモコンに
よって動作する家電も、まだまた沢山あります。全部最新の家電に買い替えるのは現実的ではありません。
そんな昔の家電をアレクサを使って声での操作を目指します。
セットアップ
3つのアイテムを使います。
- アレクサ Alexa(音声操作機器)
- IRKit(学習リモコン)
- IFTTT(2つのサービスをつなぐアプリ)
アレクサ、IRKit、IFTTTの
セットアップは終了している前提で
記載していきます。
それぞれのセットアップするのに
わかりやすかった記事のリンクを
掲載しておきます。
アレクサのセットアップ
Amazon Echo Dot を購入!初期設定・セットアップ手順を紹介 – cmblog
IRkitのセットアップ
IRKit届いた!開封から設定、動作確認まで - ナオノサクイン
IFTTTのセットアップ
【IFTTT(イフト)の使い方】新規登録とインストール | パソコン修理のエヌシステムBLOG
大まかな流れは下記の動画で掴めます。
手順を説明していきます。
macではターミナル
windouwsではコマンドプロント
を開いてください。
IRkitのIPアドレスの取得
ターミナル、またはコマンドプロントにに
dns-sd -G v4 irkitxxxx.local
を入力する。
※xxxxは固有値 IRkitのシリアルナンバーです。
シリアルナンバーはIRkit購入時に付属してます。
もしくはIRkitのアプリから確認できます。
これでIPアドレスがわかるのでコピー
音声操作したいリモコンボタンの赤外線情報を取得
赤外線リモコンでIRKitに向けて
情報が欲しい(声で操作したい)
ボタンを押す。
その後
先ほどコピーしたIPアドレスを下記のxxx.xxx.xxx.xxxに入れて
ターミナルに
curl -i "http://xxx.xxx.xxx.xxx/messages" -H "X-Requested-With: curl"
を入力する。
例:curl -i "http://192.168.3.7/messages" -H "X-Requested-With: curl"
{“format”:~で始まる赤外線信号~]}が表示されるのでコピーしておく
clienttokenの取得
ターミナルに
curl -i "http://xxx.xxx.xxx.xxx/keys" -d '' -H "X-Requested-With: curl"
を入力する。
返ってきたclienttokenをコピーしてメモする
例:
curl -i "http://192.168.3.7/keys" -d '' -H "X-Requested-With: curl"
※xxx.xxx.xxx.xxxはIPアドレス
deviceid、clientkey を取得
ターミナルに
curl -i -d "clienttoken=XXXXXXXXXXXXXXXXXXXXX" "https://api.getirkit.com/1/keys"
を入力する。
※XXXXXXXXXXXXXXXXXXXXXは③で取得したclienttoken
下記のように返ってくるので””で囲われたxxxxxの部分である
deviceidとclientkeyをコピー、メモする。
{"deviceid":"xxxxxxxxxxxxxxxxxxx","clientkey":"xxxxxxxxxxxxxxxx"}
IFTTTにアレクサのトリガーを登録
こちらは下記記事を参考にさせていただきました。
Amazon Echo(Alexa)とIRKitをIFTTTで連携してホームオートメーション - Usual Software Engineer
https://ifttt.com/amazon_alexa にてアレクサとIFTTTの連携の設定をしてくだい。
IFTTTにログインして
「NEW applet」を選びます。
まずは "if this" の部分です。
アレクサを選択し
"Say a specific phrase" を
さらに選択
例としてテレビをキーワード
にして作成します。
これでifの部分は完成
IFTTTのWEBhockのアクション設定
then の部分です。
Webhooks を選択
"Make a web request" をさらに選択
②、④で得られたデータをBodyに入力します。
URL |
|
Method |
POST |
Content Type |
application/x-www-form-urlencoded |
Body |
clientkey=自分のclientkey&deviceid=自分のdeviceid&message={“format”:~で始まる赤外線信号~]} |
最後はアプレットの名前を入力します。
これで完成!
アレクサ、キーワード、トリガー
と入力するとエラーが少なく認識の
精度が高い気がします。
この方法でまずはやってみて下さい。
動作確認
最後に確認で
アレクサに登録したワードで喋りかけると・・
私「アレクサ テレビ トリガー」
アレクサ「イフトに送信します」
動いた!
IFTTTへの複数登録
他にも登録したいリモコンボタン
がある場合は
②音声操作したいリモコンボタンの赤外線情報を取得
で赤外線情報を取得し
⑥IFTTTのWEBhockのアクション設定
のBody部分の赤外線情報だけ変更すればOK
オススメの音声操作
リモコンのキー全部を
音声操作にすることも可能です。
しかしながら、細かい操作
音量やチャンネル変更は
手でやったほうが早いです。
何かやりながら声で操作する。
そういう場合に使えます。
例をいくつかあげます。
- 帰ってきて、テレビ見たいのにリモコン見当たらない→電源ボタン
- 赤ちゃんを寝かしつけた時→消音ボタン
- うわ!これ録画したい!リモコンねぇ!→一発録画ボタン
- 暖房、冷房をとりあえずつける。→暖房、冷房ボタン
- 暖房、冷房をとりあえず消す。→停止ボタン
- 電気をつける、消す→全灯、消灯ボタン
なんでも、かんでも音声操作
にするのではなく、使い分けが重要!
オススメしない音声操作
少し書きましたが、逆に音声操作に
不便なリモコン操作を実体験を元に書きます。
- チャンネル変更
- 音量上げ下げ
- 扇風機オンオフ(足でやったほうが早い)
- エアコン温度、風量調整
見て頂くとわかりますが細かい動作は
苦手です。
このあたりが上手くできるように
音声操作の分野も改善すれば良いですね
トリガーを言わない操作
2020年4月追記
2019年の12月頃から
アレクサ イフト トリガー
と言っても反応しなくなりました。
調べてみると
アレクサの定型アクションに直接
IFTTTを追加できるように更新された
ことが要因のようです。
何とこれで、「〇〇トリガー」を言わなくても
自然なフレーズで操作できるように
改善されています。
先ほど作成したIFTTTのアプレットを
下記のページに書かれている方法で
アレクサの定型アクションに追加すれば
OKです。
Alexaの定型アクションへIFTTTを追加してシュッと帰宅しよう - Qiita
これで更に使いやすくなりました。
アマゾンの努力に感謝ですね。
テレビ音量の音声操作
これまでは赤外線に対応するボタンに対し、
一回の音声操作だったので
例えばテレビの音量を3上げる場合
「アレクサ 音量上げて」
「アレクサ 音量上げて」
「アレクサ 音量上げて」
・・・・
と現実的ではなかったんですが
アレクサの定型アクションに複数回登録すれば
IFTTTに登録したリモコンの動作を複数回連続で
一回の音声操作で実現できます。
エアコンの温度調整なども同じことです。
これでまた、一つ音声操作の不満が解消されました。
参考:使用した機器
アレクサ第3世代
Echo Dot 第3世代 (Newモデル) - スマートスピーカー with Alexa、チャコール
- 出版社/メーカー: Amazon
- 発売日: 2018/10/30
- メディア: エレクトロニクス
- この商品を含むブログを見る
IRKit 学習リモコン
IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン
- 出版社/メーカー: maaash.jp
- メディア: ホーム&キッチン
- この商品を含むブログ (3件) を見る