理系旦那と文系妻のお家働き方改革

職場と同じく家庭にも働き方改革が必要です!

全て子育て世代に贈ります

【未来の生活】アレクサ × 学習リモコン( IRkit ) × IFTTTの活用

アレクサ 学習リモコン IFTTT

アレクサ(Alexa)、学習リモコン、IFTTTの組み合わせ

声で家電を操作する

未来じゃなくて今のはなしです。

アレクサ(Alexa)と学習リモコンを使った

方法を詳しく解説します。

このブログは理系旦那と文系妻による 

家で出来る働き方改革を掲載しています

過去の記事でアマゾンのアレクサを

使用したお家オートメーション

について書いてきました。

www.ouchihatarakikatakaikaku.com

 今回は いよいよ 

音声による家電操作です。

スマート家電ではない赤外線リモコンに

よって動作する家電の操作を目指します。

 

これには下記の

3つのアイテムを使います。

  1. アレクサ Alexa(音声操作機器)
  2. IRKit(学習リモコン
  3. IFTTT(2つのサービスをつなぐアプリ)

アレクサ、IRKit、IFTTTの

セットアップは終了している前提で

記載していきます。

それぞれのセットアップするのに

わかりやすかった記事のリンクを

掲載しておきます。

アレクサのセットアップ

Amazon Echo Dot を購入!初期設定・セットアップ手順を紹介 – cmblog

IRkitのセットアップ

IRKit届いた!開封から設定、動作確認まで - ナオノサクイン

IFTTTのセットアップ

【IFTTT(イフト)の使い方】新規登録とインストール | パソコン修理のエヌシステムBLOG

大まかな流れは下記の動画で掴めます。

www.youtube.com

手順を説明していきます。

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」を選びます。

IFTTT 導入画面

まずは "if this" の部分です。

アレクサを選択し

"Say a specific phrase" を

さらに選択

Choose trigger

例としてテレビをキーワード

にして作成します。

Compleate trigger fields

if then that

これでifの部分は完成

⑥IFTTTのWEBhockのアクション設定

then の部分です。

Choose action
Compleate action field

Webhooks を選択

"Make a web request" をさらに選択

 

②、④で得られたデータをBodyに入力します。

 

URL

https://api.getirkit.com/1/messages

Method

POST

Content Type

application/x-www-form-urlencoded

Body

clientkey=自分のclientkey&deviceid=自分のdeviceid&message={“format”:~で始まる赤外線信号~]}

 

最後はアプレットの名前を入力します。

これで完成!

review and finish

 

アレクサ、キーワード、トリガー

と入力するとエラーが少なく認識の

精度が高い気がします。

この方法でまずはやってみて下さい。

動作確認

最後に確認で

アレクサに登録したワードで喋りかけると・・

私「アレクサ テレビ トリガー」

アレクサ「イフトに送信します」

動いた!

IFTTTへの複数登録

他にも登録したいリモコンボタン

がある場合は

②音声操作したいリモコンボタンの赤外線情報を取得

で赤外線情報を取得し

⑥IFTTTのWEBhockのアクション設定

のBody部分の赤外線情報だけ変更すればOK

音声操作に便利なリモコン動作

リモコンのキー全部を

音声操作にすることも可能です。

しかしながら、細かい操作

音量やチャンネル変更は

手でやったほうが早いです。

何かやりながら声で操作する。

そういう場合に使えます。

例をいくつかあげます。

 

  • 帰ってきて、テレビ見たいのにリモコン見当たらない→電源ボタン
  • 赤ちゃんを寝かしつけた時→消音ボタン
  • うわ!これ録画したい!リモコンねぇ!→一発録画ボタン
  • 暖房、冷房をとりあえずつける。→暖房、冷房ボタン
  • 暖房、冷房をとりあえず消す。→停止ボタン
  • 電気をつける、消す→全灯、消灯ボタン

 

なんでも、かんでも音声操作

にするのではなく、使い分けが重要!

音声操作に不便なリモコン操作

少し書きましたが、逆に音声操作に

不便なリモコン操作を実体験を元に書きます。

  • チャンネル変更
  • 音量上げ下げ
  • 扇風機オンオフ(足でやったほうが早い)
  • エアコン温度、風量調整

見て頂くとわかりますが細かい動作は

苦手です。

このあたりが上手くできるように

音声操作の分野も改善すれば良いですね

トリガーを言わないで操作する

2020年4月追記

2019年の12月頃から

アレクサ イフト トリガー

と言っても反応しなくなりました。

調べてみると

アレクサの定型アクションに直接

IFTTTを追加できるように更新された

ことが要因のようです。

何とこれで、「〇〇トリガー」を言わなくても

自然なフレーズで操作できるように

改善されています。

先ほど作成したIFTTTのアプレット

下記のページに書かれている方法で

アレクサの定型アクションに追加すれば

OKです。

Alexaの定型アクションへIFTTTを追加してシュッと帰宅しよう - Qiita

これで更に使いやすくなりました。

アマゾンの努力に感謝ですね。

音量の上げ下げも音声操作する。

これまでは赤外線に対応するボタンに対し、

一回の音声操作だったので

例えばテレビの音量を3上げる場合

「アレクサ 音量上げて」

「アレクサ 音量上げて」

「アレクサ 音量上げて」

・・・・

と現実的ではなかったんですが

アレクサの定型アクションに複数回登録すれば

IFTTTに登録したリモコンの動作を複数回連続で

一回の音声操作で実現できます。

エアコンの温度調整なども同じことです。

これでまた、一つ音声操作の不満が解消されました。

 

参考:使用した機器

アレクサ第3世代

Echo Dot  第3世代 (Newモデル) - スマートスピーカー with Alexa、チャコール
 

IRKit 学習リモコン