Streamujeme video z webové kamery připojené k Raspberry Pi. Raspberry Pi. Připojení a práce s CSI kamerou Jak připojit analogovou kameru k raspberry pi

Stručný návod pro připojení a použití hardwarové kamery pro Raspberry Pi Upozorňujeme, že kamera může být poškozena statickou elektřinou. Před vyjmutím fotoaparátu se doporučuje dotknout se uzemněného předmětu (například radiátoru), abyste odstranili náboj. Kamera se k desce připojuje pomocí flexibilního kabelu. Konektor kabelu je umístěn mezi porty Ethernet a HDMI. Čočka fotoaparátu může být pokryta průhlednou ochrannou fólií, kterou je nutné před použitím odstranit.

Povolte podporu fotoaparátu v Raspbianu

Spusťte Raspberry Pi a přihlaste se (výchozí uživatelské jméno je , Heslo - malina). V terminálu spusťte příkazy pro aktualizaci distribuce Raspbian na nejnovější verzi: aktualizace sudo apt-get

upgrade sudo apt-get

Software fotoaparátu

raspivid konzolová aplikace pro nahrávání videa z kamery.

raspistill Aplikace pro příjem snímků z parametrů kamery nebo –output určuje název výstupního souboru -t nebo – časový limit trvání nahrávání videa (výchozí 5 sekund) -d nebo –demo nahrávání v režimu ukázky funkcí. Budou použity všechny možné efekty

Příklady: raspistill -o obrázek.jpg- zachycení obrázku ve formátu .jpg

raspivid -o video.h264- zachytit 5 sekund videa ve formátu h264

raspivid -o video.h264 -t 10000- zachytit 10 sekundové video ve formátu h264

raspivid -o video.h264 -t 10000 -d- zachytit 10sekundové video ve formátu h264 v demo režimu

Všechny možné parametry pro aplikace raspivid a raspistill můžete zobrazit následovně: raspivid | méně, raspistill | méně

Pro pohyb v seznamu použijte kurzor nebo pro ukončení zadejte "q" Podrobné popisy parametrů pro software kamery naleznete

Streamování videa přes síť

Chcete-li přenést video, spusťte příkaz na Raspberry Pi

raspivid -t 999999 -o - | nc 5001

Chcete-li sledovat video na klientovi, musíte nainstalovat mplayer a netcat a spustit je následovně: nc -l -p 5001 | mplayer -fps 31 -cache 1024 pro Linux


Jednodeskový počítač Raspberry Pi umožňuje vytvářet opravdu zajímavé a užitečné věci: od multimediálních center až po systémy domácí automatizace. Připojením různých modulů k Raspberry Pi můžete výrazně rozšířit funkčnost tohoto minipočítače.



Jedním z těchto doplňkových zásuvných modulů je fotoaparát, který umožňuje fotografovat nebo natáčet videa. Dnes je na trhu celá řada kamer pro Raspberry Pi a v tomto článku na ně dáme krátkou recenzi.


Podívejme se na šest nejoblíbenějších kamer: ZeroCam Noir, ZeroCam FishEye, Raspberry Pi kompatibilní s rybím okem, Raspberry Pi Camera V2, Raspberry Pi Camera V2 Noir a Raspberry Pi Camera 1.3.



ZeroCam Noir je kamerový modul pro Raspberry Pi Zero nebo Raspberry Pi Zero W, takže pokud jej chcete použít v Raspberry Pi 3 nebo 2, budete muset použít kabel adaptéru. Tento fotoaparát nemá na objektivu IR filtr, takže je ideální pro fotografování při slabém osvětlení. Zde jsou některé z jeho hlavních charakteristik: 5megapixelový snímač, 2592 × 1944 pixelů, 1080p při 30 FPS (nebo 60 FPS při 720p, 90 FPS při 480p), ohnisková vzdálenost 3,60 mm, 53,50 stupňů horizontálně, 41,41 stupňů vertikálně, přibl. rozměry desky s kamerou: 60 x 11,4 x 5,1 mm.



