Подключение Pi камеры к принт-серверу OctoPrint на Raspberry Pi

Для оптимального удалённого управления 3D принтером всё-таки нужна визуальная информация изготовления детали. То есть нужно видеть в каком состоянии процесс изготовления. Возможно его нужно прервать для сокращения потерь материала, если всё пошло не так как планировалось. Для этого достаточно онлайн видео процесса, возможно даже с невысокой скоростью обновления кадров.

У меня уже работает принт-сервер OctoPrint на Raspberry Pi 2 и есть возможность управлять принтером на расстоянии. Теперь я добавляю камеру. Выбор пал на недорогую Pi камеру. Ссылка на АлиЭкспресс. Также напишу про настройки для обычной USB веб камеры.

Pi камеры

 

Она не занимает USB порт и имеет отличное разрешение 5 МП.

2015-12-05_155648

Также на неё можно установить линзы от фотокамер мобильных телефонов.

2015-12-05_161231

А можно и от зеркальных камер  =-O

2015-12-05_160134

А уж как линзу примонтировать к камере не нам 3D печатникам рассказывать. Тут главное чтобы нужный объект был в фокусе.

Шлейф можно подобрать любой разумной длины. Ссылка на АлиЭкспресс. Ссылка на Ebay.

 

Основные технические характеристики Pi камеры

  • Сенсор Omnivision 5647 с фиксированным фокусом
  • 5 мегапикселей
  • Максимальное разрешение 2592 ? 1944 точек
  • 1080p – 30 кадров в секунду
  • 720p – 60 кадров в секунду
  • 640 x 480p – 60/90 кадров в секунду
  • Углы обзора 54 ? 41 градус. Эквивалент 35мм на полном кадре
  • Изображение в фокусе с 60 см и далее
  • Шлейф длиной 150 мм
  • Вес 2,4г (3,4г со шлейфом)

2015-12-05_164733

 

Подключение и настройка

Камера должна работать сразу. Но если не работает – заходим через SSH клиент в raspi-config и подключаем (проверяем подключение) модуль работы с камерами

2015-12-05_194627

Команда проверки поддержки подключенной камеры

vcgencmd get_camera

Выводит простую и понятную строку информации

supported=1 detected=1

Видео смотрим по адресу http://IP адрес ОктоПринта в сети/webcam/?action=stream

Статичные кадры доступны по адресу http://IP адрес ОктоПринта в сети/webcam/?action=snapshot

 

Как изменить параметры камеры?

Параметры задаются в файле /boot/octopi.txt

Здесь есть три строки, в которых можно менять параметры. Одновременно используются только две строки, в зависимости от подключенной камеры: USB или Pi камеры.

#camera=”auto” – Эту строку можно не трогать

auto – ищет сначала USB камеру, если не находит ищет Pi камеру

usb – ищет только USB камеру

raspi – ищет только Pi камеру

#camera_usb_options=”-r 640×480 -f 10″ – Настройки для USB камеры

r <разрешение>: Например -r 640×480 для 640×480 пикселей

-f <частота кадров>: Частота кадров в секунду, например -f 10 для 10 кадров в секунду

-q <качество>: Установка качества JPG сжатия кадров, например -q 85 для 85%

-y: Установить если камера не поддерживает MJPG сжатие, картинка будет захвачена в YUVY (намного сильнее нагружает процессор)

#camera_raspi_options=”-fps 10″ – Настройки для Pi камеры

Здесь настроек очень много (как у фоткамеры) все можно изучить по этой ссылке. Рассмотрим основные

-fps или –framerate: Частота кадров в секунду. Без параметра будет 1 кадр/сек

-x или –width: Ширина захватываемого кадра, по умолчанию 640

-y или –height: Высота захватываемого кадра, по умолчанию 480

-quality: Установить качество JPEG сжатия (0 to 100), по умолчанию 85

-sh: Добавить-убрать резкость картинки (-100 to 100)

-co: Установить контраст (-100 to 100)

-br: Установить яркость (0 to 100)

-ev: Компенсация экспозиции (темнее-светлее)

-hf: Развернуть по горизонтали

-vf: Развернуть по вертикали

-ex sports: Режим Спорт для предотвращения смазывания движущихся объектов

Также можно настроить режим экспозиции, баланс белого, пятно оценки экспозиции и различные спеэффекты.

Для того чтобы параметры начали работать нужно убрать символ # в начале строки и перезагрузить OctoPrint. Файл /boot/octopi.txt доступен для редактирования на microSD карте, но я буду менять через SSH клиент PuTTy:

sudo nano /boot/octopi.txt

Хочу смотреть на картинку в максимальном разрешении 2592 ? 1944 с хорошей резкостью и т.д.

camera_raspi_options=”-fps 1 -x 2592 -y 1944 -sh 25 -ex sports -vf”

 

Управляем видеопотоком

Теперь хочу отключить автовключение видеопотока при загрузке, чтобы лишний раз не греть процессор Raspberry Pi, а включение сделать через меню OctoPrint

Отключаю видеопоток в файле /etc/init.d/octoprint

