3 votes

Raspberry Pi : Détecter une caméra avec une boucle IF, gphoto2

J'essaie de trouver un moyen de détecter si un appareil photo est trouvé pour gphoto2, ou non.

J'ai posté un message dans le forum gphoto2, mais je me suis dit que j'allais essayer ici aussi. On peut lancer la commande gphoto2 --auto-detect, et la liste des caméras détectées s'affichera.

J'exécute un grand python script qui, à un moment donné, appelle gphoto2 pour prendre une photo et télécharger l'image. Je veux trouver une déclaration que je peux mettre dans une boucle IF, pour que la commande prendre une photo et télécharger l'image ne soit émise qu'après être entré dans la boucle si la caméra est détectée.

1voto

Imre L Points 4130

Une recherche rapide sur google révèle des liaisons python pour gphoto2 http://magiclantern.wikia.com/wiki/Remote_control_with_PTP_and_Python .

L'autre variante consiste à appeler une commande de console, c'est-à-dire

from subprocess import call
call(["gphoto2", "--auto-detect"])

C'est à vous de décider combien de temps vous allez attendre que la caméra soit détectée avant d'abandonner.

Si vous optez pour la boucle, n'oubliez pas de mettre une commande de sommeil.

timeout = time.time() + 60
detected = False
while time.time() < timeout:
    if is_device_available():
        detected = True
        break
    # maybe show some feedback why he has to wait
    time.sleep(1)
if not detected:
    raise Exception('Camera device not detected')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X