Toto je rybí oko verze ZeroCam, což znamená, že má širokoúhlý obraz. Tato kamera je také vyrobena pro Pi Zero nebo Pi Zero W, takže pro její použití s ​​jiným Pi panelem potřebujete adaptérový kabel.



Jedná se o kameru rybího oka kompatibilní s Raspberry Pi, kterou lze snadno najít na různých online obchodních platformách, jako je AliExpress, TaoBao, eBay. Vyznačuje se širokoúhlým záběrem 175º. Jeho základem je snímač Omnivision 5647 s rozlišením 5 megapixelů (2592 x 1944 pixelů).



Tento fotoaparát je vybaven 8megapixelovým obrazovým snímačem Sony IMX219 s objektivem s pevnou ohniskovou vzdáleností, schopným zobrazovat statické snímky 3280×2464 pixelů, podporuje videa 1080p30, 720p60 a 640×480p90. Kamera je kompatibilní se všemi deskami Raspberry Pi, ale pokud ji chcete používat s Pi Zero, potřebujete adaptérový kabel.



Tato kamera má všechny funkce modulu Raspberry Pi Camera V2, ale nemá IR filtr. To znamená, že je to téměř ideální fotoaparát pro natáčení ve tmě.



Raspberry Pi Camera 1.3 je předchůdcem modulu V2. Je vybaven 5megapixelovým snímačem OmniVision OV5647.

Porovnání zorného pole a kvality obrazu kamer pro Raspberry Pi

Při tomto testu jsou všechny kamery instalovány ve vzdálenosti 1 metru od testovacího snímku. Výsledky jsou následující:











Porovnání kvality obrazu a barevného podání fotoaparátů Raspberry Pi při zoomování











Porovnání kvality focení v noci

Níže uvedené výsledky demonstrují výkon několika nočních kamer, které zachycují stejný testovací obraz při velmi slabém osvětlení ve tmě.







závěry

Všechny fotoaparáty fungují o něco lépe, než se od takových levných modulů očekávalo. Bohužel mezi nimi není žádná all-in-one kamera a je třeba udělat kompromis, protože se zdá, že neexistují žádné širokoúhlé kamery (rybí oko) s odstraněným IR filtrem. Pokud tedy chcete širokoúhlý záběr, budete potřebovat pravidelné osvětlení a naopak v noci širokoúhlé záběry pravděpodobně nepořídíte.

Mezi zajímavé doplňky Raspberry Pi patří modul videokamery určený pro připojení ke sběrnici CSI pomocí plochého kabelu.

Samotná deska fotoaparátu je malinká. Měří pouze 25x20x9 mm, váží pouhé 3 gramy a je dodáván s 15 cm plochým kabelem.


Snímač fotoaparátu je 5 MP, má objektiv s pevným ohniskem a umožňuje pořizovat fotografie v rozlišení 2592x1944. Podpora videa: 1080p 30 snímků za sekundu (fps), 720p při 60 fps a rozlišení 640x480 při až 90 fps. Do Raspbian OS byla přidána plná podpora fotoaparátu, který je potřeba aktualizovat.

Řekněte „chee-ee-iz“ pro Wheezy

Než se přesunete dále, potřebujete připojení k internetu. Modul kamery vyžaduje aktualizaci operačního systému Raspian na nejnovější verzi, aby bylo možné nainstalovat potřebné ovladače a nástroje.

Pokud to není problém, můžeme zařízení nainstalovat.

Vezměte prosím na vědomí, že fotoaparát může být poškozen statickým nábojem. Před vyjmutím šedého antistatického sáčku z fotoaparátu se prosím ujistěte, že jste se dotkli uzemněného předmětu (jako je radiátor nebo vodovodní potrubí).

