Поврзување аналогна камера со raspberry pi. Надзорен сервер кој користи Raspberry Pi. Создадете видео со тајмлапс

Да ги погледнеме методите за правилно поврзување на камерата со Raspberry Pi и работа со него преку терминалниот прозорец и користење на програмскиот јазик Python.
Поврзани материјали:,
Кога ја поврзувате камерата со Raspberry, запомнете го следново:
  • камерата се плаши од статички електрицитет, пожелно е да се допре за време на работата преку антистатички материјал
  • камерата троши 250 mA - кога користите просечно напојување Raspberry, поврзувањето на камерата може да предизвика недостаток на енергија кога камерата активно работи
  • камерата нема микрофон
  • Горниот дел на камерата се наоѓа на страната спротивна на излезот од кабелот, но има посебна команда за вертикално превртување на сликата - повеќе за тоа подолу.

Поврзување

Препорачливо е да ја поврзете камерата со исклучениот Raspberry. Можете брзо да го исклучите Raspberry со командата
sudo исклучување сега
Конекторот CSI daisy-chain се наоѓа веднаш до HDMI: Плус, поврзувањето камера преку овој конектор, за разлика од USB, го растовара процесорот при пренос на податоци преку интерфејсот CSI
За погодност за фиксирање на камерата, постои решенија со клуч на рака, на пример - Акрилен држач.
Интерфејсот на камерата мора да се активира во поставките за Raspberry:
По активирањето на камерата (ако е потребно), Raspberry треба да се рестартира: sudo reboot now
За да работите со камерата во Raspbian, потребните алатки и драјвери се веќе претходно инсталирани. Ажурирајте ги пакетите за да ги користите најновите верзии: sudo apt-get update -y sudo apt-get dist-upgrade -y Ако сè е направено правилно, обидете се да земете тест рамка од камерата - креирајте папка за фотографии, одете до неа и извршете ја командата за фотографирање: mkdir ~/pi_cam/ cd ~/pi_cam/ raspistill -v -o test.jpg
Во случај на дефект, треба да ги проверите претходните чекори или да ги заѕвоните игличките на конекторот на камерата и на Raspberry.
Raspbian OS доаѓа со следните пакети за работа со камерата:
  • raspivid, raspvidyuv - видео снимање
  • raspistill, raspiyuv - фотографирање
Целосен водич за наведените комунални услуги на англиски јазик е исклучен. Веб-страница на Raspberry Pi
Сите комунални услуги работат од терминалот и се прилично лесни за користење.
Пакетите со имиња што завршуваат на „yuv“ не користат компонента за кодирање - тие ги складираат „суровите“ необработени информации добиени од сензорот на камерата. Ајде да ја разгледаме работата со секој пакет, но прво ќе се запознаеме со списокот на параметри на камерата заеднички за сите пакети, а потоа ќе разгледаме конкретни аргументи и конкретни примеринивните апликации.

Заеднички параметри

Размислете за вредностите на параметрите. Вреди да се напомене дека:
  • Ако некој аргумент не е наведен при повикување на алатката, тогаш се применува неговата стандардна вредност.
  • АКО КОЛОНАТА „ОПЕГА НА ДОЗВОЛЕНИ ВРЕДНОСТИ“ Е ПРАЗНА, тогаш не треба да се пренесуваат дополнителни вредности - доволно е да се помине самиот аргумент.
  • Прегледот се прикажува само на физички монитор поврзан со Raspberry. Во случај на пристап до Raspberry преку далечинска работна површина (VNC), прегледот нема да се прикаже на ниедна поставка, бидејќи сликата за преглед се испраќа директно до мониторот преку остатокот од информациите
  • Слично на гледање видео преку работната површина
Аргумент
Опис
Прифатлив опсег
Стандардна вредност
-стр
Преглед на опции за прозорец
ширина, висина, х-координата, y-координата

Преглед на цел екран
бр
-n
Нема преглед
-op
Преглед на транспарентност на прозорецот
0...255
255

