【Raspberry Pi】 cronを使って写真を定期的に撮影

前回の記事では、Raspberry Pi用Camera Module V2を使って写真を撮影することについて解説しました。今回はcronというデーモンを使って写真を定期的に撮ってみます。これが出来ると植物などの観察に役立つでしょう。

写真撮影用のスクリプトを準備し、cronの設定、実行といった流れとなります。

目次

cronとは

設定したスケジュールに従ってスクリプトを自動実行してくれるデーモン(常駐プログラム)です。「crontab」というコマンドでスケジュールを設定します。

写真撮影用のスクリプトを準備

cronを設定する前に、実行するスクリプトを準備します。

rpicamera.shというファイル名で、以下のコードを書きました。

!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -o /home/pi/rpicamera/$DATE.jpg

実行した瞬間の写真がファイル名「Year-Month-Day_HourMinute.jpg」で保存されるスクリプトです。

cronの設定

準備したスクリプトを定期的に実行するため、crontabファイルに設定を追加していきます。

crontabファイルは以下のコマンドを打つことで開くことができます。

$ crontab -e

自動実行するスケジュールは以下のフォーマットで記述します。

分 時 日 月 曜日 実行されるコマンド

指定する値は下記の通りとなります。

指定対象範囲
0-59
0-23
1-31
1-12
曜日0-6 (0:日, 1:月, 2:火, 3:水, 4:木, 5:金, 6:土)

複数の値を指定したい場合は、,(コンマ)、-(ダッシュ)、*(アスタリスク)、/(スラッシュ)を用います。

記号指定内容設定例実際の値
, リスト指定1,3,51,3,5
範囲指定1-51,2,3,4,5
*すべての値*0,1,2,3, …
/間隔指定*/30,3,6,9, …

例えば、平日、3時間ごとに写真を撮りたい場合は、以下のとおりcrontabファイルに追加します。

0 */3 * * 1-5 /home/pi/rpicamera/rpicamera.sh

cronの実行

cronの起動状態を確認します。

/etc/init.d/cron status

Activeであれば、指定した時間に写真が撮られ、指定フォルダに写真が保存されていきます。

cronが起動していなければ、以下のコマンドを打ち、起動します。

sudo /etc/init.d/cron start

まとめ

Raspberry Piで写真を自動的に撮影するため、cronというデーモンを使いました。

定期スケジュールを設定しておけば、植物などの定期観察に役立つと思います。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

大学で機械工学を学んだ後、製造業で働く40代の会社員です。
IT系、電気系を学んでこなかった機械系人間が、ゲーム制作、電子工作に奮闘してます。
極力低コストでものづくりを楽しむのがモットー。

目次