Pro kameru je vyhrazenou sběrnicí plochý konektor nejblíže k ethernetovému portu. Má konstrukci s nulovou silou vložení (ZIF): k uvolnění držáku stačí utáhnout dvě boční svorky.

Musíte umístit zaváděcí pásku od okraje připojení blízko ethernetového portu ke konci napájecího konektoru Pi. Podržte čtverec pásky na místě a odsuňte západky od sebe, aby páska zapadla na místo. Vezměte prosím na vědomí, že na fotografii je flexibilní kabel vložen stříbrnými kontakty směrem k portu HDMI:


Připojte vše k Raspberry Pi a nabootujte z SD karty, zvolte instalaci operačního systému Raspbian „Wheezy“ a poté restartujte. Výchozí uživatelské jméno a heslo jsou „pi“ a „raspberry“.

Nejprve musíme aktualizovat OS, k tomu otevřete terminál a zadejte následující dva příkazy, po každém stiskněte klávesu Return. Jejich dokončení může trvat několik minut, takže si možná budete chtít vzít šálek čaje.

aktualizace sudo apt-get

sudo apt-get upgrade -y

Nyní musíme použít nástroj pro ladění Raspberry Pi ke kontrole přidělení paměti GPU, protože potřebujeme alespoň 128 jako vyrovnávací paměť pro všechna video data, která se mají vyprázdnit do paměti. Tím se vlastně aktivuje sběrnice kamery. Zadejte do terminálu:

sudo raspi-config

Nejprve vyberte "Advanced > Memory_split" - již by mělo být nastaveno na 128, ale pokud ne, proveďte změny. Zdá se, že kamerový systém funguje dobře i v 16, ale doporučuje se 128.

Nakonec je zde možnost podpory kamery Povolit/Zakázat kameru (zapnutí/vypnutí kamery), vyberte Povolit (povolit):



Vyberte Dokončit (hotovo) a poté Restartovat pro restartování:


Focení s Raspberry Pi

Pro přístup k modulu kamery existují dva nástroje příkazového řádku – tyto jsou raspivid A raspistill .

Fotoaparát nabízí dobrý výběr grafických efektů a obecných nastavení fotoaparátu, které lze živě použít, a to jak pro fotografie, tak pro video. Můžete změnit režimy vyvážení bílé, ostření, typ fotografie, expozici, úroveň ISO a EXIF ​​​​data.

Níže jsou uvedeny příklady příkazů z terminálu a co budou dělat, výchozí doba zachycení je 5 sekund, použijte volbu -t k zadání delšího období v milisekundách, takže -t 20000 znamená „po dobu 20 sekund“.

Video

Zobrazení pěti sekund v demo režimu:raspivid -d

Zobrazuje 10s video v demo režimu: raspivid -o video.h264 -t 10000 -d

Zobrazení náhledu 640x480: raspivid -p 0,0,640,480

Zachyťte 20 sekund videa ve formátu h264: raspivid -t 20000 -o video.h264

Použití voleb obrázku v příkazu raspivid

Syntax: RaspiVid[možnosti]

Nápověda: Informace pro pomoc
. Výchozí 1920
. Výchozí 1080
-b , - bitrate: Zadaný datový tok. Použijte bity za sekundu (například 10 Mbit/s by bylo -b 10000000 )
-o , - output: Výstupní soubor (pro zápis do stdout použijte "-o -")

-t , - timeout: Čas (v ms) pro pořízení fotografií a vypnutí. Pokud není specifikováno, nastavte 5 sekund

-fps - snímková frekvence: Nastavte snímkovou frekvenci za sekundu pro nahrávání
-e , - penc: Zobrazit náhledové obrázky *po* kódování (zobrazit artefakty komprese)

<"x,y,w,h">

Fotografie

Zachyťte obrázek ve formátu JPEG: raspistill -® image.jpg

Vytvořte fotografii 640 x 480: raspistill -o image.jpg -w 640 -h 480

