動機
- 寒さが厳しくなってきた2020年12月下旬、布団を蹴って寒くて目が覚めることがよくある。
- 寝ている間、自分がどんな動きをしているのか知りたい。
- 寝ている自分をタイムラプスで撮影しよう。
- 細かいところは一旦気にしない。
- 可能ならコードは書かずに実現したい。
流れ
機器の購入
- Raspberry Pi 4を購入
- Raspberry Piを触るのが初めてだったのでスターターキットをRSで購入。1万円くらい。
- https://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi

- USBカメラを購入
- Raspberry Pi カメラモジュールが4000円以上したのでこれを使うのは断念。
- 安そうなUSBカメラをビックカメラで購入。1000円ちょっと。設置も簡単そう。

Raspberry Pi 4のセットアップ
- スターターキットの案内に従い、下記のサイトを参考に組み立てる。
- https://www.okdo.com/getstarted/
- 付属のSDカードから簡単にOSをインストールできた。
- 細かい設定はイチケンさんの動画を参考に。
sshとVNCを可能にする
- ラズパイとモニターを直接繋げておくのは面倒なので、別端末からラズパイを操作できるようにする。
- 下記の記事を参考に。
USBカメラの確認

- ラズパイにUSBカメラを繋げ、USBカメラが動作しているか確認する。
- guvcviewというものを使用
# インストール
sudo apt-get -y install guvcview
# 起動
guvcview
- VNCでラズパイに繋ぎ、guvcviewでUSBカメラを試しているところ。
- カメラ設置の際に写り具合を確認できる。

定期的に撮影する
- 撮影はuvccaptureを使用。
# インストール
sudo apt-get -y install uvccapture
# サイズとファイル名を指定して撮影。ファイル名が重複しないようUNIX時刻を使用。
uvccapture -m -x1280 -y720 -o$(date +\%s).jpg
- cronで定期実行する。とりあえず5分間隔。画像サイズは適当。
- 5分ごとにUSBカメラで撮影された画像ファイルが生成される。
# crontab -eを実行して次のように記述
*/5 * * * * uvccapture -m -x1280 -y720 -o$(date +\%s).jpg
画像からライプラプスに変換する
画像がある程度溜まったら、それらを使ってタイムラプスに変換する。
# インストール
sudo apt-get install -y mencoder
# 対象となる画像ファイル一覧をテキストファイルに落として
ls *.jpg > stills.txt
# タイムラプスに変換(参考サイトのコマンドそのまま)。timelapse.aviという動画ファイルが生成される。
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o timelapse.avi -mf type=jpeg:fps=24 mf://@stills.txt
寝ている自分を撮ってみて
プライバシーの観点から動画のアップロードはしないが撮影には成功した。
ただ、分かっていたけど真っ暗で何も映らず。朝日が差し込んでから2時間分くらいは写っていた。
布団を蹴っている自分はまだ撮影できていない。
最後に
機器購入は別にして、試しながらで大体1時間半くらいでできた。
USBカメラは設置が楽だった。
コードは書かずにコマンドだけで一応できた。