Метки: OctoPrint, Pi камера, Raspberry Pi, RaspiCam  
2016-01-27  
  
Раздел: Настройка, Принт-сервер  
Автор: AKDZG Просмотров: 17 837  
8 комментариев
Подключение Pi камеры к принт-серверу OctoPrint на Raspberry Pi
Добавлено в закладки: 1
Для оптимального удалённого управления 3D принтером всё-таки нужна визуальная информация изготовления детали. То есть нужно видеть в каком состоянии процесс изготовления. Возможно его нужно прервать для сокращения потерь материала, если всё пошло не так как планировалось. Для этого достаточно онлайн видео процесса, возможно даже с невысокой скоростью обновления кадров.
У меня уже работает принт-сервер OctoPrint на Raspberry Pi 2 и есть возможность управлять принтером на расстоянии. Теперь я добавляю камеру. Выбор пал на недорогую Pi камеру. Ссылка на АлиЭкспресс. Также напишу про настройки для обычной USB веб камеры.
Она не занимает USB порт и имеет отличное разрешение 5 МП.
Также на неё можно установить линзы от фотокамер мобильных телефонов.
А можно и от зеркальных камер
А уж как линзу примонтировать к камере не нам 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г со шлейфом)
Подключение и настройка
Камера должна работать сразу. Но если не работает – заходим через SSH клиент в raspi-config и подключаем (проверяем подключение) модуль работы с камерами
Команда проверки поддержки подключенной камеры
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=»$?»
Создаём меню в ~/.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: Отключить камеру
Перезагружаем Raspberry Pi
Уменьшение минимальной дистанции фокусировки
У Pi камеры, как и у большинства веб камер минимальная дистанция фокусировки около 60 см. Я хочу её снизить до 20 см, чтобы камеру расположить как можно ближе к столу принтера. Для этого я собрал коллекцию различных линз и протестировал их на разрешении 640×480.
Тестовый стенд
Вот результаты:
Без линзы
Macro линза
Wide 0,67
Macro + Wide 0,67
FishEye
B&W CloseUp +2
Годными оказались 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 см. Полный размер откроется по щелчку на фотографии. Мне кажется качество картинки достаточное для мониторинга и оценки состояния печати.
Выводы
- Pi камера и вебкамера Logitech безо всяческих “бубнов” заработали на Raspberry Pi 2 с установленным принт-сервером OctoPrint.
- Для качественной фокусировки на маленькой дистанции нужна CloseUp линза.
- У USB камеры ниже разрешение, длинный провод.
- У Pi камеры неудобный шлейф, мелкие размеры и отличное разрешение с кучей настроек. Удобно монтировать.
Обсуждение на форуме принт-сервера OctoPrint на Raspberry Pi.
8 комментариев на «Подключение Pi камеры к принт-серверу OctoPrint на Raspberry Pi»
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.
Апельсиновый осьминог и обычная вебкамера       Подключаем Relay Module к Ramps
Скучно у вас там на малинках. Без бубна, без изюиминки
По факту, малинка – идеальный выбор для тех, кто с линуксом и консолью (страшной такой, черной :)) мало знаком.
Мне тоже нравится, как всё получилось. Но боюсь для большинства даже это будет перебор
Сделал последнюю картинку кликабельной. Теперь можно посмотреть в полном размере.
А мне малина только едит а вот камера уже на руках такая http://ru.aliexpress.com/item/New-USB-Camera-for-Raspberry-Pi-2-Model-B-B-A-Not-Require-Drivers/32496515129.html так что скоро так же выложу результаты.
Интересно каким путём вы пойдёте – в описании вашей камеры не упоминается MJPEG.
Алексей, вы можете поделиться своим образом флешки? Я все буквально повторял, то, что вы здесь описали. Железо абсолютно такое же, даже реле. Максимум, что я добился, так это просто установки OctoPi.
Снимал программой UltraISO, как образ жёсткого диска. Пробуйте https://yadi.sk/d/cCpS4blopxUa2
Логин AKDZG, пароль 123
Как оперативно! Большое спасибо! Управление камерой теперь работает, а реле позже смогу подключу.
К сожалению, вся эта инфа для 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
Как раз с рыбьим глазом – четко на рабочий стол поле зрения при установке внутрь принтера – как раз то что надо! Успел оценить, пока работала!