Raspberry Pi:使用IF环路检测摄像头,gphoto2

时间:2013-03-25 17:44:48

标签: python

我正试图找到一种方法来检测是否找到了gphoto2的相机。

我已经在gphoto2论坛上发帖了,但我想我也会在这里试试。可以发出命令gphoto2 --auto-detect,它将列出检测到的摄像机。

我正在运行一个大型python脚本,一次调用gphoto2来拍照并下载图像。我想找一个可以放入IF循环的语句,只有在检测到摄像机后进入循环后才会发出拍照和下载图像命令。

1 个答案:

答案 0 :(得分:1)

快速谷歌揭示了gphoto2 http://magiclantern.wikia.com/wiki/Remote_control_with_PTP_and_Python的python绑定。

其他变体是调用控制台命令,即

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

在你放弃之前,你需要多长时间等待相机被发现。

如果您要使用循环,请记住将一些睡眠命令放入。

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')