RPi定点カメラ撮影 (準備編)
定点カメラ撮影を準備と実際の撮影・タイムラプス写真の編集の2回に分けて書きます。
定点カメラ撮影用RPiボックスの構築
上の写真はカメラとwifiのついたRPiを携帯バッテリーで起動したところです。
定点カメラの取り付け
RPi用のカメラをRPiボードに取り付けます。CSIコネクターの黒のカバーを引き上げるとカメラ装填用の隙間ができます。ここにカメラのリボンケーブルをしっかり差し込みまたカバーを押し下げきっちりセットします。ケーブルの裏表を間違えないように。ピンがならんでいる方をCSIコネクターのピンが並んでいる面に合わせます。
野外で使いますので定点カメラ用RPiはヘッドレスにします。RPiボードをケースに入れただけの状態で使います。KB、マウス、モニターもなしです。
ヘッドレスRPi
このヘッドレスRPiはWifiで繋ぎ、sshかVNCで制御します。でも最初からヘッドレスだとなにもできませんのでwifiとsshだけはオンにしてからヘッドレスにします。
sudo raspi-config
で設定が画面を呼び出します。
1 System Options>S1 Wireless LAN
Wifiの設定 SSID(ステーションID)、パスワードを入力します
1 System Options>S5 Boot/Auto Login
コマンドラインモードでの起動を選択します(私のRPi遅いので)
3 Interface Options>P1 Camera
カメラを使用可に設定
3 Interface Options>P2 SSH
セキュアシェルを使用可に設定
3 Interface Options>P3 VNC
virtual network computing使用可に設定。
その他、sshとvncでもできましたが、撮影した写真のやりとりがメインなのでカメラRPiに使い慣れたftpサーバをインストールしました(proftpdです。proftpdのインストールは省略します)。またRPiのIPアドレスを固定にしました。
ヘッドレスRPiカメラとの接続確認
pi@jpnfan:~ $ ping 192.168.1.71
ping 192.168.1.71
PING 192.168.1.71 (192.168.1.71) 56(84) bytes of data.
64 bytes from 192.168.1.71: icmp_seq=1 ttl=64 time=0.772 ms
64 bytes from 192.168.1.71: icmp_seq=2 ttl=64 time=0.695 ms
64 bytes from 192.168.1.71: icmp_seq=3 ttl=64 time=0.720 ms
64 bytes from 192.168.1.71: icmp_seq=4 ttl=64 time=1.02 ms
^C
--- 192.168.1.71 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 90ms
rtt min/avg/max/mdev = 0.695/0.801/1.019/0.131 ms
pi@jpnfan:~ $ ssh pi@192.168.1.71
ssh pi@192.168.1.71
pi@192.168.1.71's password:
Linux camera 5.10.17+ #1421 Thu May 27 13:58:02 BST 2021 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Thu Jul 1 11:35:30 2021
pi@camera:~ $
繋がりましたね
撮影の練習(raspistill)
raspistill --help
とコマンドを叩くと使用法がみれます。
raspistill -n -vf -o img.jp
コマンドで写真を撮影しimg.jpgファイルに保存してみます。
-nはnopreviewオプションです。ヘッドレスなのでプレビューできません。-vfはvertical flopオプション、-vfはhorizotal flopオプションです。左右逆、上下逆さまに撮影します(カメラが逆さま状態なので直しています)。
プレビュー5秒(カメラが赤く光ります)でシャッターが切れて-oオプションで指定したファイルに写真画像がつくられます。解像度は2592x1944pxでファイルのサイズは約2.3MBでした。
-h 高さ -w 幅 で写真の高さと幅を指定できます。これは解像度ではなくpxでのサイズです。私も最初解像度と勘違いして間違って画像を小さくしてしまい狙い通り写真がとれなかったことがありました。
その他のオプション、明るさ、コントラストなどは必要に応じて設定します。
自動撮影タスクの作成
撮影の間隔と、撮った写真を上書きしないようにファイル名をユニークにして保存する必要があります。それには撮影用のコマンド・シェル・スクリプトと定期的にそのシェルを実行するスケジューラが必要です。
コマンドシェルスクリプト:
pi@camera:~ $ cat camera.sh
#!/bin/sh
fn=$(date +%Y"-"%m%d"-"%H%M%S)
raspistill -n -vf -hf -o /home/pi/pi-camera/${fn}.jpg
raspistillを実行する前にファイル名をdate関数からつくっています。
このシェルスクリプトをcamera,shの名前でつくりRPiのホームディレクトリに実行権限をつけ置いておきます。
そして写真保存用のディレクトリー'pi-camera'もつくっておきます。
次はこれを定期的に実行するスケジューラを登録します。
crontab -e
/5 * * * * /home/pi/camera.sh
左から分、時、日、月、曜日そして実行コマンドです。*は全てを表します。
この例ではいつでも(どの曜日、月、日、時間)5分毎に写真撮影します。
ユニークなファイル名(年-月日-時分秒.jpg)が付けられてpi-cameraディレクトリーに保存されます。
RPi定点カメラ撮影 (実践編)に続く
コメント
コメントを投稿