Відеореєстратор на базі Raspberry Pi Zero W

You are currently viewing Відеореєстратор на базі 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 або навіть про автоматичної синхронізації даних при підключенні до домашньої мережі.

193130cookie-checkВідеореєстратор на базі Raspberry Pi Zero W

Автор публікації

Офлайн 1 тиждень

ViGo

Коментарі: 1Публікації: 1017Реєстрація: 29-04-2020
Если Вам понравилась статья, то поделитесь ею в соц.сетях:
guest
1 Комментарий
Самый новый
Самый старший Наибольшее количество голосов
Inline Feedbacks
View all comments
VINRARUS

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