【ラズパイ初歩】crontabで定期的に実行させよう

スケジュールPython初歩

ラズパイ( ラズベリーパイ、Rasberry Pi )を使って、決まった日時にGoogleを喋らせたり、プログラムを実行させる

時計

ラズパイを使って、Google Homeに喋らせる方法は、こちらで紹介しましたが、時報としてGoogle Homeを使う場合には、決まった時刻で喋らせる必要があります。そのやり方を紹介します。

まずはGoogleHomeで時報を喋ってもらおう

最近、Google Homeがアップデートされて、Google Homeアプリでも時報もどきのものはできるようになりました。目的によっては、そちらでも十分かもしれないので、そちらをまず紹介します。

ただし、Google Homeだけで時報をやろうとすると、時刻が正確ではないです。理由は分かりませんが、7時に設定しても2,3分ずれるのがざらにあります。あまり正確な時刻を求めていないのであれば、良いですが、正確な時刻、そして長文を喋らせたい、と思う場合には、ラズパイを使ってGoogleHomeに喋らせた方が良いです。

Google Homeのルーティンを使うやり方

iosでのやり方を紹介します。

Google Home


iosのGoogle Homeアプリを立ち上げて、設定画面を開き、”その他の設定”を選びます。

Google Home2


”ルーティン”を選びます。

Google Home3


右下の”+”を選びます。

④”日時を設定”に喋らせたい時刻と曜日を入力し、さらに、”コマンドを追加”には適当なものを入力します。今回は、定刻に喋らせるだけなので、”時報として使う”としても良いです。

⑤”操作を追加”を選びます。

Google Home4


例えば、”5時になりました”と喋らせたいのであれば、”5時になりました、と繰り返して”と入力します。

これで、5時になれば、Google Homeが”5時になりました”と喋ります。ただし、時間が正確ではないのと、長文には対応してくれません。

ですので、目的によっては、これでは不十分かもしれません。そんなときには、やっぱりラズパイで定刻になったら喋らせるようにした方が良いです。次に、そのやり方を説明します。

◆ラズパイでcrontabを使って、定刻になったら喋らせる

crontabの使い方としては、2通りあります。一つ目は、ターミナルを使うやり方二つ目は、crontabアプリを使うやり方です。

ターミナルを使う

こんな感じにします。
0 17 * * * curl -X POST -d “text=8時です。” http://192.168.0.9:8091/google-home-notifier

数字は、左から、分、時、日、月、曜日です。

月日や曜日を指定するなら、*を数字にします。曜日の場合は、月曜日が1で日曜日が7です。

crontabアプリを使う

crontabコマンドの使い方が分からなかったり、うまく機能しなかったときの代替方法として有効です

crontab設定1


プログラムから、
”Add/Remove Software
を選択する。

crontab設定2


検索窓に”crontab”と入力し、
GNOME scheduler for automatic tasks
にチェックを入れる。すると、アプリがインストールされます。

crontab3


インストールされたアプリを開きます。システムツールの中に、
Scheduled tasks”という名前で入っています。

crontab設定4


アプリを開きます。そして、
・Descriptionにはタイトルを入力
・Commandにはパスを入力
・その下は”X application”を選択
・Time&Dateに、
実行したい日時、曜日を入力。これで終了です。あとは決まった日時にコマンドが実行されるだけです。

crontabコマンドよりも直感的に操作できるので初心者向きです。

pythonなどのプログラムを学ぶときには、横に本を置いて読みながら勉強すると進みが早いです。webで調べると行ったり来たりが多くなるのに比べて、横で見ながらできて比べながら進めることができます。特に↓の本は初心者でも分かりやすく書いてある本なので、初心者の人におすすめです。

コメント