Подключение камеры от смартфона к raspberry pi
В эпоху активного потребления, считается хорошим тоном менять мобильные телефоны не реже, чем один раз в полтора года. Не то чтобы смартфоны перестают работать, они просто морально устаревают и не могут нормально функционировать с современным программным обеспечением. Флагман двухлетней давности уже начинает подтормаживать при работе с актуальными программами, а бюджетный телефончик, проработавший пару лет, вообще начинает залипать от малейшего прикосновения. В принципе, такие аппараты уже просятся на помойку, но из них можно кое-что выжать, дать еще один шанс на существование.
Современный смартфон — это не только высокотехнологичное устройств, с экраном, батареей и микросхемами. Это настоящий мини-компьютер, оснащенный видеокамерами, дисплеем, беспроводной связью и прочими полезными устройствами. И ко всему прочему он почти бесплатен. Многие покупают устройства типа Raspberry PI, а затем используют их в качестве миниатюрных компьютеров для решения определенных несложных задач. А тут, представляете, у вас уже есть законченное решение, нужно только запрограммировать его требуемым образом. Конечно, БУ телефон можно продать скупщикам, утилизировать либо постараться выплавить ценные металлы из электроники телефона. Но у меня есть идея получше.
БУ смартфон на платформе Android можно с успехом превратить в IP-камеру видеонаблюдения с подключением по Wi-Fi. Понадобится для этого лишь… Несколько программ и все. Итак, приступим.
В качестве подопытного устройства у меня на столе появился смартфон LG Optimus L7 II Dual P715. Для своего времени аппарат вполне неплохой, хотя далеко и не топовый. Телефон может работать с двумя SIM-картами и поддерживает связь по стандарту 3G. Помимо всего прочего, в него можно установить карту MicroSD, а в качестве зарядки используется разъем MicroUSB. В целом аппарат полностью рабочий, хотя и заметно подтормаживает при работе с сетью или в емких приложениях, например, картах.
Смартфон LH Optimus P7 II Dual P715
Для того чтобы преобразовать телефон во что-то полезное с ним необходимо проделать некоторые махинации. Часть из них необязательна для исполнения и может быть банально пропущена. Ниже я привожу шаги, которые были проделаны для телефона P715, но в целом они годны для любого из аналогичных аппаратов.
Шаг 1. Перепрошивка.
Итак, в руках у меня телефончик, на котором уже установлена операционная система Android версии 4.1.2. По нынешним меркам система уже старая и желательно ее обновить на что-то более современное. Удивительно, но с повышением версии Android телефоны обыкновенно начинают работать шустрее. Обновление, встроенное в телефон, показывает, что на телефон уже установлена самая последняя прошивка доступная для аппарата. Но если ознакомиться с содержанием форума 4PDA , то можно увидеть, что существует более свежая прошивка, основанная на Android 4.4.2. Кроме того, есть варианты этой прошивки с уже полученными root-правами, установленным BusyBox и рекавери CWM. В дальнейшем эти дополнительные примочки позволят настроить телефон более тонко под нужды видеонаблюдения. Поэтому я устанавливаю именно такую, модифицированную прошивку с уже установленным CWM и полученными root-правами.
Само собой, можно обойтись без перепрошивки телефона. Операция эта нетривиальная, в процессе, если вдруг, что пойдет не так, можно получить неработающий агрегат. И если кто-то не чувствует в себе сил на подобный шаг, то лучше от него воздержаться. А вместо перепрошивки телефона просто осуществить сброс настроек к заводским параметрам.
Шаг 2. Очистка системы.
Итак, на телефон установлена свежая прошивка, подключен Wi-Fi и проведена первоначальная настройка. Теперь настало время очистить телефон от ненужного хлама, в том числе и от ненужных для видеонаблюдения программ. Забегая вперед скажу, что этот пункт можно смело пропустить, особенно если на телефоне небыли получены root-права.
В моей прошивке в качестве менеджера суперпользователя установлен KingRoot. Программа не только позволяет управлять запросами приложений на получение привилегий суперпользователя, но и обладает некоторыми возможностями по удалению системных приложений и отключения программ в автозагрузке. При помощи KingRoot смело удаляем и отключает то, что, по нашему мнению, не относится к видеонаблюдению, Wi-Fi, работе с камерой.
После отработки KingRoot мне показалось, что в системе остались еще какие-то приложения, которые просто лишние на камере видеонаблюдения. Тем более что постоянно мне вылезало предложение принять лицензионное соглашение от LG. Пришлось дополнительно воспользоваться Root Uninstaller и вынести все, что хоть мало-мальски вызывает подозрения. В процессе удаления ненужных приложений важно неперусердствовать, иначе придется делать сброс телефона еще раз.
Шаг 3. Дополнительное программное обеспечение.
Поскольку подразумевается, что камера наблюдения обычно устанавливается на некой недоступной дистанции, то ей нужно иметь возможность как-то удаленно управлять. Телефон, превращенный в камеру, этому не исключение. Для удаленного управления, не полного, но хотя бы частичного, я установил SSH сервер на телефон. Теперь, при помощи клиентского приложения можно удаленно подключиться к телефону и выполнять некоторые действия по его управлению.
SSH стандартно применяется для управления, конфигурирования и мониторинга серверов работающих под управлением операционных систем семейства Linux. Android близкий родственник для Linux, поэтому им можно совершенно равноправно управлять через подключение по SSH. Единственное, что нужно знать команды и приложения инфраструктуры Android. Он хоть и родственник Linux, но набор программ у них различный. SSH заработал немного замедленно, ощущается задержка между нажатием и реакцией телефона, но телефон удаленно выполняет мои команды, шелл работает.
Интерфейс SSH текстовой, работать с ним нужно через командную строку. Если отдавать таким образом команды телефону еще удобно, то для обычного ползанья по каталогам требуется какой-то оконный или панельный менеджер. Для Linux единственным распространенным вариантом такого менеджера принято считать Midnight Commander (MC). Именно MC я дополнительно и устанавливаю на телефон для большего удобства.
MC запущенный в SSH сессии на смартфоне
Ну и в качестве завершающего аккорда, для совсем запущенных случаев, когда телефон-камера устанавливается в месте с затрудненным обслуживанием, а иногда ему хорошо бы быть перезагруженным, я устанавливаю Tasker. Tasker не просто планировщик, а целая совокупность триггеров, позволяющая настроить множество действий по наступлению определенных событий. Но, в рамках реализации IP-камеры, мне достаточно настроить только регулярный рестарт телефона, что с легкостью осуществляется при помощи Tasker.
На практике, можно смело обойтись без всего этого дополнительного программного обеспечения, но с ним как-то надежнее.
После предварительной подготовки телефона к функции ведения видеонаблюдения можно, собственно, переходить и к организации самого процесса видеонаблюдения. Поступить тут можно тремя основными путями.
Путь 1. Используем облачное наблюдение.
На ниве облачного видеонаблюдения, где данные не хранятся локально или на камере, а где-то там, в облаке, присутствует несколько компаний, но я остановлюсь только на одной из них. iVideon есть, работает и функции свои выполняет. Больше о нем даже и сказать нечего. Двигаемся далее.
Путь 2. Используем профессиональное видеонаблюдение.
В качество PRO продукта я попробовал применить решение для платформы Android от компании FelenaSoft. Комплекс видеонаблюдения Xeoma легко устанавливается на телефон, запускается и даже работает. Тут считаю своим правом отметить, что Xeoma для Android ровно тот же продукт, что и для Windows или Linux. Установив Xeoma на свой телефон, вы получаете полноценную систему видеонаблюдения промышленного стандарта.
В этом есть свои плюсы. Так можно организовать использование встроенной камеры различными способами. Можно просто транслировать поток с камеры в стандарте RTSP в сеть. Можно передавать видеопоток на другую Xeoma, где будет происходить уже его обработка, определение движения и запись в архив. А можно напротив, детектировать движение прямо в телефоне, а записанные видео скидывать по FTP на сетевой ресурс. Ну и конечно, пользователю доступен вариант с использованием автономного видеонаблюдения, когда видеопоток по датчику движения, записывается прямо в телефон. Такой подход удобен тем, что телефон можно поставить где-то, где кроме электрической розетки больше ничего нет. А потом подключаться к нему по Wi-Fi и просматривать записанное видео. Ясно, что ввиду малого объема памяти в телефоне, видео писать стоит только по детектору движения.
Но в использовании такого комбайна «все в одном» на телефоне присутствуют и свои, весьма существенные, недостатки. Процессор, установленный в LG P715, достаточно мощный, дабы тянуть Xeoma, детектор движения и прочие финтифлюшки. А в условиях питания от стационарной сети, нас не особо интересует расход батареи. Но при работе процессор нагревается и катастрофически снижает свою производительность. Что приводит к полной невозможности использования Xeoma. Увы, нужно искать более легковесное решение либо заниматься моддингом охлаждения процессора в телефоне.
Путь 3. Организовать трансляцию RTSP потока с телефона.
Именно этот путь, впоследствии и был признан самым работоспособным вариантом для реализации функции видеонаблюдения на смартфоне. Для его осуществления необходимо установить на телефон программу, которая будет транслировать видео с камеры телефона в сеть по стандарту RTSP. Таких программ существует множество, но мне по душе пришлась IP Webcam. Программа, с одной стороны, легковесна, не перегревает процессор, с другой стороны, делает то, что от нее требуется и даже больше.
Доступ к интерфейсу IP Webcam через браузер на компьютере
IP Webcam организует Web-сервер на телефоне, при помощи которого можно просматривать некоторую информацию с телефона, а заодно наблюдать то, что «видит» телефон. Увиденное можно записывать в видеофайл или же делать фотографии. В крайнем случае запись видеопотока можно делать и на сам телефон, а затем записанное с него забирать. Хотя я предпочитаю другой вариант, когда с телефона достаточно только трансляции потока. Сам поток уже обрабатывается полновесным решением, например, той же Xeoma или iSpy установленными на стационарных ПК. В интерфейсе программы есть несколько примеров по подключению к популярным системам видеонаблюдения.
Именно на таком варианте я и остановился. Возможно, что IP Webcam вообще лучшее решение для видеонаблюдения с телефона, поскольку функционал продукта как минимум впечатляет, а как максимум достоин искреннего восхищения.
При реализации проекта по созданию IP-камеры видеонаблюдения из обычного смартфона, у меня постоянно в голове роились мысли относительно целесообразности самой идеи реализации. С одной стороны — бесплатный телефон, который просто жалко выкидывать, поскольку он еще вполне работоспособный, с другой же некоторые ограничения этого агрегата, которые могут накладывать отпечаток негативного сценария использования.
Во-первых, подключение к сети мобильного телефона возможно только по Wi-Fi, а вариант подключения по мобильной сети не рассматриваем и вовсе. У разбираемой модели LG максимальная скорость подключения к локальной сети составляет всего 54 Мбит, что позволяет более-менее сносно пропихивать по беспроводному каналу связи видео в формате MJPEG с частотой кадров около 5 кадров в секунду и разрешением 800х600 точек или около того. С другой стороны, поднять выше разрешение не позволяет скромная производительность телефона, хотя он и способен записывать видео в формате FullHD, но там используются немного другие кодеки. Но даже при таком потоке за стуки прокачиваются гигабайты информации, мне удалось намерять около 35 гигабайт трафика с телефона в сеть.
Во-вторых, срок службы полученного устройства. В теории, электроника без движущихся частей не изнашивается. Но это только в теории, а на практике, все подвержено постепенному износу. По этой причине ручаться за длительный срок использования телефона в качестве камеры нельзя. Возможно, что он проработает в таком режиме 3–5 лет, но не более. Другим фактором надежности является литиевая батарея, которой укомплектован смартфон. Срок ее использования и того меньше, чем срок телефона. Она способна запасать весьма немаленькие объемы энергии, а иногда возгораться или взрываться. Устройство, оставленное без присмотра со старой батареей, вызывает тревогу. Использовать телефон без батареи в большинстве случаев можно, но после любого отключения электропитания придется включать телефон руками.
В-третьих, практически ограниченное применение вне помещения. Использовать подобный аппарат без внешнего защитного кожуха на улице, я не рискнул бы. Очень велик риск преждевременного выхода его из строя из-за лишней влаги в корпусе. А вот воздействие просто отрицательной температуры, например, в зимний период, не принесет заметного изменения в работоспособность аппарата. Производители ограничивают температурные рамки использования телефонов по причине катастрофической потери емкости батареей при отрицательной температуре, с последующей неадекватной работой контроллера батареи, плюс ЖК экран просто не будет отображать информацию, когда все его жидкие кристаллы банально замерзнут. Впрочем, и то и другое не критично, если не пользоваться экраном, а он и не нужен и использовать маломощное зарядное устройство, которое не превысит опасные пределы зарядного тока.
Проект по созданию IP-камеры для видеонаблюдения из обычного смартфона вполне реализуем и работоспособен. Но не совсем целесообразен, лучше попытаться приспособить телефон под какие-либо другие задачи, например, на работу в качестве сенсорного экрана для системы типа умный дом. А заботы о видеонаблюдении лучше оставить специализированным решениям. Они с этой задачей справляются заметно лучше. И да, не стоит строить систему с передачей видео на основе сети Wi-Fi, лучше воспользоваться проверенным решением на основе Ethernet. И подводя итого: сделать IP Wi-Fi камеру из старого смартфона можно, но не нужно.
Краткая инструкция по подключению и использованию аппаратной камеры для Raspberry Pi Обратите внимание, что камера может быть повреждена статическим электричеством. Перед тем, как достать камеру рекомендуется дотронуться до заземлённого объекта (например до радиатора батареи отопления), чтобы снять заряд. Камера подсоединяется к плате при помощи гибкого шлейфа. Разъём для шлейфа находится между Ethernet и HDMI портами. Объектив камеры может быть закрыт прозрачной защитной плёнкой, перед использованием её нужно удалить.
Включаем поддержку камеры в Raspbian
Загрузите Raspberry Pi и осуществите вход в систему (по умолчанию имя пользователя - pi , пароль - raspberry ). В терминале выполните команды для обновления дистрибутива Raspbian до последний версии: sudo apt-get update
sudo apt-get upgrade
Далее командой sudo raspi-config запускаем программу настройки и в строке меню camera выбираем enabled , после чего перезагружаем RPi.
Программное обеспечение для работы с камерой
raspivid консольное приложение для записи видео с камеры.
raspistill приложения для получения изображений с камеры параметры -o или –output определяют имя выходного файла -t или –timeout длительность записи видео (по умолчанию 5 секунд) -d или –demo запись в режиме демонстрации возможностей. Будут использованы все возможные эффекты
Примеры: raspistill -o image.jpg - захват изображения в .jpg формате
raspivid -o video.h264 - захват 5-ти секундного видео в формате h264
raspivid -o video.h264 -t 10000 - захват 10-ти секундного видео в формате h264
raspivid -o video.h264 -t 10000 -d - захват 10-ти секундного видео в формате h264 в режиме демонстрации возможностей
Посмотреть все возможные параметры для приложений raspivid и raspistill можно следующим образом:raspivid | less, raspistill | less
Используйте курсор для перемещения по списку или введите "q" для выходаПодробное описание параметров для программного обеспечения камеры можно найтитут
Передача потокового видео по сети
Для передачи видео выполняем на Raspberry Pi команду
raspivid -t 999999 -o - | nc [IP адрес клиента] 5001
Для просмотра видео на клиенте необходимо установить mplayer и netcat и запустить их следующим образом nc -l -p 5001 | mplayer -fps 31 -cache 1024 для Linux
для Windows [путь к nc.exe]\nc.exe -L -p 5001 | [путь к mplayer.exe]\mplayer.exe -fps 31 -cache 102
Модули камер подключаются напрямую к видеочипу VideoCore одноплатных компьютеров Raspberry Pi и экономят системные ресурсы малинки, при этом USB-порты остаются свободными для другой периферии.
Модели камер для Raspberry Pi
Подключение камеры
Камеры чувствительны к статическому электричеству. Перед работой с модулем, устраните свой заряд — например прикоснитесь к домашней водопроводной трубе.
Для работы с камерой используйте подключение по HDMI. При работе через виртуальный рабочий стол (VNC) окно с захватом данных с камеры не отобразится.
Подключите камеру через FFC/FPC шлейф к Raspberry Pi в разъём CSI-2 : Зайдите в меню конфигурации параметров Raspberry Pi:Menu Preferences Raspberry Pi Configuration Перейдите на вкладку Interfaces , а затем переключите состояние пункта Camera из положения Disable в Enable . Сохраните изменения и перезагрузите Raspberry Pi.
На этом настройка камеры закончена и можно смело переходить к примерам работы.
Примеры работы через встроенные утилиты
Камера подключена и настроена — проверим её возможности. Для испытания воспользуемся встроенными утилитами raspistill и raspivid, которые служат для захвата фото и видео соответственно.
Все команды выполняйте во встроенном терминале.
Тест камеры
Исполните инструкцию захвата изображения.
На десять секунд на экране появится трансляция с камеры. Это значит, что камерный модуль исправен и готов к работе.
Снимок фото
Попробуйте сделать снимок камеры и сохранить полученную фотографию.
Не уменьшайте время включения модуля менее двух секунд — камере необходима пауза между включением и выполнением снимка. За это время модуль автоматически скорректирует баланс белого и экспозицию.
Выполните команду захвата изображения и сохранения в файл на рабочем столе с именем image-example.jpg .
В результате на рабочем столе появится файл фотографии с камеры.
Запись видео
Используйте модуль в режиме видеокамеры — снимите минутный ролик и сохраните его с именем video-example.h264 .
После минутного ожидания, на рабочем столе появится видеофайл с камеры. Для просмотра ролика используйте встроенный плеер.
Более подробно про встроенные утилиты для работы с камерой читайте в документации от производителя.
Примеры работы через Python
Проведите эксперименты с камерой через интегрированную среду разработки Python3. Вы можете запускать примеры через встроенный терминал или графическую оболочку Python IDLE.
Тест камеры
Для начала протестируйте видоискатель камеры.
На десять секунд на экране появится изображение с камеры.
Это значит, что камерный модуль исправен и готов к работе.
Снимок фото
Попробуйте сделать снимок камеры и сохранить полученную фотографию.
Не уменьшайте время включения модуля менее двух секунд — камере необходима пауза между включением и выполнением снимка. За это время модуль автоматически скорректирует баланс белого и экспозицию.
В результате на рабочем столе появится файл фотографии с камеры.
Запись видео
Используйте модуль в режиме видеокамеры — снимите минутный ролик и сохраните его на рабочий стол.
После минутного ожидания, на рабочем столе появится видеофайл с камеры. Для просмотра ролика используйте встроенный плеер.
В этой статье мы расскажем вам как подключить внешнюю камеру к Raspberry Pi. А также как, написав небольшую программу на Python, делать фотографии, снимать видео и применять графические фильтры к изображениям.
- Как правильно подключить камеру к Raspberry Pi;
- Как управлять камерой с помощью Python;
- Как использовать start_preview() и stop_preview() для вывода изображения с камеры;
- Как делать фотографии с помощью команды capture();
- Как записывать видео с помощью start_recording() и stop_recording();
- Как просматривать видео в программе omxplayer;
- Как изменять яркость и контраст на фотографиях, а также примернять визуальные эффекты.
Для повторения примеров из статьи вам понадобится камера "Camera Module" и одна из моделей Raspberry Pi.
Вот так выглядит модуль камеры для Raspberry Pi, приступим к подключению.
Подключение
Первым делом отсоедините питание от Raspberry Pi, найдите на плате порт для подключения камеры и аккуратно потяните его вверх за боковые выступы. Верхняя часть разъема поднимется примерно на 2 миллиметра и немного отойдет в сторону.
Опустите край кабеля от камеры в открывшийся разъем так, чтобы синяя метка была со стороны аудио разъёма, а контакты смотрели на HDMI разъём.
Аккуратно надавите на крышку разъёма для камеры и она закроется обратно. После подключения всё должно выглядеть как на фото:
Подключите питание, монитор, клавиатуру и мышка к Raspberry Pi и дождитесь пока система полностью загрузится. Из верхнего меню откройте основные настройки системы:
В появившемся окне перейдите во вкладку "Interfaces", выберите "Enabled" в строчке Camera и нажмите кнопку OK. После включения камеры система попросит ее перезагрузить. Перезагрузите систему. Теперь камера подключена, попробуем с ней поработать.
Просмотр изображения с камеры
Для начала работы с камерой вам необходимо запустить приложение Python 3.
В открывшемся окне в меню выберите "New File" и скопируйте в него следующий код:
from picamera import PiCamera
from time import sleep
camera.start_preview()
sleep(10)
camera.stop_preview()
В начале этого примера мы подключаем библиотеки, необходимые для работы с камерой и временем, потом запускаем превью и через 10 секнд выключаем его.
В меню выберите "Save" (или нажмите Ctrl+S) и сохраните файл с именем camera.py в домашнюю директорию вашего пользователя (т.е. просто в ту папку, которую вам прелагает система).
Для запуска программы нажимаем F5. Появится новое окно, в котором в течении следующих 10 секунд будет показано изображение с камеры. Если вы будете вращать камерой, то изображение будет двигаться. Получится примерно так:
Обратите внимание на то, что изображение с камеры будет показываться на экране только если вы подключили монитор. Если вы работает удаленно через SSH или VNC, тогда вы его не увидите.
Вы можете поворачивать изображение с камеры на 90, 180 и 270 градусов. Если вам необходимо повернуть изображени, например, на 180 градусов, то перед запуском превью укажите camera.rotation = 180.
camera.rotation = 180
camera.start_preview()
sleep(10)
camera.stop_preview()
Также вы можете установить прозрачность картинки командой camera.start_preview(alpha=200). Переменная alpha обозначает степень прозрачности и может быть от 0 дл 255.
Делаем первую фотографию
Для того, чтобы сделать фотографию вам необходимо воспользоваться командой camera.capture(). Немного измените код программы:
Теперь ваша программа запускает превью, ждет 5 секунд, делает фото, сохраняет его на рабочий стол и закрывает превью. Между включением превью и захватом изображения нам необходимо подождать хотя бы 2 секунды, чтобы камера успела настроить уровень освещенности.
Сохраняете изменения и запускаете программу, нажав F5. На экране появится превью, а через 5 секунд на рабочам столе появится файл image.jpg с вайшей фотографией. Дважды кликните по картинке и она откроется!
Теперь добавьте в программу цикл и запустите ее. Она откроет превью, сделает 5 фотографий с интервалом в 5 секунд и закроет превью.
На рабочем столе появится 5 фотографий. В этом цикле переменная i менялась от 0 до 4, поэтому название первой фотографии будет image0.jpg.
Записываем видео
Для съёмки видео мы будем использовать команды начала и конца записи start_recording() and stop_recording(). Немного измените нашу программу:
Запустите код кнопкой F5. Программа запустит превью и начнет записывать видео. Через 10 секунд видео закончится и будет сохранено в файл video.h264 в корневую папку вашего пользователя /home/pi/. Для просмотра видео воспользуйтесь программой omxplayer.
Откройте программу Терминал, нажав на иконку в верхнем меню:
По-умолчанию терминал открывается с локацией в домашней директории пользователя, поэтому для запуска видео вы можете просто ввести следующую команду и нажать Enter:
Откроется окно проигрывателя. Скорее всего видео будет проигрываться с более высокой скоростью, чем оно было записано, т.к. omxplayer использует большую частоту кадров.
Эффекты
Библиотека picamera для Python позволяет использовать большое количество настроект и фильтров, которые могут быть применены как к превью, так и к самой фотографии. Рассмотрим основные из них:
1. Изменение разрешения
По-умолчанию фотография делается такого разрешения, которое настроено на вашем мониторе, но вы можете его изменить с помощью команды camera.resolution(). Минимальное допустимое разрешение фотографий 64x64, а максимальное 2592x1944. Для видео оно составляет 1920x1080. Для использования максимального разрешения также необходимо будет уменьшить частоту кадров до 15 с помощью команды camera.framerate(). Для того чтобы сделать фотографию с максимальным разрешением добавьте следующие строчки перед запуском превью:
camera.resolution = (2592, 1944)
camera.framerate = 15
2. Добавление текста
Вы можете легко добавить поясняющий текст на фотографию, для этого используйте следующую команду после старта превью:
camera.annotate_text = "Hello world!"
Текст появится в верхней части фотографии. Для изменеия размера текста используйте команду camera.annotate_text_size. Размер текста можно изменять от 6 до 160, по-умолчанию используется 32.
Вы можете изменить цвет текста и фона за текстом. Для этого необходимо будет кроме PiCamera также импортировать Color
from picamera import PiCamera, Color
Для того, чтобы вывести желтый текст на синем фоне перед camera.annotate_text укажите следующий код:
3. Настройка яркости и контраста
Вы можете настроить яркость на фотографии, установив ее от 0 до 100. По-умолчанию используется 50. Если вы хотите установить яркость, например, равной 70, то укажите следующий код после старта превью:
Для установки контраста используйте команду camera.contrast.
4. Визуальные эффекты
Вы можете использовать camera.image_effect для наложения большого числа различных визуальных эффетов: negative, solarize, sketch, denoise, emboss, oilpaint, hatch, gpen, pastel, watercolor, film, blur, saturation, colorswap, washedout, posterise, colorpoint, colorbalance, cartoon, deinterlace1, deinterlace2, none.
camera.start_preview()
for effect in camera.IMAGE_EFFECTS:
camera.image_effect = effect
camera.annotate_text = "Effect: %s" % effect
sleep(5)
camera.stop_preview()
В результате вы получите примерно вот такой набор изображений с фильтрами:
5. Баланс белого
Для регулировки баланса белого вы можете использовать команду camera.awb_mode и выбрать один из нескольких режимов: off, auto, sunlight, cloudy, shade, tungsten, fluorescent, incandescent, flash и horizon. По-умолчанию используется режим auto. Например, для режима sunlight вам необходимо добавить следующий код после начала превью:
6. Экспозиция
Для выбора режима экспозиции воспользуйтесь командой camera.exposure_mode и выберите один из возможных режимов: off, auto, night, nightpreview, backlight, spotlight, sports, snow, beach, verylong, fixedfps, antishake и fireworks.
Полный список список функций и возможностей библиотеки picamera вы можете найти на официальном сайте.
Попробуйте сделать фотографии в разных режимах с применение различных фильтров. Это очень просто! В следующих статьях мы расскажем вам как сделать фотобудку для друзей или аппарат для съёмки мультиков!
Для Raspberry Pi доступно множество аксессуаров, но одним из самых популярных является модуль камеры. Но как вы можете безопасно подключить один, а затем получить лучшее из этого?
Если вы еще не пробовали фотографировать Raspberry Pi, сейчас самое время. Вот как начать работу с модулем камеры Raspberry Pi.
Настройка модуля камеры
У вас есть Raspberry Pi, и вы хотите начать работу с модулем камеры? Возможно, вы захотите сделать несколько покадровых фильмов или создать камеру для наблюдения за движением . Независимо от вашего проекта, если вам требуется камера, лучшим вариантом является официальный модуль камеры. Установка проста и требует от вас:
- Подключите модуль камеры: ленточный кабель соединяет камеру с Raspberry Pi.
- Включить камеру: это можно сделать на экране конфигурации.
- Надежно установите модуль камеры: необходим подходящий чехол.
- Сделайте снимок: используйте простую инструкцию командной строки.
Однако прежде чем начать, вам нужно убедиться, что у вас есть все, что вам нужно. Модуль камеры Raspberry Pi v2 можно приобрести на Amazon.
Что вам нужно
Для достижения наилучших результатов соберите следующее:
- Raspberry Pi (подойдет любая модель, хотя для Raspberry Pi Zero требуется другой ленточный кабель)
- Raspberry Pi Модуль камеры
- карта microSD с установленной Raspbian (можно использовать другие дистрибутивы Raspberry Pi)
- Кабель Ethernet / ключ Wi-Fi, где требуется
- USB-клавиатура
- Подходит для Raspberry Pi (см. Ниже)
- Надежный источник питания (адаптер или портативное решение)
Собрав эти предметы, вам не понадобится много времени, чтобы подключить модуль Raspberry Pi Camera Camera к Pi и начать снимать фотографии. Прежде чем начать, убедитесь, что вы установили последнюю версию Raspbian последней версии на вашей карте microSD.
Официальный модуль камеры Raspberry Pi
Различные версии официального модуля камеры для Raspberry Pi были выпущены за эти годы. По состоянию на 2018 год доступна версия 2.0, поставляемая в двух вариантах.
Стандартный модуль камеры Raspberry Pi: это опция по умолчанию, которую вы, вероятно, выберете для стандартных фотографий. Цветопередача этой 5-мегапиксельной камеры удивительно хороша для сравнительно недорогой камеры.
NoIR Raspberry Pi Camera Module: вариант NoIR поставляется без ИК-фильтра, отсюда и название. Это делает его лучше для ночных съемок, хотя источник света полезен.
Подключение модуля камеры
Распаковав модуль камеры, вы обнаружите, что он поставляется с ленточным кабелем. Обычно он уже подключен к самой камере (хотя и не всегда) и подключается к Raspberry Pi через разъем ленточного кабеля.
Перед подключением камеры к Raspberry Pi обязательно примите антистатические меры предосторожности. Это позволит избежать случайного повреждения устройства статическим электричеством. Вы также должны сначала найти разъем для подключения камеры на Raspberry Pi.
- Raspberry Pi B: между портом Ethernet и разъемом HDMI.
- Raspberry Pi B +, 2, 3, 3 B + (в чем разница? ): Между разъемом TRRS / AV и разъемом HDMI.
- Raspberry Pi Zero: по короткому краю напротив слота microSD.
Затем убедитесь, что кабель подключен к камере. Как только это будет сделано, пришло время аккуратно открыть разъем разъема, убедившись, что маленький Т-образный пластик ослаблен. Вставьте ленту на место серебряной стороной к разъему HDMI.
Вставив ленту, осторожно прижмите пластик к месту, чтобы закрепить его.
Подключение модуля камеры и Raspberry Pi Zero
Если вы используете Raspberry Pi Zero, все немного по-другому.
На этом меньшем Raspberry Pi соединительный порт меньше, поэтому требуется другой ленточный кабель. Убедитесь, что серебряные контакты направлены вверх; они слот под Т-образный зажим. Это может быть немного неудобно с более узким ленточным кабелем.
Вы можете заказать подходящий кабель от Amazon. Также обратите внимание, что вы можете найти кабели разной длины, которые могут оказаться полезными для вашего проекта.
Включение и включение модуля камеры
При подключенной камере самое время загрузить Raspberry Pi. Независимо от того, подключены ли вы напрямую к телевизору или монитору, или вы используете SSH для удаленного доступа к компьютеру. вам нужно открыть экран конфигурации Raspberry Pi. В среде рабочего стола Raspbian PIXEL вы найдете это в меню настроек.
Однако вы можете предпочесть использовать командную строку и ввести:
Какой бы метод вы ни использовали, найдите « Параметры сопряжения»> «Камера» и выберите « Да» . Вам будет предложено перезагрузить Raspberry Pi, так что сделайте это и подождите, пока он перезагрузится.
Установка камеры в чехол Raspberry Pi
Для модуля камеры Raspberry Pi доступно множество вариантов монтажа. Например, вы можете просто использовать клейкую замазку, хотя это довольно грязный вариант. Вероятно, лучшее решение — это найти чехол с точкой крепления для модуля камеры.
Вот три хороших варианта:
1. Чехол и корпус SmartPi
SmartPi — совместимый с Lego чехол для Raspberry Pi B +, 2 и 3 — один из лучших вариантов для корпуса Raspberry Pi и корпуса модуля камеры на Amazon. В то время как в корпусе предусмотрены опции для настенного монтажа и пластины Lego, камера Корпус модуля может быть установлен на самом корпусе. Существует также GoPro-совместимый монтажный разъем.
2. Smarticase Камера Корпус
Если у вас уже есть чехол SmartPi, то имеет смысл приобрести корпус модуля камеры Smarticase самостоятельно у Amazon. Имея отверстия для привинчивания корпуса к поверхности, он также совместим с «строительным блоком» для установки на SmartPi или на любой Lego, который у вас может быть.
3. Keyestudio Черный чехол
Для полного решения кейса, идеального для Raspberry Pi B +, 2 и 3, взгляните на этот доступный кейс на Amazon . Корпус Keyestudio оснащен монтажными опорами для модуля камеры Raspberry Pi, что позволяет вам использовать весь Pi в качестве монтируемого блока камеры.
Сфотографируясь с малиновым пи
К настоящему времени у вас должен быть Raspberry Pi, подключенный к включенному модулю камеры, и все вмонтировано в футляр. Теперь вы готовы сделать фотографию.
Откройте окно терминала и введите следующую простую команду:
Это тестовое фото можно найти в каталоге Pictures на рабочем столе Raspberry Pi. Другие команды возможны.
Например, если фотография перевернута, вы можете использовать флаги -vf и -hf, чтобы перевернуть вертикальную и горизонтальную оси.
Чтобы получить полный список команд для фотографирования, введите одну команду:
Вы даже можете записать видео!
Помимо фотосъемки модуль камеры Raspberry Pi может записывать видео. Опять же, вам нужно будет использовать правильную команду, на этот раз с помощью инструмента raspivid . Эта команда запишет видео в HD:
(Как и в случае с raspistill, вы можете использовать -vf и -hf при необходимости.)
Обратите внимание, что стандартная карта microSD может быть слишком маленькой для длительной видеозаписи (хотя, если вы подключили внешний накопитель , этого должно быть более чем достаточно). Таким образом, вы можете использовать флаг -t для ограничения времени записи, используя значение в миллисекундах:
Это запишет пять секунд отснятого материала.
Получайте удовольствие с вашим модулем Raspberry Pi Camera
Когда Raspberry Pi подключен к выбранной вами камере, вы готовы делать фотографии и записывать видео. Так что же дальше?
Ну, вы можете подключить термопринтер и создать мгновенную камеру в стиле Polaroid. Или вы можете использовать его в качестве камеры в вашей собственной студии анимации .
Выбор за вами. Дополнительные советы по настройке см. В нашем неофициальном руководстве по настройке руководство. руководство.
Читайте также: