🛠 Caméra MIPI CSI : brancher une Raspberry Pi Camera (OV5647/IMX219) sur la ZERO 3W

Radxa ZERO 3W · intermediaire · IMG-rz3w-intermediaire-5-rz3w-camera-mipi-csi-ov5647.svg — Radxa ZERO 3W avec le connecteur FPC 22 broches 0,5 mm (CSI 4 lanes) relié par une nappe à une Raspberry Pi Camera V2 (IMX219) ; zoom sur les broches I2C2_SCL/SDA_M1 du connecteur ; terminal v4l2-ctl --list-devices et image brute affichée dans VLC.

Objetivos

Una de las ventajas poco habituales de la ZERO 3W: su puerto de cámara MIPI CSI (4 carriles, conector FPC de 22 pines de 0,5 mm) acepta los módulos Raspberry Pi Camera V1.3 (OV5647) y V2 (IMX219) — algo raro en una placa que no sea Raspberry. Vas a cablear correctamente la cinta plana, activar el controlador del sensor y capturar una imagen mediante V4L2. Es el bloque básico para los proyectos de cámara IP, visión con NPU y robótica de la ficha de proyectos (coche IPC, KVM, etc.).

Material

Procedimiento

  1. Con la placa apagada, abre la pestaña del conector FPC, inserta la cinta plana con los contactos hacia la placa (verifica la orientación en la serigrafía del conector) y cierra la pestaña. En las cámaras Pi, la cinta plana es más corta por el lado del objetivo — tenlo en cuenta.
  2. Activa la superposición (overlay) del sensor. En Radxa OS, la herramienta rsetup (menú de overlays) expone los árboles de dispositivos de los sensores compatibles; para OV5647/IMX219, activa la superposición correspondiente y reinicia.
sudo rsetup            # Menu > Overlay > caméra (ov5647 ou imx219)
sudo reboot
  1. Tras reiniciar, verifica la cadena sensor → pipeline:
dmesg | grep -iE 'ov5647|imx219|mipi|isp'      # le driver a-t-il répondu sur I2C2 ?
v4l2-ctl --list-devices                         # apparaît : /dev/video-csi ou rkcif
# Capture d'une frame :\nsudo apt install v4l-utils
v4l2-ctl -d /dev/video-csi --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap --stream-count=1 --stream-to=frame.raw
# Ou via ffmpeg si présent (nom du périphérique selon l'image) :
ffmpeg -f v4l2 -video_size 1920x1080 -i /dev/video-csi -frames:v 1 frame.jpg

> SIN VERIFICAR: los nombres exactos de los dispositivos /dev/video* y el comando de captura de extremo a extremo varían entre el BSP 6.1 (pipeline rkcif/rkisp) y las imágenes mainline — la ficha fuente confirma la compatibilidad con OV5647/IMX219 pero no la cadena de comandos exacta; pruébalo en tu imagen y consulta la sección app-development de la documentación de Radxa.

  1. El sensor se controla mediante I2C (I2C2_SCL/SDA_M1 en el conector CSI): i2cdetect -l y luego el bus correspondiente debe mostrar la dirección del sensor (0x10/0x36 típicos de OV5647/IMX219).

Verificación esperada

dmesg muestra la detección exitosa del sensor (ov5647 found / imx219 x:x); v4l2-ctl --list-devices lista un pipeline de vídeo vinculado al CSI; se produce un fotograma .raw de tamaño coherente (1920×1080 NV12 ≈ 3,1 MB). Una imagen borrosa en primer plano es normal: estos módulos enfocan de fábrica al infinito, gira suavemente el objetivo.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales