cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Il est possible de rĂ©cupĂ©rer vos photos provenant de votre appareil photo reflex numĂ©rique en utilisant un cĂąble USB, mais ce n’est probablement pas la solution la plus rapide.

L’interface USB de votre appareil photo reflex numĂ©rique peut vous sembler assez inutile, en rĂ©alitĂ© cette interface Ă  intĂ©rĂȘt pour auditer ou configurer ce pĂ©riphĂ©rique.

Sous Linux, gPhotoÂČ prend en charge la synchronisation de l’horloge interne de l’appareil photo avec celle de l’ordinateur pour de nombreux modĂšles. La liste complĂšte des modĂšles supportĂ©s est disponible sur le site de gPhotoÂČ.

J’ai bien galĂ©rĂ© pour ce billet, que j’ai commencĂ© Ă  Ă©crire courant 2019, car il y a 3 problĂšmes distincts Ă  rĂ©soudre.

  • Les appareils photos que j’ai testĂ© ne gĂšrent pas les changements d’heures entre l’étĂ© et l’hiver, hors c’est mon problĂšme principal. J’ai mis du temps Ă  comprendre qu’une gestion des fuseaux horaire sans prendre en compte l’heure d’hivers/Ă©tĂ© Ă©tait au final complexifiait le problĂšme,
  • Il y a un bug entre gphotoÂČ et les appareils de type CANON EOF : la conversion entre l’heure courante de l’ordinateur et l’heure UTC de l’appareil est Ă©trange (Ce bug identifiĂ© n’a pas avancĂ© depuis 2019),
  • Les forums recopie la mĂȘme erreur. Les forums français, en particulier, appliquent une rĂšgle dĂ©finie pour des pays qui n’ont pas de changement d’heure dans l’annĂ©e ayant comme consĂ©quence que cela ne fonctionne qu’en hivers
 Je ne comprends pas vraiment, car je n’ai trouvĂ© aucun appareil photo qui rĂ©solvais correctement ce point.

gphotoÂČ

La commande gphotoÂČ vous aidera pour cette tĂąche qui s’installe comme suit :

sudo apt update && sudo apt install -y gphoto2

Pour utiliser gphotoÂČ, il faut bien-sur que le cĂąble USB soit connectĂ©, que l’appareil photo soit allumĂ© (faite attention Ă  son extinction automatique), et que le systĂšme de fichier de l’appareil photo ne soit pas montĂ© (cela est gĂ©nĂ©ralement fait automatiquement).

Plus de dĂ©tail dans le billet sur l’installation de gPhotoÂČ

En général, vous devrez penser à démonter le « disque » qui sera monté par votre systÚme.

Pour obtenir la liste des commandes disponible avec votre appareil photo, vous pouvez utiliser :

gphoto2 --list-config

Cela validera que gphotoÂČ est capable de communiquer avec votre appareil photo.


ඏ

Les appareils supportés

Actuellement, plus de 2400 modĂšles d’appareils photos sont supportĂ©s, correspondant Ă  231 marques, je ne vais donc pas faire la liste ici.

gphoto2 --list-cameras

Notez qu’il est possible que votre appareil photo soit supportĂ© sans pour autant ĂȘtre prĂ©sent dans cette liste, pour savoir comment votre modĂšle est dĂ©tecte vous pouvez utiliser :

gphoto2 --auto-detect
gphoto2 --summary
  • Ex: gphoto2 --summary
    Camera summary:
    Manufacturer: Canon Inc.
    Model: Canon EOS 700D
      Version: 3-1.1.4
      Serial Number: 5556df3ac4089b73c8b4eba88e12c069
    Vendor Extension ID: 0xb (1.0)
    
    Capture Formats: JPEG
    Display Formats: Association/Directory, Script, DPOF, MS AVI, MS Wave, JPEG, CRW, Unknown(b103), Unknown(bf02), Defined Type, Unknown(b104), Unknown(b105)
    
    Device Capabilities:
        File Download, File Deletion, File Upload
        No Image Capture, No Open Capture, Canon EOS Capture, Canon EOS Capture 2
    
    Storage Devices Summary:
    store_00020001:
        StorageDescription: SD
        VolumeLabel: None
        Storage Type: Removable RAM (memory card)
        Filesystemtype: Digital Camera Layout (DCIM)
        Access Capability: Read-Write
        Maximum Capability: 31902400512 (30424 MB)
        Free Space (Bytes): 31902236672 (30424 MB)
        Free Space (Images): -1
    
    Device Property Summary:
    Property 0xd402:(read only) (type=0xffff) 'Canon EOS 700D'
    Property 0xd407:(read only) (type=0x6) 1
    Property 0xd406:(readwrite) (type=0xffff) 'Unknown Initiator'
    Property 0xd303:(read only) (type=0x2) 1
    Battery Level(0x5001):(read only) (type=0x2) Enumeration [100,0,75,0,50] value: 100% (100)
    

Ensuite, vous pouvez connaßtre la liste des propriétés accessibles avec votre modÚle :

gphoto2 --list-config

Et Ă©ventuellement rĂ©cupĂ©rer l’ensemble des valeurs :

gphoto2 --list-all-config

ඏ

Autre commandes

Une autre commande que vous pouvez exécuter sans risque, est de récupérer le compteur de photo.

gphoto2 --get-config /main/status/shuttercounter

Ensuite gphotoÂČ prend en charge la capture de photo, et peut Ă©galement lire et Ă©crire dans la mĂ©moire de l’appareil photo (en gĂ©nĂ©ral, la carte SD).

Ces fonctionnalitĂ©s ne sont pas inintĂ©ressantes, mais elles ne correspondent pas Ă  une utilisation traditionnelle d’un appareil photo.

N’utilisant pas ces fonctionnalitĂ©s, je ne m’étalerais pas sur cette partie.

Plus de dĂ©tail dans le billet sur l’installation de gPhotoÂČ


ඏ

Notion prĂ©alable Ă  la configuration de l’heure

  • La notion d’epoch

    L’epoch (de l’anglais « époque » ou « Úre ») reprĂ©sente la date initiale Ă  partir de laquelle est mesurĂ© le temps par les systĂšmes d’exploitation ou par certains langages.

    Notez qu’il n’y a pas de systĂšme de mesure moins arbitraire que d’autre. La date et l’heure Ă©tant par nature des conventions.

    L'epoch Posix ou l'epoch Unix (aussi appelĂ©e heure Unix, heure Posix, Unix Timestamp, etc) est une mesure du temps basĂ©e sur le nombre de secondes Ă©coulĂ©es depuis le 1er janvier 1970 00:00:00 UTC. Elle est utilisĂ©e principalement dans les systĂšmes qui respectent la norme POSIX, dont les systĂšmes de type Unix, d’oĂč son nom.

    La date avant cette l'epoch Posix sont représenté sur une forme négative.

    La plupart des langages de programmation utilisent Ă©galement cette reprĂ©sentation pour les dates. Par exemple : C/C++, Java, JavaScript, Perl, PHP, Python, Ruby


Configuration de l’heure

La configuration de l’heure est sans doute la plus utile et la plus courante.

Pour rĂ©cupĂ©rer l’heure de l’appareil photo, vous devez utiliser :

gphoto2 --get-config datetime
Label: Camera Date and Time
Readonly: 0
Type: DATE
Current: 1622796649
Printable: ven. 04 juin 2021 10:50:49
Help: Use 'now' as the current time when setting.

END

Pour mettre à jour l’heure de votre appareil photo, la solution la plus simple :

gphoto2 --set-config datetime=now
gphoto2 --set-config datetime=$( date +%s ) # epoch Posix

Constatons que pour rĂ©cupĂ©rer le nombre de seconde depuis le 1er janvier 1970, il est possible d’utiliser la commande date comme suit :

date +%s

Cependant cette commande ne fonctionne pas avec les réflexes EOS CANON. La solution est de passer par le nom complet de la propriété :

gphoto2 --set-config /main/settings/datetime=now
gphoto2 --set-config /main/settings/datetime=$( date +%s )

