🛠 Brancher une caméra CSI (OV5647) sur un CM3
Objectifs
Utiliser l'interface MIPI CSI du CM3 pour une caméra. Contrairement à un Pi 3 classique, le CM3 expose DEUX connecteurs CSI sur le SODIMM : un 4 voies et un 2 voies (jusqu'à 1 Gbit/s par voie, datasheet RP-008161-DS §2.2). Le firmware ne pilote que les capteurs connus (OV5647 de la caméra v1, IMX219 de la caméra v2) : les capteurs MIPI tiers ne fonctionnent pas sans portage spécifique.
Matériel
- CM3 sur CMIO3, Raspberry Pi OS démarré
- Caméra Raspberry Pi v1 (OV5647) ou v2 (IMX219) + nappe CSI
- La nappe se branche détrompeur vers le connecteur CSI1 de la CMIO3 (repère silk sur la carte)
Code complet
# 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
Vérification attendue
vcgencmd get_camera répond supported=1 detected=1 et raspistill produit une image JPEG d'environ 1920x1080. La LED de la caméra s'allume pendant la capture. Sur un système récent en libcamera, la caméra v2 est aussi visible via libcamera-still -o test.jpg.
Erreurs fréquentes
- Nappe CSI montée à l'envers (détrompeur mal orienté) :
detected=0permanent, aucun dégât mais aucune détection. start_x=1oublié : le contrôleur GPU VideoCore IV n'est pas initialisé pour la caméra.- Caméra tierce (OV13850, etc.) attendue fonctionnelle : seuls les capteurs connus du firmware marchent sur CSI — c'est une limite documentée de la pile fermée.
- Confondre les deux connecteurs CSI : sur la CMIO3, le connecteur principal 4 voies donne la pleine résolution ; le second (2 voies) est prévu pour une caméra secondaire (voir le tutoriel double caméra).
- Retirer la nappe sous tension : le bus CSI n'est pas chaudement débranchable, éteindre d'abord.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash