はじめに
Raspberry Pi のカメラモジュールを買ったので、タイムラプス撮影に挑戦します。

撮影環境
このような感じで、大きな段ボールの中に撮影環境を組みます。



撮影中はラズパイとUSBバーライトの電源をONにしますので、じわじわ電気代がかかります。ラズパイとのSSH接続は検索してなんとかします。
プログラム
必要なパッケージをインストールします。
pip install picamera
pip install schedule
一定時間毎に写真を撮るプログラムを用意します。
import time
import datetime
import picamera
import schedule
#実行内容
def job():
print("Working...")
with picamera.PiCamera() as camera:
camera.resolution = (2592, 1944) #カメラモジュールの解像度
#時刻をファイル名にする
dt_now = datetime.datetime.now()
name = '{}.jpg'.format(dt_now.strftime('%Y-%m-%d-%H-%M-%S'))
print(name)
#撮影と保存
camera.capture('save/{}.jpg'.format(name))
#1分毎に実行
schedule.every(1).minutes.do(job)
#30分毎に実行
#schedule.every(30).minutes.do(job)
#毎時01分に実行
#schedule.every().hours.at(":01").do(job)
#無限ループでスタート
while True:
schedule.run_pending()
time.sleep(2)
画像保存用のフォルダを作成します。
mkdir save
SSH接続で実行する場合、普通に実行してしまうとSSH接続の終了時にジョブも終了してしまいます。
#ダメな例
python3 timelapse.py
次のようにバックグラウンドで実行します。
#良い例
nohup python3 timelapse.py &
コンソール出力は「nohup.out」というファイルに書き込まれていきます。
結果
柿の追熟の様子を動画にしました。(そのプログラムを公開せよ、とは思いますが)
始めて気が付いたことがあるのですが、柿ってしぼむのですね。「熟すと甘くなる」とか言ってるのは単に水分が抜けて糖分の濃度が上がっただけ、という仮説が立ちます。

おまけ
Shoe-Craft-Terminalでの3Dプリントの様子も撮影しました。
さいごに
なぜか写真毎に彩度?トーン?が変わってしまい、動画に再構成するとチカチカして目に悪いです。このあたりの設定を固定できると良くなりそうです。