Amazon Echo から「○○オン」や「○○オフ」でRaspberryPi や Ubuntu 上のコマンドを実行する、node-red-contrib-amazon-echo を使う方法を下記記事で紹介しました。
複数のAlexa端末を使っている場合、node-red-contrib-amazon-echo ではどの端末から声をかけたかが判別できませんが、alexa-remote-control を使えば判別できます。
AmazonEchoからRaspberryPiのコマンドを実行する(node-red-contrib-amazon-echo): パソコン鳥のブログ
AmazonEchoからUbuntuのコマンドを実行する(node-red-contrib-amazon-echo): パソコン鳥のブログ
上記サイトの内容で、RaspberryPi や Ubuntu 上のスクリプトを実行できるので、そのスクリプトから alexa-remote-control を使用すれば、声をかけた端末を取得できます。
準備
2023.11.13 更新
alexa_remote_control.sh は下記記事の内容で設定してください。
alexa_remote_control.sh でリフレッシュトークンを使用する – パソコン鳥のブログ
まず、下記サイトを参考に、alexa_remote_control.sh を実行できるようにしてください。
Alexa(Amazon Echo)をコマンドラインから自由に喋らせる方法 – Qiita
Alexaを自由に喋らせる方法(コマンドライン編) | 育児×家事×IoT
Alexa端末を確認する
alexa_remote_control.sh -a を実行すると、Alexa端末の一覧が表示されます。
ここで表示されたものが、Alexa端末の端末名です。
以降の説明での “端末名” は、ここで表示されたものになります。
./alexa_remote_control.sh -a the following devices exist in your account: 子供部屋 リビング 台所 FireHD8 FireHD7 Fire TV stick This Device
最後に呼び掛けたAlexa端末を確認する
alexa_remote_control.sh -lastalexa を実行すると、最後にウェイクワード(アレクサ、アマゾン、エコー、コンピューター、いずれか)で呼び掛けた端末名が表示されます。
./alexa_remote_control.sh -lastalexa リビング
なお、ここでは詳しく説明しませんが、下記のようにして alexa_remote_control.sh で指定の内容をしゃべらせることができます。
./alexa_remote_control.sh -e "speak:こんばんわ"
(しゃべらせる端末は -d オプションで指定できます)
./alexa_remote_control.sh -d "FireHD7" -e "speak:こんばんわ"
この後、alexa_remote_control.sh -lastalexa を実行すると、最後に呼び掛けた端末として、しゃべらせた端末名が表示されます。
以上のように、alexa_remote_control.sh で呼びかけたAlexa端末を取得できます。
これにより、次のように端末名を指定して、呼びかけられた Alexa端末から応答を返すことができます。
./alexa_remote_control.sh -d "台所" -e "speak:実行しました"
コメント