3
2

More than 3 years have passed since last update.

Alexaの時報をスキル・定型アクション不要で実現する方法

Last updated at Posted at 2021-02-18

シェルスクリプトを使用して、Alexa (Amazon Echo) に時報やカスタムメッセージをアナウンスさせる方法です。

手軽にできる方法としてスキルや定型アクションがありますが、
スキル → 常にスキルが起動した状態でなければならない
定型アクション → スマホのアプリでしか追加できず、数が多いと作成・管理が大変
というデメリットがあります。
また、リマインダーは alexa.amazon.co.jp からパソコンでも追加できますが、やはり数が多いと大変です。

シェルスクリプトを使うことによって
- 曜日・時間など柔軟なカスタマイズが可能
- カスタムメッセージを使用可能
というメリットがあります。

欠点は、常にシェルスクリプトが実行できる環境を維持しておかなければならないということです。パソコンを常に起動している方であればそれで構いませんし、Raspberry Pi などを使うこともできます。

以下のコマンド等は Mac を前提にしています。必要に応じて PATH 等を変更してください。

手順

1. スクリプトの用意

Alexa(Amazon Echo)をコマンドラインから自由に喋らせる方法 - Qiita
https://qiita.com/shge/items/169de61c8f246d26c110

に沿って、alexa_remote_control_plain.sh を用意してください。

2. cron の設定

crontab -e

cron の設定画面が開きます。(エディタは vi)

crontab
PATH=/opt/homebrew/sbin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

0 * * * * /path/to/alexa_remote_control.sh -e textcommand:"今何時"

と入力(/path/to/ は各自のパスに変更)して、:wq で保存します。

無事定期的に実行されたら完成です! :tada:

※ Mac で実行する方は、
crontabでシェルスクリプトが実行できないときの対処法 - Qiita
に沿って、cron にフルディスクアクセスを与えてください。

PATH は Homebrew のインストールフォルダによって異なります。

サンプル

平日17:00に「〇〇の時間になりました」とアナウンス

0 17 * * mon-fri /path/to/alexa_remote_control.sh -e speak:"〇〇の時間になりました"
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2