Vytvořte JPEG ve snížené kvalitě: raspistill -o image.jpg -q 5

Použití možností obrázku v příkazu RaspiStill

Syntaxe: RaspiStill [volby]

Možnosti příkazu obrázku

Nápověda: Informace pro pomoc
-w , -width: Nastaví šířku obrázku
-h , - height: Zadaná výška obrázku
-q , - kvalita: Nastavení kvality JPEG<0 до 100>
-r , - raw: Přidá nezpracovaná data Bayer do metadat JPEG
-o , - output: Výstupní soubor (pro zápis do stdout použijte "-o -"). Pokud není zadáno, soubor se neuloží
-v , - verbose: Tisk verbose za běhu
-t , - timeout: Čas (v ms) pro pořízení fotografie a vypnutí (pokud není uvedeno, nastavte na 5 sekund)
-th , - thumb: Nastavení parametrů miniatury (x:y:quality)
-d , - demo: Spuštění demo režimu (procházet řadu parametrů kamery, žádné snímání)
-e , - kódování: Kódování použité pro výstupní soubor (JPG, BMP, GIF, PNG)
-x , - exif: EXIF ​​​​značka, která se použije na zachycení (formát jako "klíč=hodnota")
-tl , - timelapse: Režim intervalového snímání. Fotí každou slečna

Náhled možností příkazu

P, - náhled: Možnosti okna náhledu<"x,y,w,h">
-f , - celá obrazovka: režim zobrazení na celou obrazovku
-n , - žádný náhled: Nezobrazovat okno náhledu

Další možnosti příkazů pro video a obrázek

Sh , - ostrost: Nastaví ostrost obrazu (-100 až +100)
-co , - kontrast: Nastavení kontrastu obrazu (-100 až +100)
-br , - jas: Nastavení jasu obrázku (0 až 100)
-sa , - saturace: Nastavte sytost obrazu (-100 až +100)
-ISO , -ISO: Určené ISO pro snímání
-vs , - vstab: Povolí stabilizaci videa
-ev , -ev: Nastavení kompenzace expozice
-ex , - expozice: Nastavte režim expozice
-awb , -awb: Nastavení režimu AWB
-ifx , -imxfx: Nastavení efektu obrázku
-cfx , - colfx: Nastavení barevného efektu (U:V)
-mm , - měření: Nastavení režimu měření expozice
-rot , - rotace: Otočit obrázek (0-359)
-hf , - hflip: Horizontální převrácení
-vf , - vflip: Vertikální převrácení

Výchozí složka pro ukládání obrázků je „/home/pi“, takže pokud si jen potřebujete přehrát uložené video, je jednodušší spustit GUI pomocí startx, otevřít „Správce souborů“ a použít „LXTerminal“ pro příkazy kamery.

Jak streamovat video z Raspberry Pi

Chcete-li sledovat kanál na Linuxu

Nainstalujte požadovaný software spuštěním následujícího příkazu z terminálu:

Dobrý den!

Na Silvestra mě napadlo postavit nějaký druh video dohledu. Měl jsem po ruce vše, co jsem potřeboval:

  • Jednodeskový počítač Raspberry Pi Model B
  • Webová kamera LOGITECH HD Webcam C270
Po přečtení jsem se rozhodl autorův nápad trochu rozvinout.
Známost
Nejprve se tedy seznámíme s hlavní „komponentou“:
Vzhled Raspberry Pi:

Vlastnosti:

  • Procesor Broadcom BCM2835 700 MHz ARM1176JZFS s FPU a Videocore 4 GPU
  • GPU poskytuje Open GL ES 2.0, hardwarově akcelerované OpenVG a 1080p30 H.264 high-profil dekódování
  • GPU je schopné 1Gpixel/s, 1.5Gtexel/s nebo 24GFLOPS s filtrováním textur a infrastrukturou DMA
  • 512 MB RAM
  • Spouští se z karty SD s verzí operačního systému Linux
  • Ethernetová zásuvka 10/100 BaseT
  • HDMI výstup videa
  • 2x USB 2.0 zásuvky
  • Výstup kompozitního videa RCA
  • zásuvka na SD kartu
  • Napájení z microUSB zásuvky
  • 3,5mm audio výstup jack
  • Konektor pro HD videokameru Raspberry Pi
  • Velikost: 85,6 x 53,98 x 17 mm
