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.
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ő.
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)
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
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:
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 és az adatvédelmi tájékoztatóban.