Vue d'ensemble de l'architecture — projet : cbicari/firefly-mv-dc1394-setup
Ce projet configure une caméra de vision industrielle Point Grey Firefly MV (série FMVU), protocole IIDC/DCAM, sur Ubuntu (24.04/26.04), afin qu'elle puisse être :
Tout est piloté par un unique script idempotent, install.sh, qui peut être relancé sans risque.
| Chemin | Rôle |
|---|---|
install.sh | Orchestre l'ensemble de l'installation : paquets, règle udev, appartenance au groupe, module noyau, compilation de l'outil de test |
udev/99-pointgrey-dc1394.rules | Règle udev accordant un accès USB non-root à la caméra |
config/v4l2loopback.conf | Options du module v4l2loopback (nom du périphérique, index, etc.) |
config/v4l2loopback-load.conf | Assure le chargement automatique du module au démarrage |
tools/dc1394_grab_test.c | Petit programme C utilisant libdc1394 pour énumérer/capturer des images directement, à des fins de test |
tools/start_virtual_cam.sh | Démarre le pont GStreamer qui alimente le périphérique de caméra virtuelle |
camera_hardware.md | Notes sur le matériel physique de la caméra |
Une fois la caméra branchée et la règle udev active, l'installation crée deux chemins parallèles.
La caméra s'énumère comme un périphérique USB. La règle udev (99-pointgrey-dc1394.rules) définit
les permissions afin que tout utilisateur membre du groupe plugdev puisse ouvrir le périphérique
sans sudo. install.sh copie cette règle dans /etc/udev/rules.d/,
recharge udev, et ajoute l'utilisateur courant au groupe plugdev.
dc1394_grab_test.c est compilé avec libdc1394-2 et permet de vérifier que la caméra
est visible et capable de fournir des images, indépendamment de toute la mécanique de caméra virtuelle. C'est
le moyen le plus rapide de valider le matériel et la configuration udev.
v4l2loopback est un module noyau (compilé via DKMS) qui crée un faux périphérique V4L2, ici
exposé en tant que /dev/video10 et nommé « Firefly MV Virtual Camera ». Son comportement
(nom/index du périphérique) est défini via config/v4l2loopback.conf, et
config/v4l2loopback-load.conf garantit son chargement au démarrage.tools/start_virtual_cam.sh exécute un pipeline GStreamer qui lit les images de la caméra
physique et les écrit dans le périphérique v4l2loopback./dev/video10 se comporte comme une webcam standard : les applications
compatibles V4L2 peuvent la sélectionner et l'utiliser sans rien connaître du protocole IIDC/DCAM ni de
libdc1394.plugdev.dkms autoinstall.dc1394_grab_test./dev/video10 (« Firefly MV Virtual Camera »).# Test de capture brute via libdc1394
./tools/dc1394_grab_test 5
# Démarrer le pont webcam virtuelle (Ctrl+C pour arrêter)
./tools/start_virtual_cam.sh
Ouvrez ensuite Cheese, le sélecteur de caméra d'un navigateur, ou vlc v4l2:///dev/video10, et
choisissez « Firefly MV Virtual Camera ».
plugdev prennent pleinement effet.dkms autoinstall échoue (par exemple, absence des linux-headers
correspondants sur un noyau personnalisé), il faut installer manuellement les en-têtes correspondants et
réinstaller v4l2loopback pour cette version de noyau.