Cela résout cependant que partiellement le problÚme, car il faut encore tenir compte du décalage lié au fuseau horaire


Du coup, il existe une alternative, au moins, pour les appareils de type « CANON EOS » :

gphoto2 --set-config /main/actions/syncdatetime=1

Bon, en rĂ©alitĂ©, ça ne fonctionne pas non plus, car il est peu probable que vous souhaitiez avoir l’heure UTC sur votre appareil photo.

Au final, la solution passe par la propriĂ©tĂ© /main/settings/datetimeutc et on doit recalculer l’heure pour tenir compte du fuseau horaire. Je vous gagne du temps l’utilisation de /main/actions/syncdatetimeutc ne rĂ©sous rien.

📌 Configuration prĂ©alable

En fait, une partie du problĂšme vient de l’appareil, sur mon « Canon EOS 700D », il y a un rĂ©glage du fuseau horaire, mais cela ne tient pas compte du changement d’heure entre hivers et Ă©tĂ©.

Cela implique d’avoir une solution boiteuse


Je vous propose une solution qui permettra de configurer l’heure de votre de maniĂšre plus comprĂ©hensible.

Pour cela il faut définir le fuseau horaire de votre appareil photo à UTC ± 00:00, en général, cela correspond à un réglage pour la ville de Londres (« london »).

Et Ă  partir ce maintenant, on utilisera les rĂ©glages UTC pour configurer l’heure de l’appareil photo en tenant compte du dĂ©calage de l’ordinateur.

Jouons avec la date


On se rappelle, que si votre fuseau horaire est une heure en avance par rapport à l’heure UTC, il faudra soustraire 1×60×60 secondes


Pour la France mĂ©tropolitaine, en hivers (au moins pour l’instant
), il faut utiliser quelque chose comme cela :

gphoto2 --set-config /main/settings/datetimeutc=$(( $( date +%s ) + 1*60*60 ))

Et en Ă©tĂ©, en France mĂ©tropolitaine, en hivers (au moins pour l’instant
), il faut utiliser quelque chose comme cela :

gphoto2 --set-config /main/settings/datetimeutc=$(( $( date +%s ) + 2*60*60 ))

Bon, c’est pas mal, mais personnellement, je ne trouve pas cela satisfaisant, j’aimerais bien ne pas avoir Ă  m’occuper du dĂ©calage horaire, et m’appuyer sur la configuration globale de l’ordinateur.

Nous allons devoir "bricoler" la date, pour ĂȘtre Ă  mĂȘme de dĂ©terminer

voici les notions nécessaires:

date +%s        # Permet d’afficher l’heure courante sous la forme epoch Posix
date +'%F %T'   # Permet d’afficher l’heure courante sous la forme YYYY-MM-DD hh:mm:ss

Nous allons avoir besoin de convertir une date donnée en secondes (epoch Posix):

date "+%s" --date="2018-04-01 12:33:45"

Pour convertir une date donnée en son équivalent UTC, il faut utiliser:

date -u --date=@$(date "+%s" --date="2018-04-01 12:33:45")

et pour connaütre l’heure UTC courante :

date -u --date=@$(date "+%s" --date="$( date +'%F %T' )")

Et si on fait le calcul suivant, on obtient notre dĂ©calage horaire courant par rapport Ă  l’heure UTC :

echo $(( $( date -u +"%s" --date="$( date +'%F %T' )" ) - $( date -u +"%s" ) ))

📌 Solution

Et on a enfin une solution pour mettre Ă  jour l’heure de notre appareil photo qui tiens compte du fuseau horaire ainsi que d’un Ă©ventuel changement d’heure :

gphoto2 --set-config /main/settings/datetimeutc=$( date -u +"%s" --date="$( date +'%F %T' )" )
gphoto2 --get-config datetime

On rappelle que cela implique que vous avez désactivé la gestion des fuseaux horaire sur votre apparie photos et que cela peut se faire en sélectionnant quelque-chose qui parle de UTC ou de Londres.

Références

኿


â„č 2006 - 2021 | 🏠 Retour Ă  l'accueil du domaine | 🏡 Retour Ă  l'accueil du blog