острина
-100...100
0
- ко
Контраст
-100...100
0
-бр
осветлување
0...100
50
-са
Заситеност
-100...100
0
- ISO
Чувствителноста на сензорот во камерата
-100...100
0
- наспроти
Видео стабилизација
(само видео)
бр
-ев
компензација на изложеност
-10...10
0
-пр
изложба
  • ноќе
  • ноќен преглед
  • позадинско осветлување: позадинско осветлување зад предметот
  • рефлектор: рефлектор
  • спорт: предмет во движење
  • снег: снежен пејзаж
  • плажа: пејзажи на плажа
  • многу долго: продолжено изложување
  • fixedfps: ограничете го FPS на фиксна вредност
  • антишејк: антишејк
  • огномет: пејзаж со огномет
автоматско
-awb
балансот на белата боја
  • сонце: 5000K...6500K - сончево
  • облак: 6500K ... 12000K
  • сенка: во сенка
  • волфрам: 2500K ... 3500K волфрам
  • флуоресцентни: 2500K ... 4500K
  • блескаво: топол метал
  • блиц: со блиц
  • хоризонтот
автоматско
-ifx
Различни ефекти
ниеден, негативен, соларизирање, постериза, табла, табла, скица, деноис, релјеф, маслена боја, отвор, gpen, пастел, акварел, филм, замаглување, заситеност, менување бои, бришење, боја, баланс на боја, цртан филм
ниеден
-cfx
Баланс на боја
0...255:0...255
128:128
- мм
Мерење на експозиција
  • просек: просечен
  • место: точка
  • позадинско осветлување: читање слика со позадинско осветлување
  • матрица: мерење со матрица
просек
- гниење
Свртете
0 ... 359
0
-hf
Превртете хоризонтално
бр
-vf
Рефлексија вертикално
бр
- рои
Сензор област на интерес
координати од горниот лев агол и ширината и висината на областа
0 … 1,0 … 1,0 … 1,0 … 1
0,0,1,1
-сс
Брзина на блендата
во микросекунди
6000000
-дрц
Компресија на динамички опсег
исклучен
- ул
покажуваат статистика
бр
Следно, разгледајте ги комуналните услуги одделно.


raspistill - фотографирање

Оваа алатка произведува кодирана компресирана слика и има неколку параметри кои се пренесуваат како аргументи кога се извршува raspistill за да се изврши оваа акција.

Аргументи

Аргумент
Опис
Прифатлив опсег
Стандардна вредност

Ширина
0...макс
Макс

Висина
0...макс
Макс

Квалитет
0...100
75

Име на датотека
патеката до датотеката
-
-v
Излез до терминалот
Информации за процесот на фаќање
бр

Одложување пред акција
во милисекунди
0
-тл
изминувањето на времето
пример: -tl 2000 -o слика%04d.jpg
2000 - интервал
%04d - шема со 4 цифри
-

Кодирање во форматирање
jpg, bmp, gif и png
jpg

Додавање EXIF ​​ознаки
до 32 ознаки
-

Складирање на Bayer Array во шифрирана слика мета-податоци
-

Примери

Размислете за конкретни примери за употреба на распистил:
Снимајте стандардна слика по 2 секунди и зачувајте ја во датотеката image.jpg (во папката каде што сте сега). Резолуцијата ќе биде стандардна (максимална) raspistill -t 2000 -o image.jpg Истата, но во 640x480 резолуција raspistill -o image.jpg -w 640 -h 480 (во папката каде што сте сега). Со овој квалитет, големината на сликата ќе биде значително помала raspistill -o image.jpg -q 5 Добијте слика кодирана во PNG формат и зачувајте ја во датотека image.png raspistill -o image.png –e png Добијте стандардна слика со две жичени EXIF ​​ознаки: Уметник - Борис, GPS надморска височина - 123,5 m raspistill -o image.jpg -x IFD0.Artist=Boris -x GPS.GPSAltitude=1235/10 Создава сет на слики што ќе бидат снимени во интервали од 10 секунди во текот на 10 минути (600.000 ms) и именувани како image_num_001_today.jpg, image_num_002_today.jpg и така натаму. Конечната слика ќе се вика last.jpg raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l latest.jpg Снимајте слики кога ќе го притиснете копчето Enter, датотеките ќе се зачуваат рамо до рамо и ќе се викаат my_pics01.jpg my_pics02. jpg итн. raspistill -t 0 -k -o my_pics%02d.jpg

распијув

