Raspberry piにモーニングコールをしてもらう
やったこと
今回はRaspberry piに、朝の起きる時刻になると設定した音声を喋ってもらう機能を実装しました。
環境
Raspberry pi 3B+
python 3.7.3
Open JTalk1.08
準備
発話の準備
jtalkを使って喋らせるので、こちらの記事を参考にしながらjtalkの環境構築を進めました。 pacoは使えなかったので普通にmake installしました。パッケージの管理はできなくなりますが問題ありません。
プログラム
#!/usr/bin/env python # -*- coding:utf-8 -*- import shlex import subprocess from datetime import datetime CMD_SAY = 'jsay' def Mornigcall(): text = '起きてください 会社に遅れます' text = CMD_SAY + ' ' + text proc = subprocess.Popen(shlex.split(text)) proc.communicate() return def SayDateTime(): d = datetime.now() text = '現在時刻は%s時%s分%s秒です' % (d.hour, d.minute, d.second) text = CMD_SAY + ' ' + text proc = subprocess.Popen(shlex.split(text)) proc.communicate() return def main(): for num in range(6): SayDateTime() Mornigcall() return if __name__ == "__main__": main()
ファイル名は「mornigcall.py」です。ひとまず6回繰り返すようにしました。
自動起動の設定
朝の起きる時刻になったら発話するプログラムを自動で起動します。
コマンドラインからcrontab -e
を実行して出てきたファイルの一番下に以下のように記述します。注意点としてフルパスで記述する必要があります。
定期自動実行に関してはcronの使い方(pythonスクリプト)を参考にしました。
これで毎朝7時にモーニングコールで起こしてもらえます。