Raspberry Pi で日付・曜日・時刻をしゃべらせる

Raspberry Pi に日付・曜日・時刻をしゃべらせて目覚まし時計として使うことにした。

環境:Raspberry Pi Zero W、Raspbian Buster

(0)Raspbian Buster をインストールする。

(1)今回は USB スピーカーを使うので、USB スピーカーから音が出るようにする。

Raspberry Pi で USB スピーカーから音を出す – with a Christian Wife
https://blog.withachristianwife.com/2018/05/30/raspberrypi-with-usb-speaker/

(2)AquesTalk Pi をダウンロードする。

$ wget https://www.a-quest.com/archive/package/aquestalkpi-20130827.tgz

(3)2を解凍する。

$ tar zxvf aquestalkpi-20130827.tgz

参考:
RaspberryPiでよく使うLinuxコマンド集
http://jellyware.jp/kurage/raspi/linux_command.html

tar コマンドの覚え方。 その1 - それマグで!
https://takuya-1st.hatenablog.jp/entry/20101026/1288093407

(4)試しにしゃべらせてみる。

$ ~/aquestalkpi/AquesTalkPi "漢字も読めます。" | aplay

(5)日付や時刻をしゃべらせてみる。

$ echo "`date +%k`時`date +%-M`分です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
$ echo "今日は`date +%m`月`date +%e`日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay

Raspberry Pi の言語は英語にしているので、日本語で曜日を喋らせるには条件分岐が必要なので、oneliner で書くのは難しい。なので、次の cron への登録の際に工夫する。

(6)cron へ登録する。

注意点としては crontab では date コマンドの % は \ でエスケープすること。

毎朝6時に日付・曜日を喋らせるには以下。いちいち曜日ごとに書いている。

0 6 * * 0 echo "今日は`date +\%m`月`date +\%e`日、日曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 1 echo "今日は`date +\%m`月`date +\%e`日、月曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 2 echo "今日は`date +\%m`月`date +\%e`日、火曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 3 echo "今日は`date +\%m`月`date +\%e`日、水曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 4 echo "今日は`date +\%m`月`date +\%e`日、木曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 5 echo "今日は`date +\%m`月`date +\%e`日、金曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay
0 6 * * 6 echo "今日は`date +\%m`月`date +\%e`日、土曜日です" | ~/aquestalkpi/AquesTalkPi -f -| aplay

毎朝6時半に時刻を喋らせるには以下。

30 6 * * * echo "`date +\%k`時`date +\%-M`分です" | ~/aquestalkpi/AquesTalkPi -f -| aplay

参考:
crontabでdateコマンドを使う時の注意点 - Qiita
https://qiita.com/doitnow420@github/items/70bc148d782e96492282

cron [with a Christian Wife wiki]
https://wiki.withachristianwife.com/doku.php?id=raspberrypi:cron

この記事が気に入ったらサポートをしてみませんか?