こまめなゴミ捨ては、部屋をきれいに保つ一番の秘訣です。
夜に次の日のゴミを準備するのですが、疲れてると忘れがちなので、Raspberry Piで特定の時間に音声でお知らせしてくれるようにしました。
やり方は音声を読み上げるスクリプトを作成して、 cronに登録するだけです。
スマートホーム化!ラズペリーパイに関するおすすめ便利機能まとめ
Raspberry Piで音が鳴るように設定
スピーカー等、人それぞれかと思います。音がなるようにセットしておきます。
【Raspberry Pi】pHAT DACで音を出す方法とAirPlay対応のやり方 – CGメソッド
Open Jtalk
音声読み上げソフトOpenJTalkをインストールします。
sudo apt-get update sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
MMDagent
男性の音声しかないので、女性音声をインストールします。
wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
解凍
unzip MMDAgent_Example-1.7.zip
コピー
sudo cp -R ./MMDAgent_Example-1.7/Voice/mei /usr/share/hts-voice/
スクリプトの作成
nanoでjtalk.shというスクリプトを作成します。
sudo nano jtalk.sh
中身
#!/bin/bash tempfile=`tempfile` option="-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -r 0.7 -ow $tempfile" echo "$1" | open_jtalk $option aplay -q $tempfile rm $tempfile
Ctrl+X → Y → Enterで保存
※-r
でテキストを少しゆっくりめに読むようにしています。
※コマンドを調べる時はopen_jtalk
音声テスト
./jtalk.sh "こんにちは。音声テストです。"
参考
cronに登録
指定した時間に音声が流れるようにします。
実行権限付与
sudo chmod +x /home/pi/jtalk.sh
nanoで開きます。
crontab -e
例えば下記のような感じです。
30 7 * * * /home/pi/jtalk.sh "おはようございます。ごみ捨ての時間です。"
ゴミの日お知らせ設定
各種ゴミの日のお知らせを設定してみます。
毎月第1・3金曜日みたいな時は少し設定が面倒です。
#★可燃ゴミ(毎週 月木) 00 00 * * 1,4 /home/pi/jtalk.sh "明日は可燃ゴミの日です。円盤やゴム、革製品も捨てましょう。" #★不燃ゴミ(第1・3 金) # 第1 金曜日(5月) 00 00 1-7 5 * [ "$(date '+%w')" -eq 5 ] && /home/pi/jtalk.sh "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。" # 第2 金曜日(8月) 00 00 8-14 8 * [ "$(date '+%w')" -eq 5 ] && /home/pi/jtalk.sh "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。" # 第3 金曜日(9、11、12月) 00 00 15-21 9,11-12 * [ "$(date '+%w')" -eq 5 ] && /home/pi/jtalk.sh "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。" # 第4 金曜日(どの月でも) 00 00 22-28 * * [ "$(date '+%w')" -eq 5 ] && /home/pi/jtalk.sh "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。" # 第5 金曜日(どの月でも) 00 00 29-31 * * [ "$(date '+%w')" -eq 5 ] && /home/pi/jtalk.sh "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。" #★プラスチック・古紙(毎週 水) 00 00 * * 3 /home/pi/jtalk.sh "明日は古紙の日です。雑誌やダンボールも捨てましょう。" #★びん・缶・ペットボトル(毎週 土) 00 00 * * 6 /home/pi/jtalk.sh "明日はびん缶の日です。ゴミを捨てましょう。"
参考
クーロン(cron)をさわってみるお – Qiita
crontabで第?曜日にタスクを実行する方法 – Webサービスで起業を目指すプログラマーblog