|
Управление камерой Raspberry Pi DSLR
В этом проекте управления камерой Raspberry Pi DSLR мы покажем вам, как вы можете настроить и использовать свою DSLR с Raspberry Pi. Используя программное обеспечение gphoto2, мы сможем общаться с вашим Raspberry Pi, чтобы управлять камерой для выполнения таких действий, как съемка фотографий, загрузка файлов с камеры и настройка конфигурации камеры. В этом руководстве мы покажем вам процесс компиляции самой последней версии программного обеспечения gphoto2 и ее установки на ваш Raspberry Pi. Компиляция из последнего исходного кода гарантирует, что у нас будет наилучшая доступная совместимость, но, конечно, это намного сложнее, чем просто установка из репозитория пакетов. Прежде чем следовать этому руководству, вы должны убедиться, что программа gphoto2 поддерживает вашу цифровую зеркальную камеру. Вы можете сделать это, проверив их официальный список поддержки на сайте Gphoto2 . Есть много проектов с камерами , которые можно реализовать с помощью Raspberry Pi. Лично мне нравится использовать дешевую камеру Pi в комплекте камер, но возможность управлять зеркальной камерой очень удобна. Вы можете найти полное руководство о том, как настроить Raspberry Pi для управления DSLR, ниже.
Установка 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. Имея исходный код libgphoto2 на нашем Raspberry Pi, нам нужно его скомпилировать. Для этого нам нужно будет выполнить следующую серию команд. Выполнение этих команд может занять некоторое время, так что наберитесь терпения. Команды, которые мы собираемся запустить, настроят сценарий makefile на основе всех пакетов и программного обеспечения, которые у нас есть на Raspberry Pi. Затем мы скомпилируем саму библиотеку на основе созданного файла 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, если она вернет версию, которую мы можем продолжить с этим руководством по управлению камерой Raspberry Pi DSLR.
gphoto2 --version
Использование gphoto2 для разговора с камерой
1. На этом этапе обучения вам необходимо подключить зеркальную камеру к Raspberry Pi с помощью USB-кабеля. После того, как вы его подключили, мы можем продолжить попытки обнаружить его с помощью программного обеспечения 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 и зеркалку.