Raspberry kamera
2017. november 01. írta: eNeS

Raspberry kamera

Az előző USB kamerás tesztjeimet követően komolyan elgondolkoztam valami komolyabb megoldáson. Létezik dedikált kameramodul is Raspberryhez, ami egy CSI csatlakozón, szalagkábelen keresztül csatlakozik a géphez.

Raspberry 5MP kamera modul

Milyen előnye van az olcsó USB kamerákkal szemben? Csak előnye van. Nagyobb felbontás, gyorsabb működés, eleve tömörített stream, stb.. A hasonló FullHD felbontású webkamerákkal szemben előnye, hogy ez olcsóbb, ennek ellenére a dedikált csatlakozónak köszönhetően gyorsabb, továbbá nem foglalja a gép USB csatlakozását. Persze be kell kalkulálni a 200-250mA többletfogyasztás is tápméretezésnél, Pi Zero esetén még kamerával is elég volt a 700mA-s Nokia töltő.

raspicam.jpg

Liciten 1200Ft-ért szereztem, de nem sokkal drágább egyébként ebay-en, csak győzze kivárni az ember. És amikor megérkezett, jött a nagy csodálkozás. Adnak hozzá szalagkábelt, viszont egyenes, mindkét végén egyenlő széleset, ami a normál méretű Raspberrykhez jó, de az én Zero-mhoz nem passzolt.. hamar megtaláltam a szükséges Raspberry Zero kábelt, lerendeltem. (+400Ft költség)

raspcam_kabel.jpg

A kábel csatlakoztatása előtt a fehér csatlakozóból ki kell húzni óvatosan a fekete rászorító elemet, bedugni a kábelt ütközésig úgy, hogy az érintkezős oldala legyen lefelé, a leragasztott oldala felfelé, a fekete ellendarab irányában, majd a rászorítót óvatosan a helyére kell pattintani.

Kamera engedélyezése:

sudo raspi-config

  • Itt az Interfacing Options -> P1 Camera menüpontban engedélyezzük a használatát.
  • Továbbá az Advanced Options -> A3 Memory split menüpontban engedélyezzünk 128MB-ot a GPU részére, vagy ennél többet, ha bővelkedünk memóriában.

A Raspbian Jessie kernel tartalmazza a szükséges drivert, így az alábbi parancs rögtön izzítja a kamerát:

sudo modprobe bcm2835-v4l2

Az USB kameránál használt parancs ezúttal is megmondja az igazat:

v4l2-ctl --list-formats-ext

        Index       : 0
        Type        : Video Capture
        Pixel Format: 'YU12'
        Name        : Planar YUV 4:2:0
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 1
        Type        : Video Capture
        Pixel Format: 'YUYV'
        Name        : YUYV 4:2:2
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 2
        Type        : Video Capture
        Pixel Format: 'RGB3'
        Name        : 24-bit RGB 8-8-8
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 3
        Type        : Video Capture
        Pixel Format: 'JPEG' (compressed)
        Name        : JFIF JPEG
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 4
        Type        : Video Capture
        Pixel Format: 'H264' (compressed)
        Name        : H.264
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 5
        Type        : Video Capture
        Pixel Format: 'MJPG' (compressed)
        Name        : Motion-JPEG
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 6
        Type        : Video Capture
        Pixel Format: 'YVYU'
        Name        : YVYU 4:2:2
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 7
        Type        : Video Capture
        Pixel Format: 'VYUY'
        Name        : VYUY 4:2:2
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 8
        Type        : Video Capture
        Pixel Format: 'UYVY'
        Name        : UYVY 4:2:2
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 9
        Type        : Video Capture
        Pixel Format: 'NV12'
        Name        : Y/CbCr 4:2:0
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 10
        Type        : Video Capture
        Pixel Format: 'BGR3'
        Name        : 24-bit BGR 8-8-8
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 11
        Type        : Video Capture
        Pixel Format: 'YV12'
        Name        : Planar YVU 4:2:0
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 12
        Type        : Video Capture
        Pixel Format: 'NV21'
        Name        : Y/CrCb 4:2:0
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

        Index       : 13
        Type        : Video Capture
        Pixel Format: 'BGR4'
        Name        : 32-bit BGRA/X 8-8-8-8
                Size: Stepwise 32x32 - 2592x1944 with step 2/2

 

Látható, hogy nemcsak az USB kamerából hiányzó MJPG, hanem a H264 tömörített adatfolyamot is képes szolgáltatni ez a kamera, ami egy IP kameránál alap, de ez már egy másik kísérlet.

Lássuk az alapokat, bár 5MP a szenzor felbontása (2592x1944 felbontással) ez csak az állóképekre igaz, a raspivid program csak a H264 4.x szinteket támogatja, aminek 2048x1080 felbontás a teteje. Magyarul mozgóképet "csak" FullHD 1920x1080 felbontásban tud adni, az 5MP optika ellenére. (Bár találtam leírásokat, amik szerint elérhető az 5MP felbontás lassabb, 15fps sebességgel MJPEG kódolással, ezt nem sikerült reprodukálnom az én modulommal)

Két külön program van a kamera kezeléséhez.

1. Állóképek készítése:

raspistill -o test.jpg

Alapértelmezésben a maximális 5MP felbontásban készít képet, ez parancssori -w -h paraméterekkel módosítható.

2. Mozgóképek felvétele:

raspivid -o test.avi -t 5000

Alapértelmezésben FullHD felbontásban rögzít a fenti paraméterekkel egy test.avi fájlba H264 tömörítéssel 5másodpercnyi felvételt, majd a program leáll. További paraméterezés: Kameramodul leírás

Az USB kameránál kipróbált mjpg-streamer használatára is van mód, de ehhez a kamerához létezik ennél jobb megoldás is, ha helyi (memóriakártyára történő) rögzítést szeretnénk:

RPi Cam Web Interface

Webes felületről állíthatjuk a felbontást, a kép egyéb tulajdonságait. Képes mozgásra történő rögzítésre is, ami praktikus, ha nem akarjuk a mozdulatlan tájjal telíteni a teljes memóriakártyát.

Telepítése nem túl bonyolult az install szkript végigvezet a folyamaton és feltelepíti-beállítja a szükséges összetevőket:

git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
cd RPi_Cam_Web_Interface
./install.sh

rpicam.jpg

Megjegyzés: Külön kiemelik, hogy nem támogatja az USB kamerákat - egyébként, ahogy észrevettem a legtöbb RPI program így van ezzel. Bár maga a Motion elméletileg ráheggeszthető USB kamerára is, de ezt meghagyom más, kísérletező kedvű egyéneknek.

A bejegyzés trackback címe:

http://bitekmindenhol.blog.hu/api/trackback/id/tr8813140654

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben.

Nincsenek hozzászólások.