如何用树莓派控制单反相机

在这个Raspberry Pi单反相机控制项目中,我们将向您展示如何使用Raspberry Pi控制您的单反相机。

Raspberry-Pi-DLSR-Camera-Gphoto2.jpg

利用gphoto2软件,我们将能够与您的Raspberry Pi对话,控制相机进行拍照、从相机中下载文件和设置相机上的配置等操作。

在本教程中,我们将向您展示编译最新版本的gphoto2软件并将其安装到Raspberry Pi的过程。

从最新的源码编译可以确保我们有最好的可用兼容性,但当然比单纯从包仓库安装要复杂得多。

在你按照本教程操作之前,你应该确保gphoto2软件支持你的单反相机。你可以在Gphoto2网站上查看他们的官方支持列表。

有很多相机项目,你可以用树莓Pi来做。就我个人而言,我喜欢用廉价的Pi相机做一堆相机,但是能够控制单反相机是非常方便的。

你可以在下面找到如何设置你的Raspberry Pi来控制单反相机的完整教程。

装备

以下是使用树莓派控制单反相机所需的全部设备清单。

建议

树莓派

Micro SD卡或SD卡,如果你使用的是老式树莓Pi(V1等)。

以太网线或WIFI加密狗(Raspberry Pi 3内置WiFi)。

单反相机(兼容性列表)

电源供应器

可选

树莓派外壳

USB 键盘

USB鼠标

安装gPhoto2与数码相机对话。

1. 在开始安装和设置我们需要与数码相机对话的软件之前,我们必须首先确保我们的软件包列表和我们的软件包都是完全最新的。

我们可以通过在Raspberry Pi上运行以下两个命令来实现。

sudo apt-get update
sudo apt-get upgrade

2. 现在,我们已经更新了所有的东西,我们需要下载编译gphoto2软件所需的软件包,我们将使用该软件。

虽然有一个版本的gPhoto2可以从软件包仓库中获得,但它是一个过时的版本,不支持那么多相机。

运行下面的命令来安装我们需要的所有软件包。

sudo apt-get install git make autoconf libltdl-dev libusb-dev libexif-dev libpopt-dev libxml2-dev libjpeg-dev libgd-dev gettext autopoint

3. 当所有的软件包安装完成后,我们就可以继续抓取libgphoto2的源代码并进行编译。Libgphoto2是gphoto2的基础库。

我们可以直接从他们的Github上抓取最新的可用版本,运行以下命令来克隆它。

git clone https://github.com/gphoto/libgphoto2.git

4. 现在我们的Raspberry Pi上已经有了libgphoto2的源代码,我们需要编译它。

要做到这一点,我们必须运行以下一系列命令。这些命令可能需要一些时间来执行,所以要有耐心。

我们将要运行的命令将根据Raspberry Pi上所有可用的软件包和软件来配置makefile脚本。

然后我们将根据我们生成的这个makefile来编译库本身。

cd ~/libgphoto2
autoreconf --install --symlink
./configure
make
sudo make install

5. 现在我们已经编译了libgphoto2库,现在我们需要按照同样的过程来编译实际的gphoto2软件。

让我们通过运行以下两个命令将gphoto2源代码克隆到我们的Raspberry Pi上。

cd ~
git clone https://github.com/gphoto/gphoto2.git

6. 现在像我们编译的glibphoto2库一样,我们需要运行几个不同的命令。每一个命令都会配置gphoto2软件的编译,然后进行编译。

运行以下一系列命令来编译并安装gphoto2软件到你的Pi上。

cd ~/gphoto2
autoreconf --install --symlink
./configure
make
sudo make install

7. gphoto2软件现在已经编译好了,我们需要确保它能找到我们在前面的步骤中编译的库。

首先,我们将首先确保引用”/usr/local/lib “文件夹的配置文件存在。

在Raspberry Pi上运行以下命令打开文件。

sudo nano /etc/ld.so.conf.d/libc.conf

在这个文件中,你应该找到以下文本,如果它不存在,那么输入它。

# libc default configuration
/usr/local/lib

一旦你确定现在有了正确的文字,你可以按CTRL + X键退出文件,如果要求你保存,确保你输入Y,然后按ENTER键。

8. 现在我们已经确保了”/usr/local/lib “目录被包含在内,我们需要刷新配置缓存,以便操作系统在链接库时能搜索到该目录。

为此,我们需要通过运行下面的命令来运行ldconfig工具。

sudo ldconfig

9. 在接下来的几个步骤中,我们必须为你可能要连接的相机生成udev规则。否则,gphoto2应用程序可能无法与您的相机对话。

让我们通过运行以下命令来生成所需的udev列表。我们将把该命令直接管到一个规则文件中,让udev服务自动读取。

/usr/local/lib/libgphoto2/print-camera-list udev-rules version 201 group plugdev mode 0660 | sudo tee /etc/udev/rules.d/90-libgphoto2.rules

10. 最后,我们需要为udev生成硬件数据库文件。

我们可以通过运行以下命令来实现。该命令将自动在正确的位置创建文件。

/usr/local/lib/libgphoto2/print-camera-list hwdb | sudo tee /etc/udev/hwdb.d/20-gphoto.hwdb

11. 现在运行下面的命令来测试gphoto2的设置是否正确,如果返回版本,我们就可以自由地继续学习这篇树莓派单反相机控制教程了。

gphoto2 --version

使用gphoto2与相机对话

1. 在教程的这一点上,你需要使用USB电缆将你的单反相机连接到Raspberry Pi。

一旦你连接了它,我们就可以通过运行下面的命令来尝试用gphoto2软件检测它。

gphoto2 --auto-detect

从该命令中,您应该可以看到以下文字,后面还跟着检测到的型号和摄像机所连接的端口。

如果您没有看到任何关于您的相机的说明,请确保相机已正确连接并打开电源。

Model                          Port
----------------------------------------------------------
Canon PowerShot G2             usb:

2. 如果你的相机被成功检测到,那么你就可以通过gphoto2软件与设备进行对话。

下面我们将介绍几个可以利用gphoto2软件的命令,以及这些命令的作用。

gphoto2 --capture-image

这个命令会让gphoto2软件告诉你的相机拍摄一张照片,并将其捕捉到内部存储器中。这不会将图片保存到Raspberry Pi本身。

gphoto2 --capture-image-and-download

上面的命令和前面的命令类似,就是让你连接的相机拍照。

然而,它更进一步,直接将相机中的图像下载到Pi上。

gphoto2 --summary

-summary 命令用于检索摄像机设备的摘要。此命令的结果将因摄像机而异,因为它完全取决于摄像机曝光的信息。

gphoto2 --list-files

此命令将列出 gphoto2 软件可以看到的相机上的所有文件。

3. 使用gphoto2软件可以做的事情还有很多,你可以通过查看他们网站上的官方文档来了解更多关于如何利用这个工具和掌握它的命令行。

有许多不同的项目,你可以通过使用gphoto2和单反相机来完成。如果你想做一些更有预算的事情,那么你可能会对我们的延时项目感兴趣,或者了解更多关于两种类型的树莓派相机。

希望这篇指南能带你了解如何用树莓派控制单反相机的所有步骤。如果你对本教程有任何反馈,那么请不要犹豫,在下方留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 如何用树莓派控制单反相机

赞 (2)

评论

2+1=