Pripojenie analógového fotoaparátu k malinovému pi. Video monitorovací server využívajúci Raspberry Pi. Vytváranie časozberného videa
Pozrime sa na spôsoby, ako správne pripojiť fotoaparát k Raspberry Pi a pracovať s ním cez okno terminálu a pomocou programovacieho jazyka Python.Súvisiace materiály:
Pri pripájaní fotoaparátu k Raspberry pamätajte na nasledovné:
- Kamera sa bojí statickej elektriny, počas prevádzky je vhodné sa jej dotýkať cez antistatický materiál
- kamera spotrebuje 250 mA - pri použití priemerného zdroja Malina môže pripojenie kamery spôsobiť nedostatok energie, keď kamera aktívne pracuje
- vo fotoaparáte nie je mikrofón
- horná časť kamery je umiestnená na opačnej strane, než je výstup kábla, ale je tu špeciálny príkaz na vertikálne odrážanie obrazu – viac o tom nižšie.
Pripojenie
Kameru je vhodné pripojiť k vypnutému Raspberry. Raspberry môžete rýchlo vypnúť príkazomsudo vypnutie teraz
Konektor CSI daisy chain je umiestnený vedľa HDMI: Výhodou pripojenia kamery cez tento konektor na rozdiel od USB je odbremenenie procesora pri prenose dát cez rozhranie CSI
Pre ľahkú fixáciu kamery je tu hotové riešenia, napríklad - Akrylový držiak.
![](https://i2.wp.com/systop.ru/uploads/posts/2018-05/1527699779_vydelenie_298.png)
![](https://i0.wp.com/systop.ru/uploads/posts/2018-05/1527699865_vydelenie_300.png)
![](https://i2.wp.com/systop.ru/uploads/posts/2018-05/1527699957_vydelenie_301.png)
Pre prácu s kamerou má Raspbian už predinštalované potrebné utility a ovládače. Aktualizujme balíky, aby používali najnovšie verzie: sudo apt-get update -y sudo apt-get dist-upgrade -y Ak je všetko vykonané správne, skúsme získať testovací rám z fotoaparátu - vytvorte priečinok pre fotografie, prejdite k nemu a spustite príkaz na zachytenie obrázka: mkdir ~/pi_cam/ cd ~/pi_cam/ raspistill -v -o test.jpg
![](https://i0.wp.com/systop.ru/uploads/posts/2018-05/1527700014_vydelenie_302.png)
V operačnom systéme Raspbian sú predinštalované nasledujúce balíky na prácu s kamerou:
- raspivid, raspvidyuv - snímanie videa
- raspistill, raspiyuv - fotografovanie
Všetky nástroje sa spúšťajú z terminálu a ich použitie je celkom jednoduché.
Balíky s názvami končiacimi na „yuv“ nepoužívajú komponent kódovania – uchovávajú „surové“ nespracované informácie prijaté snímačom fotoaparátu. Pozrime sa na prácu s každým balíkom, no najprv sa zoznámime so zoznamom parametrov fotoaparátu spoločných pre všetky balíky a potom sa pozrieme na konkrétne argumenty a konkrétne príklady ich aplikácie.
Spoločné parametre
Pozrime sa na hodnoty parametrov. Stojí za zmienku, že:- Ak pri volaní pomocného programu nie je zadaný argument, použije sa jeho predvolená hodnota.
- AK JE STĹPEC „POVOLENÝ ROZSAH HODNOT“ PRÁZDNY, nie je potrebné zadávať žiadne ďalšie hodnoty – stačí odovzdať samotný argument.
- Náhľad sa zobrazuje iba na fyzickom monitore pripojenom k Raspberry. Ak pristupujete k Raspberry cez vzdialenú plochu (VNC), náhľad sa nezobrazí pri žiadnom nastavení, pretože náhľadový obrázok sa odošle priamo na monitor nad ostatnými informáciami.
- Podobne ako pri pozeraní videí cez plochu
Argument | Popis | Platný rozsah | Predvolená hodnota |
-p | Možnosti okna náhľadu | šírka, výška, x-ová súradnica, y-ová súradnica | |
-f | Ukážka na celú obrazovku | č |
|
-n | Žiadna ukážka | ||
-op | Priehľadnosť okna náhľadu | 0...255 | 255 |
-sh | Ostrosť | -100...100 | 0 |
-co | Kontrast | -100...100 | 0 |
-br | Osvetlenie | 0...100 | 50 |
-so | Sýtosť | -100...100 | 0 |
-ISO | Citlivosť snímača fotoaparátu | -100...100 | 0 |
-vs | Stabilizácia videa (iba video) | č |
|
-ev | Kompenzácia expozície | -10...10 | 0 |
-ex | Expozícia |
| auto |
-awb | vyváženie bielej |
| auto |
-ifx | Rôzne efekty | žiadny, negatívny, solarizácia, posterizácia, tabuľa, tabuľa, skica, odšumovať, embosovať, olejomaľba, šrafovanie, gpen, pastel, akvarel, film, rozostrenie, sýtosť, výmena farieb, vyblednutie, farebný bod, vyváženie farieb, karikatúra | žiadny |
-cfx | Vyváženie farieb | 0...255:0...255 | 128:128 |
-mm | Meranie expozície |
| priemer |
-hniloba | Otočte sa | 0 ... 359 | 0 |
-hf | Horizontálny odraz | Nie |
|
-vf | Vertikálny odraz | Nie |
|
-roi | ROI snímača | súradnice z ľavého horného rohu a šírka a výška oblasti 0 … 1,0 … 1,0 … 1,0 … 1 | 0,0,1,1 |
-ss | Rýchlosť uzávierky | v mikrosekundách | 6000000 |
-drc | Kompresia dynamického rozsahu | vypnuté |
|
-sv | zobraziť štatistiky | Nie |
raspistill - zachytenie fotografie
Tento nástroj vytvára zakódovaný komprimovaný obrázok a na vykonanie tejto akcie je pri spustení raspistill odovzdaných niekoľko parametrov ako argumenty.Argumenty
Argument | Popis | Platný rozsah | Predvolená hodnota |
-w | šírka | 0...max | Max |
-h | Výška | 0...max | Max |
-q | Kvalita | 0...100 | 75 |
-o | Názov súboru | cestu k súboru | - |
-v | Výstup na terminál | Informácie o procese zachytávania | č |
-t | Oneskorenie pred akciou | v milisekundách | 0 |
-tl | Časový odstup | príklad: -tl 2000 -o image%04d.jpg 2000 - interval %04d - 4-ciferný číselný vzor | - |
-e | Kódovanie do formátu | jpg, bmp, gif a png | jpg |
-X | Pridanie značiek EXIF | až 32 značiek | - |
-r | Uloženie poľa Bayer v metadátach kódovaného obrázka | - |
Príklady
Pozrime sa na konkrétne príklady použitia raspistillu:Nasnímajte štandardný obrázok po 2 sekundách a uložte ho do súboru image.jpg (v priečinku, v ktorom sa práve nachádzate). Rozlíšenie bude štandardné (maximálne) raspistill -t 2000 -o image.jpg To isté, ale v rozlíšení 640x480 raspistill -o image.jpg -w 640 -h 480 Zachytenie snímky so zníženou kvalitou o 5 % a uložte ho do súboru image.jpg (v priečinku, v ktorom sa práve nachádzate). Pri tejto kvalite bude veľkosť obrázka výrazne menšia raspistill -o image.jpg -q 5 Získanie obrázka zakódovaného vo formáte PNG a jeho uloženie do súboru image.png raspistill -o image.png –e png Získanie štandardného obrázka pomocou dva vložené EXIF tagy: Artist - Boris, GPS nadmorská výška - 123,5 m raspistill -o image.jpg -x IFD0.Artist=Boris -x GPS.GPSAltitude=1235/10 Vytvorenie časozbernej sady snímok, ktoré budú zachytené v intervaloch 10 sekúnd počas 10 minút (600 000 ms) a nazývajú sa číslo_obrázku_001_dnes.jpg, číslo_002_dnes.jpg atď. Finálny obrázok bude mať názov last.jpg raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l recent.jpg Nasnímajte obrázky, keď stlačíte Enter, súbory sa uložia vedľa seba a pomenujú sa my_pics01.jpg my_pics02. jpg atď. raspistill -t 0 -k -o my_pics%02d.jpg
raspiyuv
Argumenty spustenia sú úplne rovnaké ako argumenty raspistillu (pozri vyššie), z ktorých NIE SÚ DOSTUPNÉ iba nasledujúce:-q - kvalita
-e - určenie cieľového formátu obrázka
-x - Pridajte značky EXIF
-r - Uloží pole Bayer v meta dátach kódovaného obrázka
Existuje však VLASTNÝ argument
-rgb - ukladanie „surových“ nespracovaných údajov vo formáte RGB888 (8 bitov/kanál)
raspivid - snímanie videa
Parametre spustenia
Argument | Popis | Platný rozsah | Predvolená hodnota |
-w | šírka | 0...max | 1920 |
-h | Výška | 0...max | 1080 |
-b | Bitová rýchlosť videa | počet bitov za sekundu. Je nastavená rýchlosť 10 Mbit/s -b 10000000 | |
-o | Názov súboru | cestu k súboru | - |
-v | Výstup na terminál | Informácie o procese zachytávania | |
-t | Oneskorenie pred akciou | v milisekundách | 0 |
-fps | Snímok za sekundu | Počet snímok za sekundu 2...30 | |
-k | Nahrávanie spustíte/zastavíte stlačením klávesu Enter | proces sa preruší stlačením „X“ | |
-sg | Ukladanie segmentov videa s pevným trvaním do samostatných súborov | Nastavte trvanie jedného segmentu a masku súboru -sg 3000 -o video%04d.h264 | |
-wr | Obmedzenie maximálneho počtu súborov počas segmentácie | Používa sa s argumentom -sg a v podstate implementuje cyklické prepisovanie ako v DVR |
Pozrime sa na konkrétne príklady:
Nahrávanie 5-sekundového štandardného videa (1920 x 1080, 30 snímok/s) a ukladanie do súboru video.h264 raspivid -t 5000 -o video.h264 Nahrávanie 5-sekundového videa s rozlíšením 1080p a špecifickou bitovou rýchlosťou 3,5 Mbit /s a uloženie do súboru video.h264 raspivid -t 5000 -o video.h264 -b 3500000 Nahrajte 5 sekúnd videa v štandardnom rozlíšení pri snímkovej frekvencii 5 snímok za sekundu a uložte do súboru video.h264 raspivid -t 5000 -o video.h264 -f 5 Ak je k Raspberry pripojený monitor cez HDMI, nahraté video je možné prezerať pomocou prehrávača omxplayer: sudo apt-get install omxplayer #ak ešte nie je nainštalovaný prehrávač omxplayer video.h264 Prezeranie videa nie je dostupné cez VNC
Chybové kódy
- 0 - úspešné ukončenie
- 64 – odoslaný neplatný príkaz (chyba syntaxe)
- 70 - chyba v obslužnom programe alebo pri komunikácii s fotoaparátom
- 130 - vykonávanie bolo prerušené používateľom (kombinácia kláves Ctrl + C)
Knižnica PiCamera
Toto je knižnica pre programovací jazyk Python, ktorá vám umožní zjednodušiť a zautomatizovať prácu s kamerou RaspberryÚplný popis knižnice v angličtine
V moderných verziách distribúcie Raspbian je knižnica už predinštalovaná, môžete to skontrolovať pomocou pythonovej konzoly python3 import picamera V prípade zlyhania musíte konzolu opustiť zadaním príkazu exit() alebo pomocou Ctrl + Kombinácia klávesov D a inštalácia knižnice pomocou príkazu sudo apt-get install python3-picamera Práca s kamerou z kódu Python je podobná príkazom terminálu diskutovaným vyššie. Štandardný obrázok z kamery môžete jednoducho získať priamo v konzole Python: import picamera #import knižnice fotoaparátu camera = picamera.PiCamera() #vytvorenie objektu kamery camera.capture("image.jpg") #call obraz z kamery metóda snímania camera .close() #close the camera session Obrázok sa uloží do súboru image.jpg v aktuálnom priečinku.
Pred dvoma rokmi, keď som prvýkrát začal pracovať na multikoptérach, som si musel vyrobiť malú. Keďže kvadrokoptéra mala byť čisto autonómna, od tohto diaľkového ovládača sa vyžadovalo iba ovládanie dronu počas testovania a nastavovania.
Diaľkové ovládanie sa v zásade celkom úspešne vyrovnalo so všetkými úlohami, ktoré mu boli pridelené . Vyskytli sa však aj vážne nedostatky.
- Batérie sa do puzdra nezmestili, tak som ich musel prilepiť na puzdro elektrickou páskou :)
- Parametre sa nastavovali pomocou štyroch potenciometrov, ktoré sa ukázali ako veľmi citlivé na teplotu. Určité hodnoty nastavíte vo vnútri, idete von - a už sú iné, odplávali.
- U Arduino Nano, ktorý som použil v diaľkovom ovládači, je len 8 analógových vstupov. Štyri obsadili ladiace potenciometre. Jeden potenciometer slúžil ako plyn. K joysticku boli pripojené dva vstupy. Voľný zostal iba jeden výstup a na konfiguráciu bolo potrebné oveľa viac parametrov.
- Jediný joystick nebol vôbec pilotný. Dosť frustrujúce bolo aj ovládanie plynu potenciometrom.
- A diaľkové ovládanie nevydávalo žiadne zvuky, čo je niekedy mimoriadne užitočné.
Aby som odstránil všetky tieto nedostatky, rozhodol som sa radikálne prerobiť diaľkové ovládanie. Hardvérovú aj softvérovú časť. Tu je to, čo som chcel urobiť:
- Vyrobte si veľké puzdro, aby ste doň mohli napchať všetko, čo chcete teraz (vrátane batérií), a čo budete chcieť neskôr.
- Nejako vyriešiť problém s nastaveniami, nie zvýšením počtu potenciometrov. Navyše pridajte možnosť ukladať parametre do diaľkového ovládača.
- Vytvorte dva joysticky, ako na bežných pilotných konzolách. No, dajte joysticky sami ortodoxné.
Nová budova
Myšlienka je veľmi jednoduchá a efektívna. Z plexiskla alebo iného tenkého materiálu vystrihneme dva pláty a spojíme stojanmi. Celý obsah kufríka je pripevnený buď k hornej alebo spodnej doske.
Ovládacie prvky a ponuky
Ak chcete ovládať veľa parametrov, musíte buď umiestniť veľa potenciometrov na diaľkové ovládanie a pridať ADC, alebo vykonať všetky nastavenia prostredníctvom ponuky. Ako som už povedal, nastavovanie pomocou potenciometrov nie je vždy dobrý nápad, ale nemali by ste sa toho vzdať. Preto bolo rozhodnuté ponechať štyri potenciometre v diaľkovom ovládači a pridať kompletné menu.
Na navigáciu v ponuke a zmenu parametrov sa zvyčajne používajú tlačidlá. Doľava, doprava, hore, dole. Ale namiesto tlačidiel som chcel použiť kodér. Tento nápad som dostal z ovládača 3D tlačiarne.
Samozrejme, vďaka pridaniu menu sa kód diaľkového ovládača niekoľkonásobne rozšíril. Na začiatok som pridal iba tri položky ponuky: „Telemetria“, „Parametre“ a „Parametre obchodu“. Prvé okno zobrazuje až osem rôznych indikátorov. Zatiaľ používam len tri: napájanie z batérie, kompas a nadmorskú výšku.
V druhom okne je dostupných šesť parametrov: koeficienty PID regulátora pre osi X/Y, Z a korekčné uhly akcelerometra.
Tretia položka umožňuje uložiť parametre do EEPROM.
Joysticky
Nad výberom pilotných joystickov som dlho nepremýšľal. Stalo sa, že som dostal prvý joystick Turnigy 9XR od kolegu z kvadrokoptéry - Alexandra Vasilieva, majiteľa známej webovej stránky alex-exe.ru. Druhý som si objednal priamo z Hobbykingu.
Prvý joystick bol odpružený v oboch súradniciach - na ovládanie vybočenia a sklonu. Druhý, ktorý som vzal, bol rovnaký, aby som ho potom mohol premeniť na joystick na ovládanie trakcie a rotácie.
Výživa
V starom diaľkovom ovládači som použil jednoduchý regulátor napätia LM7805, ktorý bol napájaný zväzkom 8 AA batérií. Strašne neefektívna možnosť, v ktorej bolo vynaložených 7 voltov na ohrev regulátora. 8 batérií - pretože po ruke bola len taká priehradka a LM7805 - pretože v tom čase sa mi táto možnosť zdala najjednoduchšia a čo je najdôležitejšie, najrýchlejšia.
Teraz som sa rozhodol konať múdrejšie a nainštaloval som na LM2596S pomerne účinný regulátor. A namiesto 8 AA batérií som nainštaloval priehradku na dve LiIon 18650 batérie.
Výsledok
Keď sme dali všetko dokopy, dostali sme toto zariadenie. Vnútorný pohľad.
Ale so zatvoreným vekom.
Chýba čiapočka na jednom potenciometri a čiapočky na joystickoch.
Nakoniec video o tom, ako sa konfigurujú nastavenia prostredníctvom ponuky.
Spodná čiara
Diaľkové ovládanie je fyzicky zmontované. Teraz pracujem na dokončení kódu pre diaľkové ovládanie a kvadrokoptéru, aby som ich vrátil k ich bývalému silnému priateľstvu.
Pri nastavovaní diaľkového ovládača boli zistené nedostatky. Po prvé, spodné rohy diaľkového ovládača spočívajú vo vašich rukách: (Platničky asi trochu prerobím, vyhladím rohy. Po druhé, na krásny telemetrický displej mi nestačí ani 16x4 displej - musím skrátiť názvy parametrov na dve písmená.V ďalšej verzii zariadenia nainštalujem bodový displej , alebo hneď TFT maticu.
Jednodoskový počítač Raspberry Pi vám umožňuje vytvárať skutočne zaujímavé a užitočné veci: od multimediálnych centier až po systémy domácej automatizácie. Pripojením rôznych modulov k Raspberry Pi môžete výrazne rozšíriť funkčnosť tohto minipočítača.
Jedným z týchto doplnkových doplnkov je fotoaparát, ktorý vám umožňuje fotografovať alebo natáčať videá. Dnes je na trhu množstvo kamier pre Raspberry Pi a v tomto článku vám prinesieme ich krátku recenziu.
Pozrime sa na šesť najpopulárnejších kamier: ZeroCam Noir, ZeroCam FishEye, Raspberry Pi kompatibilná kamera Fisheye, Raspberry Pi Camera V2, Raspberry Pi Camera V2 Noir a Raspberry Pi Camera 1.3.
ZeroCam Noir je kamerový modul pre Raspberry Pi Zero alebo Raspberry Pi Zero W, takže ak ho chcete použiť v Raspberry Pi 3 alebo 2, budete musieť použiť adaptérový kábel. Tento fotoaparát nemá na objektíve IR filter, vďaka čomu je ideálny na fotografovanie pri slabom osvetlení. Tu sú niektoré z jeho hlavných charakteristík: 5 megapixelový snímač, 2592 × 1944 pixelov, 1080p pri 30 FPS (alebo 60 FPS pri 720p, 90 FPS pri 480p), ohnisková vzdialenosť 3,60 mm, 53,50 stupňov horizontálne, 41,41 stupňov vertikálne, cca. rozmery dosky s kamerou: 60 x 11,4 x 5,1 mm.
Toto je verzia ZeroCam s rybím okom, čo znamená, že má širokouhlý obraz. Táto kamera je vyrobená aj pre Pi Zero alebo Pi Zero W, takže na jej použitie s iným panelom Pi potrebujete adaptérový kábel.
Ide o kameru typu rybie oko kompatibilnú s Raspberry Pi, ktorú možno ľahko nájsť na rôznych online obchodných platformách, ako sú AliExpress, TaoBao, eBay. Vyznačuje sa širokouhlým záberom 175º. Jeho základom je snímač Omnivision 5647 s rozlíšením 5 megapixelov (2592 x 1944 pixelov).
Tento fotoaparát je vybavený 8-megapixelovým obrazovým snímačom Sony IMX219 s objektívom s pevnou ohniskovou vzdialenosťou, schopným zobraziť statické obrázky s rozlíšením 3280×2464 pixelov, podporuje videá v rozlíšení 1080p30, 720p60 a 640×480p90. Kamera je kompatibilná so všetkými doskami Raspberry Pi, no ak ju chcete používať s Pi Zero, potrebujete adaptérový kábel.
Táto kamera má všetky funkcie modulu Raspberry Pi Camera V2, ale nemá IR filter. To znamená, že je to takmer ideálny fotoaparát na snímanie v tme.
Raspberry Pi Camera 1.3 je predchodcom modulu V2. Je vybavený 5-megapixelovým snímačom OmniVision OV5647.
Porovnanie zorného poľa a kvality obrazu kamier pre Raspberry Pi
Pri tomto teste sú všetky kamery nainštalované vo vzdialenosti 1 meter od testovacieho obrazu. Výsledky sú nasledovné:
Porovnanie kvality obrazu a farebného podania kamier Raspberry Pi pri zoomovaní
Porovnanie kvality snímania v noci
Nižšie uvedené výsledky ukazujú, že niekoľko fotoaparátov pripravených na nočné fotografovanie robí to isté: skúšobný obrázok pri veľmi slabom osvetlení v tme.
závery
Všetky fotoaparáty fungujú o niečo lepšie, ako sa očakávalo od takýchto lacných modulov. Bohužiaľ medzi nimi nie je žiadna kamera typu všetko v jednom a je potrebné urobiť kompromis, pretože sa nezdá, že by existovali žiadne širokouhlé kamery (rybie oko) s odstráneným IR filtrom. Ak teda túžite po širokouhlom zábere, budete potrebovať pravidelné osvetlenie a naopak, v noci je nepravdepodobné, že by ste získali širokouhlé zábery.
Dobrý deň!
Na Silvestra som dostal nápad postaviť nejaký druh video sledovania. Mal som všetko, čo som potreboval:
- Jednodoskový počítač Raspberry Pi Model B
- Webkamera LOGITECH HD Webcam C270
Známosť
Najprv sa teda zoznámime s hlavným „komponentom“:Vzhľad Raspberry Pi:
Charakteristika:
- Procesor Broadcom BCM2835 700 MHz ARM1176JZFS s FPU a Videocore 4 GPU
- GPU poskytuje Open GL ES 2.0, hardvérovo akcelerované OpenVG a 1080p30 H.264 vysokoprofilové dekódovanie
- GPU je schopné 1Gpixel/s, 1.5Gtexel/s alebo 24GFLOPS s filtrovaním textúr a infraštruktúrou DMA
- 512 MB RAM
- Zavádza sa z karty SD s verziou operačného systému Linux
- Ethernetová zásuvka 10/100 BaseT
- HDMI výstupná zásuvka videa
- 2 x USB 2.0 zásuvky
- Výstup kompozitného videa RCA
- zásuvka na SD kartu
- Napájanie z microUSB zásuvky
- 3,5 mm audio výstup jack
- Konektor pre HD videokameru Raspberry Pi
- Veľkosť: 85,6 x 53,98 x 17 mm
Zoznam oficiálne podporovaných distribúcií nájdete. Rozhodol som sa pre Raspbian bez grafického shellu.
Proces inštalácie je pomerne jednoduchý a nevyžaduje Detailný popis, tak uvediem hlavné fakty, ktoré stoja za pozornosť:
- Nastavenie časového pásma
- Nastavenie názvu počítača
- Povolenie prístupu SSH
- Aktualizácia systému
Príprava
Najprv si nainštalujte všetky potrebné balíčky:sudo apt-get install imagemagick libav-tools libjpeg8-dev subversion
Potom si stiahnite a zostavte mjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Pretože Všetky dáta uložíme do cloudu, nastavíme prácu s diaľkovým systém súborov cez WebDAV:
sudo apt-get install davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi
Aby ste svoje používateľské meno a heslo nezadávali zakaždým, musíte ich pridať do súboru
/etc/davfs2/secrets
/mnt/dav heslo používateľa
Pracovný proces
Pridajme príkazy do /etc/rc.local na pripojenie WebDAV a spustenie skriptu na vysielanie do siete: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"
Teraz, keď prejdeme na http://:8080/, získame prístup k fotoaparátu. Ostáva už len preposlať port na routeri a ku kamere sa dostanete aj mimo lokálnej siete.
Vytváranie časozberného videa
V prvom rade musíme získať obraz z fotoaparátu. Pretože je už obsadený (obrázok je vysielaný webovým serverom), potom využijeme možnosť prijať aktuálny obrázok z webového servera:curl http://localhost:8080/?action=snapshot > out.jpg
Ak chceme na obrázok nakresliť dátum fotografie, tak môžeme použiť príkaz convert
timestamp=`stat -c %y out.jpg` convert out.jpg -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" out_.jpg
Plná verzia skript:
#!/bin/bash filename=$(perl -e "čas tlače") foldername=$(date --rfc-3339=date) curl http://localhost:8080/?action=snapshot > $filename timestamp=` stat -c %y $filename` mkdir /mnt/dav/out/$foldername convert $filename -fill black -fill white -pointsize 15 -draw "text 5.15 "$(timestamp:0:19)"" /mnt /dav /out/$foldername/$filename.jpg rm $filename
Video je zostavené pomocou príkazu avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Plná verzia skriptu zostavy videa:
#!/bin/bash filename=$(dátum --rfc-3339=dátum) i=0 pre f v `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` urobiť newf=`printf %06d $i`.jpg echo $f "-->" $newf mv $f $newf i=$((i+1)) hotovo rmdir -R /mnt/dav/out/$filename/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filename.avi rm *.jpg
Teraz už zostáva len zaregistrovať vykonávanie skriptov v plánovači Cron:
* * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Príklad videa
Záver
Tento prístup pomáha eliminovať potrebu tráviť veľa času sledovaním videí a tiež znižuje náklady na konečný produkt. Vďaka prítomnosti plnohodnotného operačného systému je možné rozšíriť funkčnosť správnym smerom.Pretože Tento počítač má dostatočný výkon na príjem, ukladanie, spracovanie a prenos videa z kamery (napríklad z USB kamery) cez wifi do iných zariadení. Existujú špeciálne kamery pre Raspberry PI, ktoré sa pripájajú k špeciálnemu konektoru na ňom a USB kamery, ktoré sa pripájajú k akémukoľvek USB vstup na Raspberry PI. Pretože USB kamery sú spravidla oveľa lacnejšie ako špeciálne (aj keď horšie), takže ďalej zvážime použitie USB kamery s Raspberry PI. Existuje množstvo programov na snímanie videa z USB kamery, prípadne si môžete napísať svoj vlastný, ale pre zjednodušenie sa najprv pozrime na snímanie a prenos videa pomocou programu pohybu. Ak chcete nainštalovať pohybový program na Raspberry PI, musíte sa k nemu najprv pripojiť cez program Putty (alebo akýkoľvek iný terminálový program s možnosťou komunikácie cez SSH) (informácie o tom, ako to urobiť, nájdete v predchádzajúcom článku „Raspberry PI 3 nastavenie a správa GPIO cez WIFI”). Po pripojení k Raspberry PI je potrebné aktualizovať systém pomocou príkazov
Aktualizácia sudo apt-get
Aktualizácia sudo apt-get
Po úspešnej aktualizácii systému je potrebné nainštalovať pohybový program s príkazom
Inštalačný pohyb Sudo apt-get
Počas inštalácie sa môže zobraziť otázka "Chcete pokračovať?" potom budete musieť zadať písmeno "Y". Po inštalácii pohybového programu budete musieť vykonať nejaké zmeny v konfiguračných súboroch. Pomocou príkazu otvorte súbor motion.conf v editore nano
Sudo nano /etc/motion/motion.conf
Potom
Nahradené
Ďalej nájdeme ďalšie riadky na zmenu, ak to chcete urobiť, stlačte kombináciu kláves CTRL + W, zadajte „stream_localhost“ a stlačte enter, potom by sa mal nájsť požadovaný riadok, ak sa nenájde, potom premenná „stream_localhost “ sa nazýva inak, napríklad „webcam_localhost“ alebo nejako podobne. Po nájdení riadku s touto premennou musíte
Stream_localhost je zapnutý
nahradené
Stream_maxrate 1
A nahradiť s
Stream_maxrate 100
Nahradené
Potom
Minimum_frame_time 0
Nahradené
Minimum_frame_time 1
To sa robí tak, že snímky sa vydávajú raz za sekundu - nevyzerá to veľmi dobre, ale video nezmizne, ak sa obraz náhle zmení. Účel každej premennej si môžete prečítať v komentároch.
Teraz uložte zmeny stlačením CTRL+O a enter, potom stlačte CTRL+X a ukončite nano editor. Teraz upravme ďalší súbor, na to zadáme príkaz
Sudo nano /etc/default/motion
A vymeňte linku
Start_motion_daemon=nie
Start_motion_daemon=áno
Potom uložte zmeny stlačením CTRL+O a enter a potom stlačte CTRL+X a ukončite nano editor. Teraz môžete spustiť prenos videa (USB kamera musí byť pripojená k jednému z portov) príkazom
Spustenie pohybu služby sudo
Zastavte s príkazom
Zastavenie pohybu služby Sudo
Ak chcete vidieť video, musíte otvoriť prehliadač a do panela s adresou zadať IP adresu Raspberry PI, potom vložiť dvojbodku a 8081 (IP adresa Raspberry PI: 8081) a stlačiť enter. video z USB kamery by sa malo objaviť v prehliadači. Ako sa to celé robí, výsledok a ešte niečo si môžete pozrieť vo videu:
Páči sa ti to jednoduchým spôsobom Video môžete získať z USB kamery pripojenej k Raspberry PI. Ak ide o Raspberry PI 3 so zabudovanou wifi a napájané z powerbanky (alebo iného prenosného zdroja elektriny) (napríklad tohto alebo lacnejšieho, aj keď sa neodporúča používať lacný, Raspberry PI potrebuje normálny zdroj energie, aby využil všetky svoje možnosti, je tiež veľmi vhodné nainštalovať chladič pre procesor a ďalšie mikroobvody, ktoré sa vyvíjajú počas prevádzky Raspberry, ideálne by mal byť chladič medený a potiahnutý špeciálnou čiernou farbou), potom na základe všetkých toto si môžete vytvoriť nejaký druh video monitorovacieho systému, videokamery alebo niečo podobné.