複数のAlexa端末のどれから呼びかけたのか判定する(RaspberryPi,Ubuntu)

スポンサーリンク

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 を使用すれば、声をかけた端末を取得できます。

準備

まず、下記サイトを参考に、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:実行しました"

コメント

タイトルとURLをコピーしました