Видеорегистратор на базе Raspberry Pi Zero W

В последнее время я экспериментировал с Raspberry Pi Zero W и получил огромное удовольствие от командной строки. Для непосвященных это крошечный компьютер Arm, на котором работает Raspbian, производная от Debian. Он имеет процессор с тактовой частотой 1 ГГц, который можно было разогнать, и 512 МБ оперативной памяти, в дополнение к беспроводной связи и Bluetooth.

Несколько недель назад я построил устройство для открывания гаражных ворот с видео и доступом из сеть. Я хотел сделать что-то немного другое и остановился на видеорегистраторе.

Я хотел, чтобы камера и Pi Zero W были установлены на приборной панели и легко снимались. При загрузке он должен автоматически запускать RamDashCam (RDC), а также должно быть 4 сценария рабочего стола dashcam.sh, startdashcam.sh, stopdashcam.sh, shutdownshutdown.sh. Также создал  папку с именем video на рабочем столе для видеофайлов. Мне также нужен был способ питания RDC, когда нет питания на USB-портах автомобиля. Наконец, я хотел, чтобы его данные были доступны в локальной сети, когда автомобиль находится дома.

Вот список запчастей:

  1. Комплект Raspberry Pi Zero W
  2. Официальная камера Raspberry Pi
  3. Карта Micro SD, минимум 32 гига
  4. Чехол созданный на 3d-принтере
  5. Портативное зарядное устройство, обычно используется для зарядки мобильных телефонов и планшетов в дороге.
  6. Двухсторонний скотч, который легко снимается, или полоски на липучке

Сначала я прошил SD-карту с помощью Raspbian, включил ее и сделал настройки. Я также установил статический IP-адрес.

Теперь самое интересное. Давайте создадим службу, чтобы мы могли запускать и останавливать RDC через systemd. Используя свой любимый редактор, перейдите к «/etc/systemd/system/» и создать «dashcam.service»  и добавьте следующее:

[Unit]
Description=dashcam service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=forking
Restart=on-failure
RestartSec=1
User=pi
WorkingDirectory=/home/pi/Desktop
ExecStart=/bin/bash /home/pi/Desktop/startdashcam.sh

[Install]
WantedBy=multi-user.target

Теперь, когда все готово, давайте включим службу, запустив следующую команду: sudo systemctl enable dashcam

Я добавил эти сценарии для запуска и остановки RDC на рабочем столе, чтобы  не пришлось долго возиться с меню или командной строкой. Не забудьте «chmod + x» и эти 4 сценария:

startdashcam.sh

#!/bin/bash

# remove files older than 3 days
find /home/pi/Desktopvideo -type f -iname '*.flv' -mtime +3 -exec rm {} ;

# start dashcam service
sudo systemctl start dashcam

stopdashcam.sh

#!/bin/bash

sudo systemctl stop dashcam.service

dashcam.sh

#!/bin/bash

# set variable form the date when=$(date)

# make sure dashcam.log is present touch dashcam.log

# mv the current video to the same name but with the date added  mv dashcam.flv $(date+%F-%H:%M).dashcam.flv

# log to dashcam.log every time the service is started echo "Started at: $when" >> dashcam.log

# record at 1024x760 with a Desktop preview window of 640x480, pipe to ffmpeg and output dashcam.flv raspivid -t 0 -w 1024 -h 760 -fps 25 -b 5000000 -p 0,0.640,480 -vf -o - | ffmpeg -i - -vcodec copy -an -f flv -r 25 -pix_fmt yuv420p dashcam.flv -y

shutdown.sh

#/bin/bash

sudo shutdown now

Теперь мы можем запустить сервис видеорегистратора:

sudo systemctl start dashcam

Затем я установил crontab для перезапуска RDC каждые 6 часов, так что это не одно непрерывное видео. Я установил crontab следующим образом:

0 */6 * * * /home/pi/Desktop/startdashcam.sh >/dev/null 2>&1

Итак, мы настроили все программное обеспечение. Просматривая thingiverse.com, я нашел идеальный чехол (https://www.thingiverse.com/thing:2797816). Он стоит вертикально на основании и может вместить Pi Zero W, камеру и достаточно места для радиатора. Я включил свой 3D-принтер и распечатал три детали. Получилось довольно красиво.

Следующим шагом я поместил Pi Zero W и камеру в корпус и установил их на автомобиле. Я прикрепил основание к приборной панели с помощью 2-х стороннего скотча. Затем я подключил Pi к USB-порту в автомобиле. Если у вас нет USB-порта или вы хотите запитать его от аккумулятора, можно использовать  портативное зарядное устройство. Я использовал Power-Bank, который имеет мощность 15000 мАч и будет поддерживать Pi Zero в рабочем состоянии не менее 12 часов.

Основной способ подключения — к дисплею с входами HDMI. Включите его и дождитесь загрузки рабочего стола, вы должны увидеть окно с видеозаписью. Чтобы остановить его, щелкните файл stopdashcam.sh. Затем щелкните сетевой интерфейс в правом верхнем углу, подключитесь к Wi-Fi и установите статический IP-адрес. Вот и все.

Теперь, когда вы припаркованы дома, вы можете получить доступ к своему RDC через sftp-клиент со своего телефона или планшета (Android / Admin Hands или iPhone / FTPManager), используя IP-адрес и пароль, которые вы установили на pi.

Он все еще нуждаются в улучшении. Подумайте о добавлении GPS или 5g или даже о автоматической синхронизации данных при подключении к домашней сети.

Поделитесь с друзьями

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

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
VINRARUS

Скільки RAM вільно при запису відео?
ПС: system:D явно не для таких речей…

1
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x