Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом посте вы узнаете, как создать простую покадровую камеру с помощью Raspberry Pi. Разрешение, продолжительность и время можно легко обновить в скрипте. Мы создали нечто подобное, используя плату ESP32-CAM, но качество камеры Raspberry Pi намного лучше, и, следовательно, результаты также лучше, чем в предыдущей версии.
Видео выше дает вам обзор того, как все сочетается. Я бы рекомендовал сначала посмотреть его, чтобы лучше понять, как вы можете создать и настроить этот проект.
Шаг 1. Подготовьте Raspberry Pi
Вам не нужен дисплей для этого проекта, но я решил использовать его, чтобы показать вам, как работают скрипты. В этом примере я также буду использовать Raspberry Pi 3, но это будет работать с любым вариантом, поддерживающим использование камеры.
Первое, что вам нужно сделать, это загрузить образ Raspbian. Я использовал версию Raspbian Desktop, так как хотел бы получить доступ к рабочему столу Raspberry, чтобы показать вам файлы и тому подобное. Так что, если вы планируете использовать дисплей, я бы рекомендовал загрузить и его. Затем вам нужно прошить образ на подходящую карту microSD, и для этого я бы порекомендовал использовать Etcher. Я решил использовать Wi-Fi вместо Ethernet-соединения, а также решил подключиться к плате по SSH, чтобы управлять им. Вместо этого вы также можете подключить к Raspberry Pi клавиатуру и выполнять все команды прямо с терминала. Выбор остается за вами.
Если вы планируете использовать SSH через Wi-Fi, вам нужно будет создать файл с данными о сети. Вы можете скачать файл шаблона по ссылке ниже, чтобы начать работу. Просто откройте его с помощью текстового редактора, такого как notepad ++ или Sublime Text, а затем введите код своей страны, имя сети и пароль. После этого сохраните файл и скопируйте его на загрузочный диск Raspberry Pi. Чтобы включить SSH, вам просто нужно создать пустой файл с именем ssh и поместить его на загрузочный диск. Вам не нужно добавлять никаких расширений. После этого вы можете вставить карту microSD, все подключить и загрузить Raspberry Pi.
Файл шаблона WPA:
Как видно на видео, разрешение дисплея изначально было неправильным, и мне пришлось добавить правильную конфигурацию HDMI, чтобы заставить его работать. Это зависит от используемого вами дисплея, поэтому я не буду перечислять здесь утверждения, но вы можете обратиться к видео и изображению, если вам интересно.
Следующее, что нам нужно сделать, это открыть терминал на вашем компьютере и подключиться к плате по SSH, используя его IP-адрес. Вы можете использовать программное обеспечение, такое как сканер AngryIP, для получения IP-адреса платы. Затем откройте терминал и введите «ssh [email protected]», но не забудьте изменить IP-адрес, чтобы он совпадал с адресом вашей платы. Вам нужно будет ввести пароль, пароль по умолчанию - «малиновый». Затем нам нужно включить камеру, и это можно сделать, выполнив команду «sudo raspi-config». Параметр камеры указан в параметрах интерфейса, и после его включения вам придется перезагрузить плату.
Шаг 2. Протестируйте камеру и напишите сценарий
Перед тем, как писать сценарий, желательно убедиться, что камера работает. Для этого просто снова подключитесь к плате по SSH, а затем выполните команду «raspistill -o test.jpg». Это сделает снимок и сохранит его в текущем каталоге с именем test.jpg. Затем вы можете запустить команду «ls», чтобы проверить, создан ли файл. Выполнение команды «ls» выведет список всех файлов и папок, которые присутствуют в текущем каталоге. Если файл существует, вы можете быть уверены, что камера работает правильно.
Затем нам нужно написать сценарий, и это можно сделать, запустив команду «sudo nano time-lapse.sh», которая откроет текстовый редактор. Затем вам нужно ввести следующее, как показано на изображении:
#! / bin / bash
raspistill -t 20000 -tl 1000 -w 1920 -h 1080 -o /home/pi/images/img%05d.jpg
Это заставляет плату захватывать изображения непрерывно в течение 20 секунд (20000 мс) с интервалом в 1 секунду (1000 мс). Он также определяет разрешение 1920x1080, а также указывает место, где должны храниться изображения. «% 05d» указывает, что имена образов должны содержать в общей сложности 5 цифр с ведущими нулями. После этого просто сохраните файл, нажав «CTRL + X», затем «Y» и затем клавишу «Enter».
Затем нам нужно сделать исполняемый файл сценария, что можно сделать, выполнив команду «sudo chmod + x time-lapse.sh». Прежде чем мы сможем запустить скрипт, нам нужно создать каталог изображений, и это можно сделать, запустив «mkdir images». Затем вы можете протестировать скрипт, запустив команду «./time-lapse.sh». Доска затем запишет 20 изображений и сохранит их в папке изображений. Вы можете перейти в папку и запустить команду «ls» для просмотра файлов.
Затем мы должны автоматизировать сценарий для этого, мы будем использовать метод systemd, который мы использовали в предыдущем посте, где мы создали IP-камеру. Сначала нам нужно запустить следующую команду «sudo nano /etc/systemd/system/time-lapse.service», которая откроет текстовый редактор. Затем вам нужно ввести следующее, но я бы рекомендовал просто скопировать его.
[Ед. изм]
Описание = промежуток времени
После = multi-user.target
[Услуга]
Тип = простой
ExecStart = / home / pi / time-lapse.sh
Пользователь = пи
Рабочий каталог = / home / pi
Перезагрузка = при сбое
[Установить]
WantedBy = multi-user.target
Затем вам просто нужно сохранить файл, как и раньше, а затем включить службу, запустив sudo systemctl enable time-lapse.service. Затем мы просто перезагружаем файл. Как только доска загрузится, вы сможете увидеть, как она захватывает изображения и сохраняет их в нужном месте.
Шаг 3. Отредактируйте сценарий, чтобы захватить на неопределенный срок и сохранить на USB
В настоящее время скрипт захватывает изображения только в течение первых 20 секунд, и если нам нужно его отредактировать, чтобы он мог захватывать изображения на неопределенный срок. Для этого снова подключитесь по SSH к плате, затем остановите службу, запустив «sudo systemctl stop time-lapse.service». Затем откройте файл сценария, запустив «sudo nano time-lapse.sh». Передайте значение 0 флагу «-t», так как это заставит его захватывать изображения на неопределенный срок. Я также пошел дальше и отключил предварительный просмотр изображения, добавив флаг «-n», как это видно на изображении. Затем вам нужно сохранить сценарий и запустить его, запустив "sudo systemctl start time-lapse.service".
Вы также можете обновить место хранения на USB-накопителе. Сначала подключите USB-накопитель и откройте его в диспетчере файлов. Запишите местоположение, которое должно быть похоже на "/ media / pi / USB_DRIVE_NAME". Затем просто остановите службу, как указано выше, и откройте ее, чтобы отредактировать. Затем вы можете изменить место хранения. Убедитесь, что указанная вами папка существует, в противном случае просто создайте ее с помощью команды mkdir. После этого снова запустите скрипт и перезагрузите плату. Он будет захватывать и сохранять изображения в новом месте.
После получения изображений вы можете использовать несколько различных приложений для преобразования их в видео. Time Lapse Creator - одно из таких приложений, которое можно использовать.
Вот как легко создать покадровую камеру с помощью Raspberry Pi. Если вам понравился этот проект, то поддержите нас, подписавшись на наш канал на YouTube.
YouTube:
Спасибо за чтение.