🛠 Brancher une caméra CSI (OV5647) sur un CM3
Objetivos
Utilizar la interfaz MIPI CSI del CM3 para una cámara. A diferencia de un Pi 3 clásico, el CM3 expone DOS conectores CSI en el SODIMM: uno de 4 vías y uno de 2 vías (hasta 1 Gbit/s por vía, hoja de datos RP-008161-DS §2.2). El firmware solo controla los sensores conocidos (OV5647 de la cámara v1, IMX219 de la cámara v2): los sensores MIPI de terceros no funcionan sin un port específico.
Material
- CM3 sobre CMIO3, Raspberry Pi OS iniciado
- Cámara Raspberry Pi v1 (OV5647) o v2 (IMX219) + cable plano CSI
- El cable plano se conecta con el indicador de orientación hacia el conector CSI1 de la CMIO3 (marca silk en la placa)
Código completo
# 1. Activer la caméra dans /boot/firmware/config.txt :
sudo tee -a /boot/firmware/config.txt <<'EOF'
start_x=1
camera_auto_detect=1
EOF
sudo reboot
# 2. Vérifier que le firmware a détecté le capteur
vcgencmd get_camera # attendu : supported=1 detected=1
# 3. Capturer une image
sudo apt install -y libraspberrypi-bin
raspistill -o test.jpg -t 1000 -w 1920 -h 1080
ls -lh test.jpg
Verificación esperada
vcgencmd get_camera responde supported=1 detected=1 y raspistill produce una imagen JPEG de aproximadamente 1920x1080. El LED de la cámara se enciende durante la captura. En un sistema reciente con libcamera, la cámara v2 también es visible mediante libcamera-still -o test.jpg.
Errores frecuentes
- Cable plano CSI montado al revés (indicador de orientación mal orientado):
detected=0permanente, sin daños pero sin detección. start_x=1olvidado: el controlador GPU VideoCore IV no está inicializado para la cámara.- Cámara de terceros (OV13850, etc.) esperada funcional: solo los sensores conocidos del firmware funcionan sobre CSI — esta es una limitación documentada de la pila cerrada.
- Confundir los dos conectores CSI: en la CMIO3, el conector principal de 4 vías ofrece la resolución completa; el segundo (2 vías) está previsto para una cámara secundaria (ver el tutorial de doble cámara).
- Retirar el cable plano con la alimentación conectada: el bus CSI no permite desconexión en caliente, apagar primero.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash