Date de mise à jour : 22 avril 2010

Appareil Photo Numérique - APN

Pilotage des appareils photo numériques Canon via USB.

AudeLA utilise la librairie OpenSource LIBGPHOTO2 v2.2.0 pour piloter les appareils photo numériques. Cette librairie a été modifiée pour supporter les acquisitions en longue pose et est intégrée dans AudeLA.

Une liste indicative des APN susceptibles d'être pilotés (avec plus ou moins de limitations) figure à la fin de cette aide.

Manuel d'utilisation

Avant la première utilisation avec AudeLA et Windows, il est nécessaire d'installer le driver "libusb-win32" :

Télécharger libusb-win32-filter-bin-0.1.10.1.exe qui est disponible sur le site http://libusb-win32.sourceforge.net

Lien direct :
http://downloads.sourceforge.net/libusb-win32/libusb-win32-filter-bin-0.1.10.1.exe

Puis installer libusb-win32 en exécutant ce fichier avec les options par défaut.

Enfin lancer AudeLA et connecter l'appareil photo numérique avec la fenêtre de configuration des caméras et l'onglet "APN"

Remarque : L'installation de "libusb" avec Linux n'est pas nécessaire car cette librairie est maintenant fournie en standard dans les distributions Linux.

Remarque importante : L'écran de contrôle de l'appareil doit être éteint quand AudeLA envoie des commandes à l'APN.

Configuration de l'onglet APN pour des poses allant jusqu'à 30 secondes

cable usb Le câble de liaison USB, fourni avec l'APN, faisant la liaison entre le PC et l'appareil, suffit.
prolongateur usb Il faudra sans doute le compléter ultérieurement avec un prolongateur USB/USB.
prises usb En l'absence du câble du constructeur, se procurer dans le commerce un câble USB suffisamment long (prolongateur) et des prises USB à têtes interchangeables. Vérifier que l'une des têtes peut se connecter sur l'appareil photo.
Première remarque : Quand on branche le câble USB entre l'APN et l'ordinateur et qu'on met sous tension l'APN, Windows affiche une fenêtre pour demander quel logiciel il doit lancer. Il faut cliquer sur "Annuler" car sinon un autre logiciel peut prendre la main sur l'appareil photo et gêner AudeLA surtout pendant les longues poses.

Lancer AudeLA, aller dans le menu Configuration --> Caméra et sélectionner l'onglet APN. Cliquez sur Appliquer.

Si la connexion s'établit, dans la ligne A, en bas de la fenêtre, une mention apparaît '1 dslr ' : L'APN est connecté. Appuyer sur Fermer, la fenêtre Configuration de la caméra se ferme. L'APN est prêt pour prendre des photos de temps de pose entre le minimum (1/4000 pour le Canon 350 D) et le maximum (30 secondes).
Si un message d'erreur apparaît, commencer par vérifier que l'APN est bien en mode marche (pas en veille), que les batteries sont chargées et que les connecteurs sont bien en place. Recommencer.
Aller dans le menu Outils et sélectionner Acquisition. L'outil s'ouvre. Sélectionner un temps de pose en appuyant sur le bouton 'Pose' ou écrire le temps de pose en mode décimal et avec un point séparateur (au lieu d'une virgule), par exemple 0.001 s pour 1/1000 s. Dans tous les cas, sélectionner un temps d'exposition permis par l'APN, sous peine de déconvenues sérieuses. Actionner 'GO CCD', on entend le bruit du déclenchement. Une petite fenêtre s'ouvre pendant la durée de la pose et le délai de chargement de l'image. L'image apparaît.

Configuration de l'onglet APN pour une longue pose avec un QuickRemote ou un port parallèle

Un câble spécial, permettant de déclencher la prise de vue, est nécessaire. Il est à connecter également sur l'APN sur la prise réservée au déclencheur/minuteur (d'autres modes de transmission que le câble existent, il reste le plus accessible et le plus facile à réaliser).

Il existe deux familles pour ce câble : L'une utilise le port parallèle et l'autre le port série. Le port parallèle devenant de plus en plus rare il est préférable de se procurer ou de construire la version 'série'. Les pages suivantes fournissent le schéma de principe : http://steph.ubaud.free.fr/articles.php?lng=fr&pg=76#usb ou http://rmass.free.fr/matos.html#sc1. Selon la configuration du PC, il faut disposer de :

Il est aussi possible de greffer un port série sur un déclencheur manuel (utilisable sans pc) réalisé comme ici : http://pixels-et-lumieres.over-blog.org/article-10806161.html et d'y greffer un port série.

Si vous souhaitez faire des acquisitions longue pose avec votre APN par l'intermédiare d'un QuickRemote, vous devez configurer l'option longue pose comme sur l'image ci-dessous :

L'option "Arrêt de la détection automatique des appareils photo numériques" empêche Windows d'afficher la fenêtre pour demander quel logiciel il doit lancer. Cela évite de perturber AudeLA pendant l'utilisation de la caméra. Cela ne vaut que pendant l'utilisation de la caméra par AudeLA et le fonctionnement normal de Windows est rétabli quand on arrête l'utilisation de la caméra avec AudeLA.

Si vous utilisez la prise Jack du QuickRemote, le champ Numéro du bit de commande doit être à 0 et le champ Commande au début de la pose doit être à 1.

Par contre si vous souhaitez faire des acquisitions longue pose avec votre APN par l'intermédiare du port parallèle vous devez configurer l'option longue pose comme sur l'image ci-dessous :

Si vous utilisez le câble parallèle de commande de la WebCam longue pose, le champ Numéro du bit de commande doit être à 0 et le champ Commande au début de la pose doit être également à 0.

Test manuel de fonctionnement de la longue pose

Si vous avez un problème avec le fonctionnement du miroir de l'APN (ne se relève pas, etc.), je vous suggère le test suivant :

Vous devez faire ce test avec seulement le boîtier photo et le câble de commande longue pose :

- Mettez sous tension le boîtier photo et réglez-le en mode Manuel.

- Branchez la prise Jack dans le boîtier.

- Court-circuitez avec un pièce métallique les broches à l'autre bout du Jack (les broches 1 et 3, en numérotant à partir de l'extrémité du Jack).

Le miroir doit s'abaisser quand on fait le court-circuit et il doit se relever quand on supprime le court-circuit. Si le miroir ne se relève pas, c'est probablement parce que le Jack est trop enfoncé ou mal positionné dans le boîtier photo.

Remarque : J'ai constaté qu'un faux contact entre les broches 2 (mise au point automatique) et 3 (abaissement du miroir) du Jack fait "planter" le firmware de l'appareil photo. Dans ce cas, il faut "rebooter" l'APN pour reprendre la main. Cela était dû à un court-circuit du connecteur Jack qui était trop enfoncé dans le boîtier de l'appareil photo.

Cas particulier de l'acquisition d'offsets avec le QuickRemote connecté

L'acquisition avec un APN en mode longue pose via un Quickremote peut générer des problèmes avec des poses de moins de 300 ms environ. Parfois ça passe, mais cela dépend beaucoup du modèle d'APN (la commmande par la prise Jack est pévue pour une pose B manuelle) et aussi de la charge du micro-ordinateur de contrôle.

Aussi je vous recommande de faire vos offsets sans la longue pose. Vous devez décocher Longue pose dans l'onglet de configuration des APN pour déconnecter le QuickRemote.

Manuel de programmation

Commande de création d'une caméra dslr

cam::create digicam {-name "xxxx" } {-gphoto2_win_dll_dir "xxxxxxx"}

Paramètre -gphoto2_win_dll_dir (défaut = "../bin")

Indique le répertoire où se trouve les fichiers de la librairie GPHOTO pour Windows uniquement (fichiers libgphoto2.dll, libgphoto2_canon.dll, libgphoto2_port.dll, libgphoto2_port_usb.dll).

Paramètre -name (défaut = "DSLR")

Indique le nom de la caméra. "DSLR" est la seule valeur possible actuellement.

Exemples de programmation :

cam::create digicam
ou
cam::create digicam -name DSLR

Commandes génériques ( cf. programmation des caméras )

Les commandes génériques non implémentées retournent des valeurs nulles.

Commandes spécifiques

cam1 autoload {0|1} (défaut = "1")

1 = active ou 0 = désactive le chargement automatique des images après la fin de chaque pose.

Si le chargement automatique est activé, l'image est chargée et supprimée de la mémoire de l'appareil photo. Si le chargement automatique est désactivé, l'image reste dans la mémoire de l'appreil. Il est possible de charger ultérieurement l'image avec la commande "cam1 loadlastimage"

Exemple de programmation :

cam1 autoload 1
cam1 acq
wait status_cam1
confVisu::autovisu 1 cam1 autoload 0 cam1 acq wait status_cam1 .... cam1 loadlastimage
confVisu::autovisu 1

cam1 drivemode {0|1|2} (défaut = "0")

Sélection du mode d'acquisition de l'appareil :

cam1 quality list

Retourne la liste des qualités (formats) d'image disponibles sur l'appareil.

Exemple de programmation avec un Canon 300D :

cam1 quality list
   Large:Fine Large:Normal Middle:Fine Middle:Normal Small:Fine Small:Normal CRW 

cam1 quality {xxxxx} (défaut = (*) )

Sélectionne la qualité (format) d'image. Les valeurs possibles dépendent de la marque et des modèles. Il faut utiliser la commande "cam1 quality list" pour connaître les valeurs disponibles.

La commande "cam1 quality" configure la qualité (format) d'image dans AudeLA. Ensuite l'ordre de changement de qualité n'est réellement envoyé à l'appareil qu'au lancement d'une acquisition avec la commande "cam1 acq".

(*) La valeur par défaut est le premier élément retourné par la commande "cam1 quality list"

La commande "cam1 quality" sans paramètre retourne la valeur courante.

Exemple de programmation avec un Canon 300D :

cam1 quality list
   Large:Fine Large:Normal Middle:Fine Middle:Normal Small:Fine Small:Normal CRW
cam1 quality Small:Normal
cam1 acq                  => l'appareil affiche le choix qualité=Small:Normal
cam1 quality CRW
cam1 acq                  => l'appareil affiche le choix qualité=CRW

cam1 loadlastimage

Charge la dernière image acquise présente dans la mémoire de l'appareil. Cette commande est utile en particulier pour gagner du temps en chargeant une image pendant l'acquisition de l'image suivante en combinaison avec la commande "autoload 0".

Exemple de programmation :

cam1 autoload 0 
cam1 exptime 300

cam1 acq
wait status_cam1
...
cam1 acq
cam1 loadlastimage
wait status_cam1
...
cam1 acq
cam1 loadlastimage
wait status_cam1
...
cam1 loadlastimage
désactive le chargement automatique
fixe la durée des poses à 5 minutes

lance la pose n°1
attend la fin de la pose n°1
 
lance la pose n°2
télécharge la pose n°1
attend la fin de la pose n°2
 
lance la pose n°3
télécharge la pose n°2
attend la fin de la pose n°3
 
télécharge la pose n°3

cam1 systemservice {0|1} (défaut = 1 )

1 = active ou 0 = désactive le service de détection automatique des appareils photo numériques géré par le système d'exploitation Windows.

Il vaut mieux désactiver ce service pour éviter de perdre des images pendant leur rapatriement à cause d'un conflit d'accès entre Aud'ACE et d'autres logiciels qui utilisent ce service notamment l'explorateur de Windows.

La commande "cam1 systemservice" sans paramètre retourne la valeur courante.

Remarques :

cam1 longuepose {0|1|2} (défaut = 0)

Sélectionne la liaison servant au déclenchement des acquisitions.

