🎥

Raspberry Pi OS(Bullseye)+カメラモジュールV1.3

2022/09/23に公開

画質や高機能は不要だったため1000円以下で買えたカメラモジュールV1.3を使ってみました。
https://www.raspberrypi.com/documentation/accessories/camera.html

安易に使用できると思いきや苦戦・・・

Legacy Cameraの有効化

sudo raspi-config


3を選択

1を選択

はいを選択

了解を選択

はいを選択して再起動

接続状況確認

vcgencmd get_camera
supported=1 detected=1, libcamera interfaces=0

コマンドで画面キャプチャ

Bullseys以前はraspistillコマンドのようですがBullseysからカメラ周りの仕様が変わったようでlibcamera-stillコマンドを使用するようです。

$ libcamera-still -n -o /tmp/photo.jpg
ERROR: the system appears to be configured for the legacy camera stack

エラーになりました

/boot/config.txtの修正

末尾にdtoverlay=ov5647を追記して再起動を実施

$ libcamera-still -n -o /tmp/photo.jpg
supported=1 detected=0, libcamera interfaces=1

libcamera interfaces=1となりlibcamera-stillコマンドをためしてみると無事キャプチャできました。

config.txtとraspi-configコマンドの挙動

設定を変更して再起動したのちvcgencmd get_cameraで確認していると設定を元に戻してもdetectedが1にならないことがありました。
その場合は一度raspi-configでlegacy cameraをdisableに設定し再起動したのち再度enableに設定し直すと戻りました。

補足

Motion

動体検知が可能なMotionを使おうとしましたがレポジトリに登録されている4.3、公式サイトから4.4をインストールしてみましたが上手く使う事ができませんでした。(あまり調べず早々に諦めました)

python picamera2

picamera2モジュールのインストールは正常に行えましたがimport picamera2とするとlibcameraモジュールが見つからないエラーになりました

ModuleNotFoundError: No module named 'libcamera'

Pyenvを使用していると発生するような投稿もありましたが今回はOpenCVが使えたので調べませんでした。

python OpenCV

opencv-pythonは使用する際はvcgencmd get_cameraの結果が以下の状態で使用可能でした

supported=1 detected=1, libcamera interfaces=0

一方でlibcamera-stillを使用できる状態

supported=1 detected=0, libcamera interfaces=1

ではうまくキャプチャ出来なかったので排他的な利用の状況です。

次はOpenCVで動体検知を試してみる予定です。

Discussion