Для реализции данного проекта нам понадобится:
Микроконтроллер raspberry pi http://ali.pub/2rwj05
Камера для raspberry pi http://ali.pub/2vzqlc еще больше тут: http://ali.pub/2vzq6r
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В вот этой статье я уже показывал как сделать тайм лапс камеру, но только сделал это на модуле Esp32-cam. Теперь же попробуем это сделать на микрокомпьютере raspberry pi, в моем случае будет raspberry pi zero. Для него будем использовать камеру pi camera ver. 1.3. У нее качество изображения будет получше чем на модуле esp32-cam.
Ну чтож приступим. Для начала нам понадобится установить операционную систему rasbian на флешку для raspberry pi. Как это сделать у меня описано в статье тут.
Далее подключим камеру в специальный разъем шлейфом. После этого подключимся к самому мини компьютеру по ssh и сделаем следующее:
Сначала нам нужно обновить систему до актуальной, для этого выполним 2 команды:
sudo apt-get update
sudo apt-get upgrade
Это займет какое-то время. После этого установим libav-tools он в дальнейшем нам понадобится:
sudo apt-get install libav-tools
После обновления запустим команду “sudo raspi-config” и у нас появится меню конфигурации, оно выглядит вот таким образом:
Нужно выбрать пункт “camera” в данном меню и выбрать “enable” . Все после этого камера будет включена и можно будет с ней работать.
Все после этого камера будет включена и можно будет с ней работать. Следующим пунктом давайте создадим скрипт который будет делать снимок 1 раз в 10 секунд, для этого нам нужно создать файл: sudo nano /home/pi/timelaps.py
В нем запишем следующий код
from picamera import PiCamera
from time import sleep
camera = PiCamera()
image_number = 0
while True:
sleep(10)
image_name = 'image{0:04d}.jpg'.format(image_number)
camera.capture(image_name)
image_number += 1
Важно! нужно соблюдать все табуляции и пробелы, иначе будет выдавать ошибку.
Чтоб сохранить данную программу в редакторе nano, нам нужно зажать Ctrl+X и согласиться с предложенными вопросами.
Теперь чтоб запустить наш скрипт, необходимо выполнить следующую команду:
sudo python3 /home/pi/timelaps.py
После этого программа начнет исполняться и делать снимок каждые 10 секунд, чтоб остановить съемку нужно будет нажать в терминале комбинацию клавиш Ctrl+C.
Снимки будут сохраняться тут: /root/
Если при вызове этой команды у Вас возникла ошибка наподобие такой “You can see I have picamera 1.13 already, but when I try test_image.py, it says “No module named ‘picamera'”.” То Вам нужно выполнить следующие команды для ее устранения:
sudo -H apt install python3-picamera sudo -H pip3 install --upgrade picamera[array]
После этого повторить снова командуsudo python3 /home/pi/timelaps.py
Чтоб изменить периодичность с которой будет делаться снимок, нужно поменять параметр sleep(10)
на свое значение.
После того как мы наделали нужное количество снимков, нам нужно их преобразовать в видео, для этого мы можем снимки сохранить на компьютер и уже там преобразовать снимки в видео, как описано в статье. Или мы можем сделать это прям средствами самой Малинки. Для этого перейдем в каталог где у нас сохранены снимки
Cd /root/
Ах да еще момент, нужно установить программу ffmpeg, для этого введем следующую программу:
sudo apt-get install ffmpeg
И введем следующую команду для сборки видео:
ffmpeg -r 60 -f image2 -i
image%04d.jpg
-vcodec libx264 -crf 10 -pix_fmt yuv420p timelapse.mp4
После этого начнет собираться наше видео из кадров сделанных камерой. У меня на raspberry pi zero видео собираемое из кадров сделанных за 5 часов, собиралось давольно долгою, всетаки мощностей маловато у малинки zero.
Нагляднее в видео: