このブログを検索

2024/10/31

Raspberry Pi camera module v3 で motion

camera module v3を入手した。

普段motionを動かしているpi3とpi5の2台があるのだが、まずpi3にv3 cameraをつけてみた。

認識はして、コマンドで静止画も撮影できるのだがmotionで動かない。

いろいろ調べたのだがうまくいかず、いったんあきらめる。


pi5で試す。

OSはこれ。


root@goro:/home/admin# lsb_release -a

No LSB modules are available.

Distributor ID: Debian

Description:    Debian GNU/Linux 12 (bookworm)

Release:        12

Codename:       bookworm


root@goro:/home/admin# uname -a

Linux goro 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux


カメラを接続するインターフェースが小さくなっている。さいわいv3カメラにそれ用のケーブルが付属していた。

pi5の公式(?)ケースを使っていてカメラをはめるところがない。さらにケーブルを出すところもない。

が、ethernetポートの上の隙間からちょうどいい感じに出せた。まるでそこから出すように設計されているかのようだ。

丸裸なのもいやなので厚紙で簡易的なケースを作って、セロテープでケースにとめた。



vcgencmd get_cameraコマンドは使えない。(legacy cameraがdisableだから?)


v3カメラをpi5の新しいOS(bullseye以降?正確なことはわからない)で使う場合、
libcameraというライブラリを使うのだが、たぶん最初から入っている。

32bit OSとか古いバージョンだと、aptで追加インストールする必要がある。

私の場合、最近いろんなPiをいじったのでどうしたかよく覚えていないが、Pi5に関してはその時(確か今年の夏ごろ)の最新のOSを入れて、最近(2024年10月ごろ)apt update+upgradeで新しくしただけだったと思う。

結論を言うとv3カメラをmotionで使うには

libcamerify motion

というコマンドを使う。

まずやってみたらエラーになった。

root@goro:/home/admin# libcamerify motion
ERROR: ld.so: object '/usr/lib/aarch64-linux-gnu/libcamera/v4l2-compat.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)



root@goro:/home/admin# apt install libcamera-v4l2

をやったら今度は違うエラーが出たがとりあえずmotionは動いた。

root@goro:/home/admin# libcamerify motion
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)
[0:07:09.296345338] [2655] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:07:09.296383856] [2655] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:07:09.296399078] [2655]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:07:09.305047271] [2656]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[0:07:09.529782577] [2656]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:07:09.530605706] [2655]  INFO Camera camera.cpp:1197 configuring streams: (0) 1024x768-YUV420
[0:07:09.530722002] [2656]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected CFE format: 1536x864-PC1B
[0:07:09.531933297] [2655]  INFO Camera camera.cpp:1197 configuring streams: (0) 1024x768-YUV420
[0:07:09.532014593] [2656]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected CFE format: 1536x864-PC1B


v2と画質が全然違う。v2は800万画素でv3は1200万らしい。

motionの画像のサイズを2048x1536にしてもきれいに見える。framerateを上げるとグニャグニャと波打つようになる。5だとほとんど気にならないがかすかにグニャグニャしている。

Piのメモリは8GBである。