毎朝自分で起きない長男のために、Raspberry Pi にスピーカーをつないで、目覚まし時計を作る

作成理由と準備するもの

GoogleHomeやパソコンがリビングにあるので、子どもの部屋にも何かデータを送りたいな。と、変態的なことを考えており、家にあるRaspberry Pi を活用することにしました。取り急ぎ、毎朝自分で起きない長男のために、目覚まし時計&時刻アナウンスを作ってみました。

長男の部屋に置いたラズパイとスピーカー

そのうち、リビングで呼んだら、子どもの部屋のラズパイが話してくれるようになったらいいなと思います。いつか作ろうと思います。まずは、定型的な動きから始めます。

・好きな曲をランダム再生して、目覚まし時計にする
・夕食の時間を知らせる
・夜中にトイレに行くように促す


下記が必要なものです。

・Raspberry Pi やパソコンなど
・スピーカー ※100均のは音が小さく、1000円くらいのものに買い替えました。
・音楽用のmp3ファイル
・アナウンス用のmp3ファイル(任意です)
・mpg321 ※コマンドでmp3を再生するソフト ※sudo apt-get install mpg321

音声ファイルの準備

朝の音楽やアナウンスしたい音声ファイルを用意します。
音楽ファイルは、フリー素材や買ったCDからリッピングしたものを使います。
アナウンス用の音声ファイルは、Text-To-Speechサイトから作ります。

以下が、参考になりました。

作成したファイルを適当なディレクトリに保存します。このあと作成するスクリプトのフォルダも作ります。※Dropboxは他のPCで保存したものが同期されるので、各PC共通でよく使っています。

mkdir /home/pi/Dropbox/mp3/voice 
mkdir /home/pi/Dropbox/mp3/music
mkdir /home/pi/Dropbox/shell

このあと記載しますが、voiceには、固定でファイル指定し音声を流します。musicは、複数のファイルを入れておいてランダム再生をすることにします。

再生用スクリプトの作成

次は、音声を再生するためのスクリプトを作成します。

cd /home/pi/Dropbox/shell
vim mezamashi.sh
<mezamashi.sh>

! /bin/bash

#目覚ましベル mpg321 -g 100 '/home/pi/Dropbox/mp3/voice/古い携帯のベル.mp3'
#朝のメッセージ mpg321 -g 100 '/home/pi/Dropbox/mp3/voice/朝です元気よくおきましょう.mp3'
#朝のBGMをランダム再生
cd /home/pi/Dropbox/mp3/music find . -type f -name '.' | shuf -n 1 | xargs -d "\n" mpg321 -g 30
#緊急地震速報で起こす mpg321 -g 15 '/home/pi/Dropbox/mp3/voice/緊急地震速報の音.mp3'


これを実行すると、例えば、以下のようになります。
 ・ピリリリリ… ピリリリリ…
 ・6時になりました。朝です。元気よくおきましょう!
  それでは、今朝の音楽はこちらです。
 ・♬(音楽がランダムで流れる)♬
 ・それでも起きなければ、緊急地震速報の音を流し、無理やり起こす。
  ※イやな親だなあ。(長男は笑ってましたが。。毎朝トラウマ)


工夫した点としては、mpg321の -g オプションで音量を調整したことです。音声ファイルは音が小さいため100で、音楽ファイルは音が大きいので30程度にしました。緊急地震速報は、近所の人が驚いたら困るので、15にしてます。

同様に、他のタイミングでのアナウンス用のスクリプトも作ります。

cronの登録

毎日起動したいので、cronに登録します。

crontab -e

<中身>
0 6 * * * sh /home/pi/myShell/mezamashi.sh
0 17 * * * sh /home/pi/myShell/ofurohaire.sh 30 1 * * * sh /home/pi/myShell/yonakatoire.sh

数週間動かしたのですが、効果はとてもあって、今まで長男は目覚まし時計を無視して寝続け、妻が怒鳴っても寝続けていたところが、緊急地震速報を聞かないように、部屋を飛び出すようになりました。

たまに長男を寝かしつけてそのまま寝てしまうことがあり、朝になったら長男だけ先に起きていて、私だけが緊急地震速報の音を聞くことがあります。

精神衛生上よろしくないので、早起きに慣れたらそっと消そうと思います。

コメント

%d人のブロガーが「いいね」をつけました。