pi@hall-pi ~ $ cat /proc/cpuinfo procesor: 0 název modelu: procesor kompatibilní s ARMv6 rev 7 (v6l) BogoMIPS: 2.00 Vlastnosti: swp poloviční palec fastmult vfp edsp java tls CPU implementátor: 0x41 CPU architektura: 7 CPU varianta : 0x0 Část CPU: 0xb76 Revize CPU: 7 Hardware: BCM2708 Revize: 000e Sériové: 000000005a82c372

Seznam oficiálně podporovaných distribucí naleznete. Vybral jsem si Raspbian bez grafického shellu.

Proces instalace je poměrně jednoduchý a nepotřebuje podrobný popis, proto uvedu hlavní fakta, která stojí za to věnovat pozornost:

  1. Nastavení časového pásma
  2. Nastavení názvu počítače
  3. Povolení přístupu SSH
  4. Aktualizace systému
Po dokončení všech nezbytných nastavení můžete začít.
Příprava
Nejprve nainstalujme všechny potřebné balíčky:
sudo apt-get install imagemagick libav-tools libjpeg8-dev subversion
Poté si stáhněte a sestavte mjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Protože Všechna data uložíme do cloudu, práci se vzdáleným souborovým systémem nastavíme přes 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
Abyste své uživatelské jméno a heslo nezadávali pokaždé, musíte je přidat do souboru
/etc/davfs2/secrets
/mnt/dav uživatelské heslo
Pracovní proces
Pojďme přidat příkazy do /etc/rc.local pro připojení WebDAV a spuštění skriptu pro vysílání do sítě:
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"
Nyní, když přejdeme na http://:8080/, získáme přístup ke kameře. Zbývá jen přeposlat port na routeru a ke kameře se dostanete mimo lokální síť.
Vytváření časosběrného videa
Nejprve musíme získat obraz z fotoaparátu. Protože je již obsazený (obrázek je vysílán webovým serverem), pak využijeme možnosti získat aktuální obrázek z webového serveru:
curl http://localhost:8080/?action=snapshot > out.jpg
Pokud chceme na obrázek nakreslit datum fotografie, pak můžeme použít pří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á verze skriptu:
#!/bin/bash filename=$(perl -e "čas tisku") 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 se sestavuje pomocí příkazu avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Plná verze skriptu sestavení videa:
#!/bin/bash filename=$(date --rfc-3339=date) i=0 pro f v `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` udělat 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
Nyní zbývá pouze zaregistrovat provádění skriptů v plánovači Cron:
* * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Příklad videa
Závěr
Tento přístup pomáhá eliminovat potřebu trávit spoustu času sledováním videí a také snižuje náklady na konečný produkt. Díky přítomnosti plnohodnotného OS je možné rozšířit funkčnost správným směrem.

Jedním z nejpopulárnějších projektů Raspberry Pi je vytvoření video monitorovacího serveru se schopností vysílat na internet. Mnoho lidí používá tyto systémy jako bezpečnostní systémy (včetně mě), ale existují i ​​jiná použití. Pokud vás něco zajímavého napadne, můžete o tom napsat do komentářů. Projekt, jako je tento, by stál kolem 60-70 liber, ale použil jsem nějaké další komponenty, které se mi povalovaly (a nakonec to nestálo nic). Ve svém projektu jsem použil webovou kameru Logitech Quickcam.

