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íkazom
sudo 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.
Rozhranie fotoaparátu musí byť aktivované v nastaveniach Raspberry:
Po aktivácii kamery (ak je to potrebné) sa Malina musí reštartovať: sudo reboot now
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
V prípade zlyhania by ste mali skontrolovať predchádzajúce kroky alebo prezvoniť kontakty konektora na kamere a na Maline.
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
Kompletný sprievodca uvedenými nástrojmi je k dispozícii na adrese anglický jazyk je zapnuté vypnuté. Web Raspberry Pi
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
  • noc
  • nočný náhľad
  • protisvetlo: protisvetlo za objektom
  • reflektor: osvetlenie reflektorov
  • šport: objekt v pohybe
  • sneh: zasnežená krajina
  • pláž: plážová krajina
  • veľmi dlhá: dlhá expozícia
  • Fixedfps: obmedzenie FPS na pevnú hodnotu
  • antishake: anti-shake
  • ohňostroj: krajina s ohňostrojom
auto
-awb
vyváženie bielej
  • slnko: 5000K...6500K - slnečno
  • oblačnosť:6500K ... 12000K zamračené
  • odtieň: v tieni
  • volfrám: 2500K ... 3500K volfrám
  • žiarivka: 2500K...4500K
  • žiarovka: rozžeravený kov
  • blesk: s bleskom
  • horizont
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: priemer
  • bod: bod
  • podsvietenie: čítanie obrazu v protisvetle
  • matrica: maticové meranie
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
Ďalej zvážime pomocné služby samostatne.


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
Predvolené rozlíšenie je 1080p (1920x1080)
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.

  1. Batérie sa do puzdra nezmestili, tak som ich musel prilepiť na puzdro elektrickou páskou :)
  2. 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.
  3. 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.
  4. Jediný joystick nebol vôbec pilotný. Dosť frustrujúce bolo aj ovládanie plynu potenciometrom.
  5. 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
Po prečítaní som sa rozhodol trochu rozvinúť autorovu myšlienku.
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
pi@hall-pi ~ $ cat /proc/cpuinfo procesor: 0 názov modelu: ARMv6-kompatibilný procesor rev 7 (v6l) BogoMIPS: 2.00 Vlastnosti: swp polovičný palec fastmult vfp edsp java tls CPU implementátor: 0x41 CPU architektúra: 7 CPU variant : 0x0 Časť CPU: 0xb76 Revízia CPU: 7 Hardvér: BCM2708 Revízia: 000e Sériové číslo: 000000005a82c372

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ť:

  1. Nastavenie časového pásma
  2. Nastavenie názvu počítača
  3. Povolenie prístupu SSH
  4. Aktualizácia systému
Po dokončení všetkých potrebných nastavení môžete začať.
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é.




Hore