0 : Déclenchement des acquisitions via le câble USB de l'appareil. Pas de longue pose.
Déclenche le début de l'acquisition et attend que l'appareil signale lui-même la fin de l'acquisition.
Limitation : La durée d'acquisition est limitée sur certains appareils à 30 secondes.

1 : Déclenchement des acquisitions via un autre lien que le cable USB de l'appareil (port parallèle, quickremote, etc.). Permet les longues poses. Le lien utilisé doit être indiqué avec la commande "cam1 longueposelinkno x"

2 : Déclenchement des acquisitions via un autre dispositif indépendant de AudeLA. Dans ce cas AudeLA ne déclenche pas la pose mais attend que l'appareil signale la fin d'une acquisition via le cable USB (attente de 120 secondes maximum).

La commande "cam1 longuepose" sans paramètre retourne la valeur courante.

Exemple d'utilisation :

#--- declenchement par la liaison USB
cam1 longuepose 0
cam1 acq
wait status_cam1
confVisu::autovisu 1

#--- declenchement par le port parallele LPT1 ou /dev/parport1
cam1 longuepose 1
set linkno [link::create parallelport 1]
cam1 longueposelinkno $linkno
cam1 longueposelinkbit 3
cam1 longueposestartvalue 1
cam1 longueposestopvalue 0
cam1 acq
wait status_cam1
confVisu::autovisu 1 #--- declenchement par quickremote cam1 longuepose 1 set linkno [link::create quickremote 0] cam1 longueposelinkno $linkno cam1 longueposelinkbit 3 cam1 longueposestartvalue 1 cam1 longueposestopvalue 0 cam1 acq wait status_cam1 confVsu::autovisu 1
#--- declenchement externe independant de AudeLA
cam1 longuepose 2
cam1 acq
wait status_cam1 (attend qu'une pose soit declenchee par une action independante de AudeLA, par exemple appuyer sur le bouton l'appareil).
confVisu::autovisu 1

cam1 longueposelinkno {xx} (défaut = 0)

Indique le numéro du lien qui sert au déclenchement longue pose. Ce paramètre est utilisé en combinaison avec "cam1 longuepose 1", il est ignoré dans les autres cas.

La commande "cam1 longueposelinkno" sans paramètre retourne la valeur courante.

Exemple d'utilisation : Voir ci-dessus.

cam1 longueposelinkbit {0...7} (défaut = 0)

Indique le numéro du bit qui sert au déclenchement longue pose. Ce paramètre est utilisé en combinaison avec "cam1 longuepose 1" et avec un port parallèle ou un quickremote, il est ignoré dans les autres cas.

La commande "cam1 longueposelinkbit" sans paramètre retourne la valeur courante.

Exemple d'utilisation : Voir ci-dessus.

cam1 longueposestartvalue {0|1} (défaut = 1)

Indique l'état du bit pour déclencher une longue pose. Ce paramètre est utilisé en combinaison avec "cam1 longuepose 1", il est ignoré dans les autres cas.

cam1 longueposestartvalue 1 : Déclenchement d'une acquisition quand le bit passe de 0 à 1.

cam1 longueposestartvalue 0 : Déclenchement d'une acquisition quand le bit passe de 1 à 0.

La commande "cam1 longueposestartvalue" sans paramètre retourne la valeur courante.

Exemple d'utilisation : Voir ci-dessus.

cam1 longueposestopvalue {0|1} (défaut = 1)

Indique l'état du bit pour arrêter une longue pose. Ce paramètre est utilisé en combinaison avec "cam1 longuepose 1", il est ignoré dans les autres cas.

cam1 longueposestopvalue 1 : Arrêt d'une acquisition quand le bit passe de 0 à 1.

cam1 longueposestopvalue 0 : Arrêt d'une acquisition quand le bit passe de 1 à 0.

La commande "cam1 longueposestopvalue" sans paramètre retourne la valeur courante.

Exemple d'utilisation : Voir ci-dessus.

