К содержимому
  1. Главная
  2. Документация
  3. Камеры для Raspberry Pi
  4. Камера в OctoPrint: решение Arducam

Камера в OctoPrint: решение Arducam

Документация Arducam · перевод arducam-russia.ru

1. Образ для SD-карты

Скачайте образ для SD-карты.

2. Запишите образ на SD-карту

Запись образа OctoPi на SD-карту: шаг 1
Запись образа OctoPi на SD-карту: шаг 2
Запись образа OctoPi на SD-карту: шаг 3
Запись образа OctoPi на SD-карту: шаг 4
Версия ОС и ядра:
Версия ОС и ядра в OctoPi

3. Установка зависимостей

3.1. Включите драйвер фокусировки и установите libcamera

Установка libcamera:

Шаг 1. Скачайте bash-скрипт.

wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh
chmod +x install_pivariety_pkgs.sh

Шаг 2. Установите libcamera.

./install_pivariety_pkgs.sh -p libcamera_dev

Шаг 3. Установите libcamera-apps.

./install_pivariety_pkgs.sh -p libcamera_apps

3.2. Проверка

Проверьте видеоустройство:

Проверка видеоустройства камеры
rpicam-still -t 5000 -o test.jpg -n

4. Скачайте исходный код плагина libcamera

Клонируйте исходный код mjpg-streamer и выполните команды ниже, чтобы собрать и установить плагин libcamera.

git clone https://github.com/ArduCAM/mjpg-streamer.git mjpg-streamer-libcamera
cd mjpg-streamer-libcamera/mjpg-streamer-experimental
git checkout bullseye
make
sudo install -m 755 _build/mjpg_streamer /opt/mjpg-streamer
sudo find _build -name "*.so" -type f -exec install -m 644 {} /opt/mjpg-streamer \;
sudo cp -a -r ./www /opt/mjpg-streamer
sudo chmod 755 /opt/mjpg-streamer/www
sudo chmod -R 644 /opt/mjpg-streamer/www

5. Настройте файл octopi.txt

Откройте /boot/octopi.txt и внесите изменения, описанные ниже.

sudo nano /boot/octopi.txt

5.1. Выберите камеру

Прокрутите файл до конца и добавьте строку:

camera="libcamera"
Строка camera="libcamera" в файле octopi.txt

5.2. Задайте параметры плагина libcamera

Общие настройки

Чтобы оставить параметры по умолчанию, добавьте в octopi.txt строку:

camera_libcamera_options=""

Пример. Чтобы задать частоту кадров 60 к/с и включить непрерывный автофокус, добавьте в octopi.txt строку:

camera_libcamera_options="-afmode continuous -fps 60"
Параметры плагина libcamera в octopi.txt

Файл настроек для OV5647/IMX219/IMX477

Для камер Arducam OV5647/IMX219/IMX477 с моторизованной фокусировкой дополнительно нужно указать файл настроек (tuning file):

Камера OV5647 с моторизованной фокусировкой:

camera_libcamera_options="-afmode continuous -fps 60 /usr/share/libcamera/ipa/rpi/vc4/ov5647_af.json"

Камера IMX219 с моторизованной фокусировкой:

camera_libcamera_options="-afmode continuous -fps 60 /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json"

Камера IMX477 с моторизованной фокусировкой:

camera_libcamera_options="-afmode continuous -fps 60 /usr/share/libcamera/ipa/rpi/vc4/imx477_af.json"
Файл настроек камеры в параметрах плагина libcamera

Режим фокусировки

Если камера поддерживает и автофокус, и ручную фокусировку, сначала задайте режим фокусировки в параметрах. Варианты:

Однократный автофокус

camera_libcamera_options="-afmode auto -fps 60"

Непрерывный автофокус

camera_libcamera_options="-afmode continuous -fps 60"

Ручная фокусировка

camera_libcamera_options="-afmode manual -fps 60"

Описание параметров

Описание всех параметров выводит команда:

cd /home/pi/mjpg-streamer-libcamera/mjpg-streamer-experimental
./mjpg_streamer -i "input_libcamera.so -h"
Справка по параметрам плагина input_libcamera.so

5.3. Настройте вывод камеры по HTTP

Раскомментируйте в octopi.txt две строки:

camera_http_webroot="./www-octopi"
camera_http_options="-n"

6. Замените файл webcamd

Файл webcamd находится в каталоге /root/bin. Переименуйте исходный файл, чтобы сохранить резервную копию, затем скопируйте в /root/bin модифицированный Arducam файл webcamd. Выполните команды:

cd ~
sudo mv /root/bin/webcamd /root/bin/webcamd.bak
sudo wget -O webcamd https://github.com/ArduCAM/mjpg-streamer/releases/download/v1.0.3/webcamd
sudo mv webcamd /root/bin/
sudo chmod 755 /root/bin/webcamd

7. Перезагрузите Pi

sudo reboot

8. Просмотр в браузере

8.1. Изображение

Введите IP-адрес устройства (IPv4) в адресной строке браузера.

Нажмите на вкладку, на которую указывает красная стрелка на скриншоте ниже, — откроется изображение с камеры.

Вкладка с изображением камеры в веб-интерфейсе OctoPrint

8.2. Управление

Установите плагин управления.

Нажмите кнопку, на которую указывает стрелка на скриншоте ниже.

Кнопка установки плагинов в OctoPrint

Следуйте инструкциям, чтобы скачать плагин.

Окно установки плагина в OctoPrint

Вставьте ссылку на архив плагина в поле, выделенное на скриншоте:

https://github.com/The-EG/OctoPrint-CameraSettings/archive/main.zip
Поле для ссылки на архив плагина

Затем следуйте подсказкам на странице, чтобы перезапустить сервис.

sudo reboot

8.3. Ручная фокусировка

Чтобы пользоваться ручной фокусировкой камеры с автофокусом, выберите нужный режим при настройке параметров плагина libcamera на шаге 5.2 и выполните дальнейшую настройку.

Например, для ручной фокусировки камеры OV5647 с моторизованной фокусировкой откройте octopi.txt и добавьте:

camera_libcamera_options="-afmode manual -fps 60 /usr/share/libcamera/ipa/rpi/vc4/ov5647_af.json"
Ручная фокусировка камеры в OctoPrint

Запросить цену

Укажите количество — пришлём коммерческое предложение.