Co potřebujeme:

  • Raspberry Pi
  • SD karta 8 GB nebo více
  • Webová kamera
  • Přístup k internetu pomocí Ethernet nebo WiFi adaptéru
  • USB hub s externím napájením
  • Klávesnice
  • Myš (pro nastavení WiFi)

Začněme tedy instalací nejnovější verze Debianu „Wheezy“ na SD kartu, což můžete. Chcete-li nainstalovat bitovou kopii do počítače se systémem Windows, můžete použít nástroj a pro počítače Mac použijte tento program. (Více o instalaci obrázků)

Po dokončení kopírování obrázku vložte SD kartu do Raspberry Pi. Připojíme síťový kabel nebo bezdrátový adaptér a také klávesnici. Nakonec nezapomeňte připojit USB hub a napájet jej.

Po zapnutí Raspberry Pi nastavte pomocí utility časové pásmo podle vaší polohy raspi-config.

Vezměte prosím na vědomí, že pro přihlášení do čerstvě nainstalovaného systému musíte použít své uživatelské jméno s heslem malina.

Pokud používáte připojení k síti WiFi:

Chcete-li nakonfigurovat bezdrátový adaptér a připojit se k WiFi pomocí grafického rozhraní, musíte zadat příkaz:

Poté můžete nastavit bezdrátové připojení. Po dokončení klikněte myší v levém dolním rohu obrazovky a vyberte Odhlásit se pro návrat do příkazového řádku.

Nyní je čas na aktualizaci systému. Zadejte do příkazového řádku:

Aktualizace sudo apt-get sudo apt-get upgrade

a čekat na dokončení. Nyní je třeba nainstalovat Motion - software, který bude vysílat video pomocí vestavěného webového serveru. Chcete-li to provést, zadejte:

Sudo apt-get instalační pohyb

a čekat. Po dokončení instalace připojte webovou kameru k napájenému portu USB na rozbočovači.

Nyní musíte provést změny v konfiguračním souboru programu Motion. Chcete-li to provést, spusťte příkaz:

Sudo nano /etc/motion/motion.conf

Otevře se editor s konfiguračním souborem, ve kterém můžete provádět změny. Nejdůležitější jsou tyto parametry:

Daemon = OFF (správně na ON - tento parametr je někde na začátku souboru) webcam_localhost = ON (správně na OFF - tento parametr je někde na konci souboru)

Stiskněte Ctrl + X pro uložení, poté 'y' pro potvrzení operace a nakonec Enter pro zadání názvu souboru.

Nyní můžete spustit server Motion:

Spuštění pohybu služby Sudo

Počkejte asi 60 sekund a poté do prohlížeče zadejte IP adresu Raspberry Pi. Nejlepší volbou prohlížeče je nejnovější verze Firefoxu.

Adresa vypadá takto: 192.168.X.X:8081

Ujistěte se, že port 8081 je uveden na konci řádku, abyste viděli obrázek. Pro přístup k nastavení použijte port 8080 místo 8081.

Port 8081 – video Port 8080 – konfigurační webové rozhraní

Vezměte prosím na vědomí, že ke kameře budete mít přístup pouze v rámci místní sítě. Nebudete se moci připojit k domácímu video serveru z jiného místa. Chcete-li se připojit zvenčí, nastavte si na domácím routeru přesměrování příchozího připojení.

Gratulujeme! Právě jste nastavili svůj vlastní CCTV server na vašem Raspberry Pi! Přeji vám úspěch a neváhejte sdílet tento článek!

Poznámka: Pokud video server zobrazuje místo obrázku šedý obdélník, zadejte do terminálu příkaz ls /dev/video a určete název video zařízení. Ve výchozím nastavení je /etc/motion/motion.conf nastaveno na video0 . Pokud má vaše webová kamera jiný název, opravte konfigurační soubor a restartujte Motion.

Pozornost! Vše popsané v tomto článku opakujete na vlastní nebezpečí a riziko! Nenesu odpovědnost za žádné následky. Tento článek je pouze vodítkem.