cam1 usecf {0|1}

Gère l'usage de la carte mémoire dans l'APN par la fenêtre Configuration --> Caméra --> APN --> Télécharger image.

cam1 usecf 1 : Stockage sur la carte mémoire.

cam1 usecf 0 : Pas de stockage sur la carte mémoire.

La commande "cam1 usecf" sans paramètre retourne la valeur courante du réglage.

Liste indicative des APN Canon susceptibles d'être pilotés

Canon:Digital IXUS - Canon:Digital IXUS 30 - Canon:Digital IXUS 300 - Canon:Digital IXUS 330 - Canon:Digital IXUS 400 - Canon:Digital IXUS 430 - Canon:Digital IXUS 50 - Canon:Digital IXUS 500 - Canon:Digital IXUS i - Canon:Digital IXUS i5 - Canon:Digital IXUS II - Canon:Digital IXUS IIs - Canon:Digital IXUS v - Canon:Digital IXUS v2 - Canon:Digital IXUS v3 - Canon:Digital Rebel XT - Canon:Elura 50 - Canon:EOS 10D - Canon:EOS 20D - Canon:EOS 300D - Canon:EOS 350D - Canon:EOS 5D - Canon:EOS D30 - Canon:EOS D60 - Canon:EOS Digital Rebel - Canon:EOS Kiss Digital - Canon:EOS Kiss Digital N - Canon:FV M1 - Canon:IXY DIGITAL - Canon:IXY DIGITAL 300 - Canon:IXY Digital 40 - Canon:IXY Digital 430 - Canon:IXY Digital 500 - Canon:IXY Digital 55 - Canon:IXY Digital L2 - Canon:IXY DV M - Canon:IXY DV M2 - Canon:MV630i - Canon:MV650i - Canon:MVX 10i - Canon:MVX 3i - Canon:MVX100i - Canon:MVX100i - Canon:MVX150i - Canon:MVX25i - Canon:MVX2i - Canon:Optura 10 - Canon:Optura 10 - Canon:Optura 20 - Canon:Optura 200 MC - Canon:Optura 300 - Canon:Optura 40 - Canon:Optura Xi - Canon:PowerShot A10 - Canon:PowerShot A100 - Canon:PowerShot A20 - Canon:PowerShot A200 - Canon:PowerShot A30 - Canon:PowerShot A300 - Canon:PowerShot A310 - Canon:PowerShot A40 - Canon:PowerShot A400 - Canon:PowerShot A5 - Canon:PowerShot A5 Zoom - Canon:PowerShot A50 - Canon:PowerShot A510 - Canon:PowerShot A60 - Canon:PowerShot A70 - Canon:PowerShot A75 - Canon:PowerShot A80 - Canon:PowerShot A85 - Canon:PowerShot A95 - Canon:PowerShot G1 - Canon:PowerShot G2 - Canon:PowerShot G3 - Canon:PowerShot G5 - Canon:PowerShot G6 - Canon:PowerShot IXY Digital L - Canon:PowerShot Pro70 - Canon:PowerShot Pro90 IS - Canon:PowerShot S1 IS - Canon:PowerShot S10 - Canon:PowerShot S100 - Canon:PowerShot S110 - Canon:PowerShot S20 - Canon:PowerShot S200 - Canon:PowerShot S230 - Canon:PowerShot S30 - Canon:PowerShot S300 - Canon:PowerShot S330 - Canon:PowerShot S40 - Canon:PowerShot S400 - Canon:PowerShot S410 Digital ELPH - Canon:PowerShot S45 - Canon:PowerShot S50 - Canon:PowerShot S500 Digital ELPH - Canon:PowerShot S60 - Canon:PowerShot S70 - Canon:PowerShot SD10 Digital ELPH - Canon:PowerShot SD100 - Canon:PowerShot SD110 Digital ELPH - Canon:PowerShot SD20 - Canon:PowerShot SD200 - Canon:PowerShot SD400 - Canon:ZR70MC