sudo nano /etc/init.d/octoprint

Вставляем sudo service webcamd stop в 77 строку перед RETVAL=»$?»

webcamd_octoprint

 

Создаём меню в ~/.octoprint/config.yaml

nano ~/.octoprint/config.yaml

Вставляем строки после system: actions:

– action: video on

command: sudo service webcamd start

confirm: false

name: Включить камеру

– action: video off

command: sudo service webcamd stop

confirm: false

name: Отключить камеру

webcamd_config

 

Перезагружаем Raspberry Pi

Video_menu

 

Уменьшение минимальной дистанции фокусировки

У Pi камеры, как и у большинства веб камер минимальная дистанция фокусировки около 60 см. Я хочу её снизить до 20 см, чтобы камеру расположить как можно ближе к столу принтера. Для этого я собрал коллекцию различных линз и протестировал их на разрешении 640×480.

IMG_7543

Тестовый стенд

IMG_7539

 

Вот результаты:

Без линзы

pusto20cm

Macro линза

Macro

Wide 0,67

Wide_0.67

Macro + Wide 0,67

Macro+Wide_0.67

FishEye

FishEye

B&W CloseUp +2

B&W_NL2_1.5cm

Годными оказались Wide 0,67 + Macro и B&W CloseUp +2. При этом B&W CloseUp +2 минимально искажает картинку и имеет хорошую резкость. Думаю можно ставить и CloseUp +4.

Вот кадр с настройками camera_raspi_options=”-fps 1 -x 2592 -y 1944 -sh 25 -ex sports -vf” и линзой B&W CloseUp +2. Расстояние от камеры до модели 20 см. Полный размер откроется по щелчку на фотографии. Мне кажется качество картинки достаточное для мониторинга и оценки состояния печати.

sh25

 

Выводы

  • Pi камера и вебкамера Logitech безо всяческих “бубнов” заработали на Raspberry Pi 2 с установленным принт-сервером OctoPrint.
  • Для качественной фокусировки на маленькой дистанции нужна CloseUp линза.
  • У USB камеры ниже разрешение, длинный провод.
  • У Pi камеры неудобный шлейф, мелкие размеры и отличное разрешение с кучей настроек. Удобно монтировать.

 

Обсуждение на форуме принт-сервера OctoPrint на Raspberry Pi.

10

Метки: , , ,    2016-01-27      Раздел: Настройка, Принт-сервер  
Автор: Просмотров: 3 908   8 комментариев



8 комментариев на «Подключение Pi камеры к принт-серверу OctoPrint на Raspberry Pi»

  1. Скучно у вас там на малинках. Без бубна, без изюиминки :)
    По факту, малинка – идеальный выбор для тех, кто с линуксом и консолью (страшной такой, черной :)) мало знаком.

    0
    1. Мне тоже нравится, как всё получилось. Но боюсь для большинства даже это будет перебор %)
      Сделал последнюю картинку кликабельной. Теперь можно посмотреть в полном размере.

      0
  2. А мне малина только едит а вот камера уже на руках такая http://ru.aliexpress.com/item/New-USB-Camera-for-Raspberry-Pi-2-Model-B-B-A-Not-Require-Drivers/32496515129.html так что скоро так же выложу результаты.

    0
    1. Интересно каким путём вы пойдёте – в описании вашей камеры не упоминается MJPEG.

      0
  3. Алексей, вы можете поделиться своим образом флешки? Я все буквально повторял, то, что вы здесь описали. Железо абсолютно такое же, даже реле. Максимум, что я добился, так это просто установки OctoPi.

    0
    1. Снимал программой UltraISO, как образ жёсткого диска. Пробуйте https://yadi.sk/d/cCpS4blopxUa2
      Логин AKDZG, пароль 123

      0
  4. Как оперативно! Большое спасибо! Управление камерой теперь работает, а реле позже смогу подключу.

    0
  5. К сожалению, вся эта инфа для Raspbery Pi 3 уже устарела начиная с /boot/octopi.txt
    vcgencmd get_camera камеры видит вроде, но ничего не показывает…. Танцы всех народов мира я станцевал.
    Причем работало вроде, потом пропало.
    Ставлю octo 13 видит USB камеру, Pi никак, начинаю ставить TouchUI (с 5″ дисплеем, чтоб уж все было “по-полной”) , обновляется до последней версии 13.2 и камеры показывать перестают. Зато тачскрин работает…
    Как самое простое проверить работоспособность Piсам без окты? Может она сдохла? Хотя малина же ее видит supported=1 detected=1, и светодиод на ней загорается…
    Камера вот эта https://ru.aliexpress.com/item/Raspberry-Pi-Camera-Module-Board-5MP-Wide-Angle-Fish-Eye-130-Night-Vision-Surveillance-Lenses-camera/32714486681.html?spm=2114.13010608.0.0.enbnDe
    Как раз с рыбьим глазом – четко на рабочий стол поле зрения при установке внутрь принтера – как раз то что надо! Успел оценить, пока работала!

    0

Добавить комментарий




     
Авторизация
*
*
Генерация пароля
Яндекс.Метрика