Аргументите за лансирање се потполно исти како и за raspistill (види погоре), само следново НЕ се достапни:
-q - квалитет
-e - наведете цел формат на сликата
-x - Додадете EXIF ​​ознаки
-r Складирајте ја низата Bayer во мета податоците на кодираната слика
Сепак, постои СОПСТВЕН аргумент
-rgb - зачувување необработени податоци во формат RGB888 (8 бита/канал)

raspivid - снимање видео

Параметри за стартување

Аргумент
Опис
Прифатлив опсег
Стандардна вредност

Ширина
0...макс
1920

Висина
0...макс
1080

Брзина на битови на видеото
број на битови во секунда.
10 Mbits/s се дадени со -b 10000000

Име на датотека
патеката до датотеката
-
-v
Излез до терминалот
Информации за процесот на фаќање

Одложување пред акција
во милисекунди
0
-fps
Framerate
Број на слики во секунда 2...30

Започнете/стопирајте го снимањето со притискање на Enter
процесот се прекинува со притискање на „X“
-сг
Зачувување на видео сегменти со фиксна должина за одвојување датотеки
Времетраењето на еден сегмент и маската на датотеката се поставени
-sg 3000 -video%04d.h264
-вр
Ограничување на максималниот број на датотеки за време на сегментацијата
Применет со аргументот -sg и во суштина имплементира циклично презапишување како кај DVR-овите
Стандардна резолуција - 1080p (1920x1080)
Размислете за конкретни примери:
Снимање стандардно видео од 5 секунди (1920x1080, 30 fps) и зачувување во видеото.h264 датотека raspivid -t 5000 -o video.h264 file video.h264 raspivid -t 5000 -o video.h264 -b 3500000 Record 5 seconds видео со стандардна дефиниција со 5 fps и зачувајте во датотека видео.h264 raspivid -t 5000 -o video.h264 -f 5 Ако мониторот е поврзан со Raspberry преку HDMI, тогаш снименото видео може да се гледа со помош на omxplayer: sudo apt-get инсталирај omxplayer #ако плеерот не е веќе инсталиран omxplayer video.h264 Репродукцијата на видеото не е достапна преку VNC

Кодови за грешки

  • 0 - успешно завршување
  • 64 - Испратена неважечка команда (грешка во синтаксата)
  • 70 - грешка во алатката или при комуникација со камерата
  • 130 - извршувањето прекинато од корисникот (со кратенка на тастатура Ctrl + C)

Библиотека PiCamera

Ова е библиотека за програмскиот јазик Python која ви овозможува да ја поедноставите и автоматизирате работата со камерата Raspberry.
Целосен опис на библиотеката на англиски јазик
Во модерните верзии на дистрибуцијата Raspbian, библиотеката е веќе претходно инсталирана, можете да ја проверите преку пикамерата за увезување на python3 на конзолата на Python од кодот на Python, слично на командите за терминал дискутирани погоре. Можете лесно да добиете стандардна слика од камерата директно во конзолата на Python: увезете пикамера #увезете ја камерата на библиотеката на камерата = picamera.PiCamera() #креирајте објект на камера camera.capture("image.jpg") #повикајте го објектот на камерата метод на фотографирање камера .close() #затвори ја сесијата со камерата Сликата ќе биде зачувана како датотека image.jpg во тековната папка.

Пред две години, кога првпат започнав со мултикоптери, морав да направам мал . Бидејќи квадрокоптерот беше замислен како чисто автономен, сè што беше потребно од овој далечински управувач е да го контролира дронот за време на тестирањето и подесувањето.

Во принцип, далечинскиот управувач доста успешно се справи со сите задачи што му беа доделени. . Но, имаше и сериозни недостатоци.

  1. Батериите не се вклопуваа во куќиштето, па морав да ги залепам на куќиштето со електрична лента :)
  2. Поставувањето на параметарот беше извршено на четири потенциометри, кои се покажаа дека се многу чувствителни на температура. Во просторијата поставуваш некои вредности, излегуваш на улица - и тие се веќе различни, отплови.
  3. На Ардуино Нано, што го користев во далечинското, има само 8 аналогни влезови. Четири беа окупирани од потенциометри за подесување. Еден потенциометар служел како гас. Два влеза беа поврзани со џојстик. Само еден излез остана слободен и има многу повеќе параметри за конфигурирање.
  4. Единствениот џојстик воопшто не беше пилот. Контролирањето на гасот со потенциометар беше исто така доста депресивно.
  5. И далечинското не испушташе никакви звуци, што понекогаш е исклучително корисно.

За да ги отстранам сите овие недостатоци, решив радикално да го повторам далечинскиот управувач. И хардвер и софтвер. Еве што сакав да направам:

  • Направете голема футрола за да можете да ставите сè што сакате во него сега (вклучувајќи ги и батериите) и што сакате подоцна.
  • Некако решете го проблемот со поставките, а не со зголемување на бројот на потенциометри. Плус, додадете можност за зачувување на параметрите во конзолата.
  • Направете два џојстика, како на обичните пилот-конзоли. Па, ставете ги самите џојстици православни.

Нова зграда

Идејата е исклучително едноставна и ефикасна. Отсекуваме две чинии од плексиглас или друг тенок материјал и ги поврзуваме со лавици. Целата содржина на куќиштето е прикачена или на горната или на долната плоча.

Контроли и менија

За да контролирате еден куп параметри, или треба да поставите куп потенциометри на далечинскиот управувач и да додадете ADC или да ги направите сите поставки преку менито. Како што реков, подесувањето со потенциометри не е секогаш добра идеја, но не треба ниту да го одбиете. Така, беше одлучено да се остават четири потенциометри во далечинскиот управувач и да се додаде полноправно мени.

Копчињата обично се користат за навигација низ менито и промена на параметрите. Лево, десно, горе, долу. Но, сакав да користам енкодер наместо копчиња. Оваа идеја ја добив од контролер на 3D печатач.


Секако, поради додавањето на менито, шифрата на далечинскиот управувач се надува неколку пати. За почеток, додадов само три ставки од менито: „Телеметрија“, „Параметри“ и „Парами за складирање“. Првиот прозорец прикажува до осум различни индикатори. Досега користам само три: батерија, компас и надморска височина.

Шест параметри се достапни во вториот прозорец: коефициенти на PID контролер за X/Y,Z оски и агли за корекција на акцелерометарот.

Третата ставка ви овозможува да зачувате параметри во EEPROM.

Џојстици

Долго време не размислував за изборот на пилот-џојстици. Така се случи да го добив првиот џојстик Turnigy 9XR од колега во бизнисот со квадкоптери - Александар Василиев, сопственик на озлогласената страница alex-exe.ru. Вториот го нарачав директно од Хобикинг.


Првиот џојстик беше наполнет со пружина во двете координати - за контрола на скршнувањето и висината. Вториот го зедов истото, па го претворив во џојстик за контролирање на потисок и ротација.

Исхрана

Во стариот далечински управувач користев едноставен регулатор на напон LM7805 напојуван со куп од 8 AA батерии. Ужасно неефикасна опција, во која 7 волти отидоа да го загреат регулаторот. 8 батерии - затоа што имаше само таква преграда при рака, и LM7805 - затоа што во тоа време оваа опција ми се чинеше наједноставна, и што е најважно, најбрза.

Сега решив да бидам помудар и да ставам прилично ефикасен регулатор на LM2596S. И наместо 8 AA батерии, поставив преграда за две батерии LiIon 18650.


Резултат

Соединувајќи го сето тоа, добивме таков уред. Внатрешен поглед.


Еве го со затворен капак.


Нема доволно капа на еден потенциометар и капачиња на џојстиците.

Конечно, видео за тоа како се конфигурираат поставките преку менито.


Исход

Физички, далечинскиот управувач е склопен. Сега сум ангажиран во тоа што го финализирам кодот на далечинскиот управувач и квадрокоптерот за да го вратам нивното поранешно силно пријателство.

При поставувањето на далечинскиот управувач, констатирани се недостатоци. Прво, долните агли на далечинскиот управувач се потпираат на рацете: (Веројатно ќе ги редизајнирам малку плочите, ќе ги измазнам аглите. Второ, дури и дисплејот 16x4 не е доволен за убав излез на телеметрија - морам да го намалам параметарот Имиња на две букви Во следната верзија на уредот, ќе инсталирам приказ со точки или веднаш TFT матрица.


Компјутерот со една плоча Raspberry Pi ви овозможува да креирате навистина интересни и корисни работи: од мултимедијални центри до системи за домашна автоматизација. Со поврзување на различни модули со Raspberry Pi, можете многу да ја проширите функционалноста на овој миникомпјутер.



Еден таков изборен приклучок е камерата, која ви овозможува да фотографирате или видеа. Денес, на пазарот има голем број камери за Raspberry Pi, а во оваа статија ќе направиме краток преглед на нив.


Ајде да погледнеме во шест од најпопуларните камери: ZeroCam Noir, ZeroCam FishEye, Raspberry Pi компатибилна Fisheye Camera, Raspberry Pi Camera V2, Raspberry Pi Camera V2 Noir и Raspberry Pi Camera 1.3.



ZeroCam Noir е модул за камера за Raspberry Pi Zero или Raspberry Pi Zero W, па ако сакате да го користите во Raspberry Pi 3 или 2, треба да користите кабел за адаптер. Овој фотоапарат нема инфрацрвен филтер на објективот, па затоа е идеален за фотографирање при слаба осветленост. Еве некои од неговите главни карактеристики: сензор од 5 мегапиксели, 2592 × 1944 пиксели, 1080p на 30 FPS (или 60 FPS на 720p, 90 FPS на 480p), фокусна должина од 3,60 mm, 53,50 степени хоризонтално, 41,4 степени 1 степен. Димензии на таблата за камера: 60 ​​x 11,4 x 5,1 mm.



Ова е Fisheye верзијата на ZeroCam, што значи дека има слика со широк агол. Оваа камера е направена и за Pi Zero или Pi Zero W, така што ви треба кабел за адаптер за да го користите со друг Pi панел.



Ова е камера за рибино око компатибилна со Raspberry Pi која лесно може да се најде на различни онлајн пазари како AliExpress, TaoBao, eBay. Се одликува со широкоаголен поглед од 175º. Се базира на сензорот Omnivision 5647 со резолуција од 5 мегапиксели (2592 x 1944 пиксели).



Оваа камера е опремена со 8 мегапиксели Sony IMX219 сензор за слика со фиксен фокус, способен да прикажува фотографии од 3280 × 2464 пиксели, поддржува видео со резолуција 1080p30, 720p60 и 640 × 480p90. Камерата е компатибилна со сите Raspberry Pi плочи, но ако сакате да ја користите со Pi Zero, потребен ви е кабел за адаптер.



Оваа камера ги има сите карактеристики на модулот Raspberry Pi Camera V2, но нема инфрацрвен филтер. Ова значи дека е речиси совршена камера за ноќно снимање.



Raspberry Pi Camera 1.3 е претходник на модулот V2. Опремен е со сензор OmniVision OV5647 од 5 мегапиксели.

Споредба на видното поле и квалитетот на сликата на камерите за Raspberry Pi

Во овој тест, сите камери се поставени на растојание од 1 метар од сликата за тестирање. Резултатите се следни:











Споредба на квалитетот на сликата и репродукцијата на бојата на камерите за Raspberry Pi при зумирање











Споредба на квалитетот на снимањето ноќе

Резултатите подолу ја демонстрираат работата на неколку камери погодни за ноќно снимање, снимање на истите тест сликапри многу слаба светлина во темнина.







наоди

Сите камери работат малку подобро отколку што се очекуваше од таквите евтини модули. За жал, меѓу нив нема универзална камера и мора да направите компромис, бидејќи се чини дека нема широкоаголни ("рибни очи") камери со отстранет IR филтер. Значи, ако сакате широк агол, ќе ви треба нормално осветлување, и обратно, навечер веројатно нема да добиете широк агол.

Добро време од денот!

На новогодишната ноќ имав идеја да изградам некој вид видео надзор. Имав се што ми требаше при рака:

  • Raspberry Pi Model B Компјутер за една табла
  • LOGITECH HD веб-камера C270
Откако прочитав, решив малку да ја развијам идејата на авторот.
Запознавање
Значи, прво, да се запознаеме со главната „компонента“:
Изглед на Raspberry Pi:

Спецификации:

  • Процесор Broadcom BCM2835 700 MHz ARM1176JZFS со FPU и видео јадро 4 графички процесор
  • Графичкиот процесор обезбедува OpenGL ES 2.0, хардверски забрзан OpenVG и декодирање со висок профил 1080p30 H.264
  • GPU е способен за 1Gpixel/s, 1.5Gtexel/s или 24GFLOPs со филтрирање текстура и DMA инфраструктура
  • 512 MB RAM меморија
  • Чизми од SD-картичка, со верзија на оперативниот систем Линукс
  • 10/100 BaseT етернет приклучок
  • HDMI видео излез приклучок
  • 2 x USB 2.0 приклучоци
  • RCA композитен приклучок за видео излез
  • Приклучок за SD картичка
  • Се напојува од microUSB приклучок
  • Приклучок за аудио излез од 3,5 мм
  • Raspberry Pi HD конектор за видео камера
  • Големина: 85,6 x 53,98 x 17 mm
[заштитена е-пошта]~ $ cat /proc/cpuinfo процесор: 0 име на модел: ARMv6-компатибилен процесор rev 7 (v6l) BogoMIPS: 2.00 Карактеристики: swp half thumb fastmult vfp edsp java tls имплементатор на процесорот: 0x41 CPU архитектура: 7x0 процесорска варијанта: дел00 на процесорот: 0xb76 ревизија на процесорот: 7 Хардвер: BCM2708 Ревизија: 000e Сериски: 000000005a82c372

Може да се најде список на официјално поддржани дистрибуции. Се одлучив за Raspbian без графичка школка.

Процесот на инсталација е прилично едноставен и не бара Детален опис, па затоа ќе ги наведам главните факти на кои треба да обрнете внимание:

  1. Поставување на временската зона
  2. Поставување на името на компјутерот
  3. Овозможување SSH пристап
  4. Системско ажурирање
Откако ќе ги завршите сите потребни поставки, можете да продолжите.
Обука
Прво, да ги инсталираме сите потребни пакети:
sudo apt-get install imagemagick libav-tools libjpeg8-dev субверзија
Потоа преземете и изградете mpjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Бидејќи ќе ги складираме сите податоци во облакот, ќе поставиме работа со далечински управувач датотечен системод webdav:
sudo apt-get инсталирај davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi
За да не ги внесувате корисничкото име и лозинката секој пат, треба да ги додадете во датотеката
/etc/davfs2/secrets
/mnt/dav корисничка лозинка
Работниот процес
Додајте команди во /etc/rc.local за да го монтирате WebDAV и да ја стартувате скриптата за емитување на мрежата:
mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi cd /home/pi/mjpg-streamer && ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Сега, со одење на http://:8080/ ќе добиеме пристап до камерата. Останува само да се изврши пренасочување на портата на рутерот и можете да пристапите до камерата надвор од локалната мрежа.
Создадете видео со тајмлапс
Пред сè, треба да добиеме слика од камерата. Бидејќи таа е веќе направена (сликата ја емитува веб-серверот), тогаш ќе ја искористиме можноста да ја добиеме моменталната слика од веб-серверот:
навивам http://localhost:8080/?action=snapshot > out.jpg
Во случај да сакаме да го нацртаме датумот на снимката на сликата, можеме да ја користиме командата конвертирање
timestamp=`stat -c %y out.jpg` convert out.jpg -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" out_.jpg
Целосна верзијаскрипта:
#!/bin/bash име на датотека=$(perl -e "време за печатење") име на папка=$(датум --rfc-3339=датум) curl http://localhost:8080/?action=snapshot > $filename timestamp=` stat -c %y $filename` mkdir /mnt/dav/out/$foldername конвертира $filename -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" /mnt /dav /out/$foldername/$filename.jpg rm $име на датотека
Видеото е составено со помош на командата avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Целосна верзија на сценариото за видео склопување:
#!/bin/bash име на датотека=$(датум --rfc-3339=датум) i=0 за f во `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` направи newf=`printf %06d $i`.jpg ехо $f "-->" $newf mv $f $newf i=$((i+1)) направено rmdir -R /mnt/dav/out/$име на датотека/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filename.avi rm *.jpg
Сега останува само да се регистрира извршувањето на скриптите во распоредувачот Cron:
* * * * * пи баш /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Видео пример
Заклучок
Овој пристап помага да се ослободите од потребата да се троши многу време гледајќи видеа, а исто така ја намалува цената на финалниот производ. Поради присуството на полноправен ОС, станува возможно да се прошири функционалноста во вистинската насока.

Бидејќи овој компјутер има доволно перформанси за примање, складирање, обработка и пренос преку Wi-Fi, на други уреди, видео од камерата (на пример, од USB камера). Постојат специјални камери за Raspberry PI кои се поврзуваат со посебен конектор на него и USB камери кои се поврзуваат со било кој, УСБ влезна Raspberry Pi. Бидејќи USB-камерите, по правило, се многу поевтини од специјалните (иако полоши), тогаш дополнително ќе размислиме за користење на USB камера со Raspberry PI. Постојат голем број на програми за снимање видео од USB камера, или можете да напишете своја, но за едноставност, ајде прво да размислиме за снимање и пренос на видео со помош на програмата за движење. За да ја инсталирате програмата за движење на Raspberry PI, прво мора да се поврзете со неа преку програмата Putty (или која било друга терминална програма со можност за комуникација преку SSH) (за како да го направите ова, видете ја претходната статија „Распбери PI 3 конфигурирање и контролирање на GPIO преку WIFI"). Откако ќе се поврзете со Raspberry PI, треба да го ажурирате системот со командите

Sudo apt-get ажурирање

sudo apt-get надградба

По успешно ажурирање на системот, треба да ја инсталирате програмата за движење со командата

sudo apt-get инсталација движење

За време на инсталацијата, може да ви биде поставено прашањето "Дали сакате да продолжите?" по што ќе биде неопходно да се внесе буквата „Y“. Откако ќе ја инсталирате програмата за движење, ќе треба да направите некои промени во конфигурациските датотеки. Отворете ја датотеката motion.conf во нано уредникот со командата

судо нано /etc/motion/motion.conf

Потоа

Заменет од

Следно, наоѓаме други линии за промена, за ова ја притискаме комбинацијата на копчиња CTRL + W, внесуваме „stream_localhost“ и притиснете enter, потоа треба да се најде саканата линија, ако не е пронајдена, тогаш променливата „stream_localhost“ се нарекува нешто. друго, на пример „webcam_localhost“ или нешто слично. Откако ќе се најде линијата со оваа променлива, треба

Stream_localhost е вклучен

заменет со

Stream_maxrate 1

И заменете со

Stream_maxrate 100

Заменет од

Потоа

Минимум_време_рамка 0

Заменет од

Минимум_време_рамка 1

Последново е направено така што кадрите се прикажуваат еднаш во секунда - ова не изгледа многу добро, но видеото нема да исчезне кога сликата нагло ќе се промени. Целта на секоја променлива може да се прочита во коментарите.
Сега да ги зачуваме промените со притискање на CTRL+O и внесете, а потоа притиснете CTRL+X и излезете од нано уредникот. Сега ајде да уредиме друга датотека, за ова ќе ја внесеме командата

Судо нано /etc/default/motion

И заменете ја линијата

Start_motion_daemon=не

Start_motion_daemon=да

Потоа зачувајте ги промените со притискање на CTRL + O и внесете, а потоа притиснете CTRL + X и излезете од нано уредникот. Сега можете да го започнете преносот на видеото (USB камерата мора да биде поврзана на една од портите) со командата

почетокот на движењето на услугата sudo

Стоп команда

Судо услуга запре движење

За да го видите видеото, треба да го отворите прелистувачот и да ја внесете IP адресата на Raspberry PI во лентата за адреси, потоа да ставите две точки и 8081 (Raspberry PI IP адреса: 8081) и притиснете enter, по што видеото од USB камерата треба да се појави во прелистувачот. Погледнете како сето тоа е направено, погледнете го резултатот и уште нешто во видеото:

Како ова на едноставен начинможе да добиете видео од USB камера поврзана со Raspberry PI. Ако ова е Raspberry PI 3 со вграден Wi-Fi и се напојува од powerbank (или некој друг пренослив извор на енергија) (на пример, овој или поевтин, иако не се препорачува да се користи евтин, Raspberry PI треба нормален извор на енергија за да ги искористи сите негови можности, исто така е многу пожелно да се стави ладилник за процесорот и други микроциркути кои се загреваат за време на работата на Raspberry, идеално е ладилникот да биде бакар и обложен со специјална црна боја). тогаш врз основа на сето ова можете да направите некој вид на систем за видео надзор, видео камера или нешто слично.




Врв