Obecnie routery coraz częściej dysponują portem USB umożliwiając podłączenie do urządzenia kamerki internetowej. W ten sposób router można przekształcić w webcama albo urządzenie do monitoringu wykrywającego i rejestrującego ruch w obserwowanym obszarze. Trzeba mieć na uwadze, że nie do wszystkich kamerek internetowych są dostępne sterowniki pod Linuksa.
Obecnie (03.2010) obsługiwane kamery:
kmod-video-cpia2 - 2.6.32.9-1 - Kernel modules for supporting CPIA2 USB based cameras. kmod-video-gspca-conex - 2.6.32.9-1 - The Conexant Camera Driver (conex) kernel module. kmod-video-gspca-core - 2.6.32.9-1 - Kernel modules for supporting GSPCA based webcam devices. Note this is just kmod-video-gspca-etoms - 2.6.32.9-1 - The Etoms USB Camera Driver (etoms) kernel module. kmod-video-gspca-finepix - 2.6.32.9-1 - The Fujifilm FinePix USB V4L2 driver (finepix) kernel module. kmod-video-gspca-gl860 - 2.6.32.9-1 - gl860 webcam support kmod-video-gspca-jeilinj - 2.6.32.9-1 - The JEILINJ USB Camera Driver (jeilinj) kernel module. kmod-video-gspca-m5602 - 2.6.32.9-1 - The ALi USB m5602 Camera Driver (m5602) kernel module. kmod-video-gspca-mars - 2.6.32.9-1 - The Mars USB Camera Driver (mars) kernel module. kmod-video-gspca-mr97310a - 2.6.32.9-1 - The Mars-Semi MR97310A USB Camera Driver (mr97310a) kernel module. kmod-video-gspca-ov519 - 2.6.32.9-1 - The OV519 USB Camera Driver (ov519) kernel module. kmod-video-gspca-ov534 - 2.6.32.9-1 - The OV534 USB Camera Driver (ov534) kernel module. kmod-video-gspca-pac207 - 2.6.32.9-1 - The Pixart PAC207 USB Camera Driver (pac207) kernel module. kmod-video-gspca-pac7311 - 2.6.32.9-1 - The Pixart PAC7311 USB Camera Driver (pac7311) kernel module. kmod-video-gspca-sonixb - 2.6.32.9-1 - The SONIX Bayer USB Camera Driver (sonixb) kernel module. kmod-video-gspca-sonixj - 2.6.32.9-1 - The SONIX JPEG USB Camera Driver (sonixj) kernel module. kmod-video-gspca-spca500 - 2.6.32.9-1 - The SPCA500 USB Camera Driver (spca500) kernel module. kmod-video-gspca-spca501 - 2.6.32.9-1 - The SPCA501 USB Camera Driver (spca501) kernel module. kmod-video-gspca-spca505 - 2.6.32.9-1 - The SPCA505 USB Camera Driver (spca505) kernel module. kmod-video-gspca-spca506 - 2.6.32.9-1 - The SPCA506 USB Camera Driver (spca506) kernel module. kmod-video-gspca-spca508 - 2.6.32.9-1 - The SPCA508 USB Camera Driver (spca508) kernel module. kmod-video-gspca-spca561 - 2.6.32.9-1 - The SPCA561 USB Camera Driver (spca561) kernel module. kmod-video-gspca-sq905 - 2.6.32.9-1 - The SQ Technologies SQ905 based USB Camera Driver (sq905) kernel module. kmod-video-gspca-sq905c - 2.6.32.9-1 - The SQ Technologies SQ905C based USB Camera Driver (sq905c) kernel module. kmod-video-gspca-stk014 - 2.6.32.9-1 - The Syntek DV4000 (STK014) USB Camera Driver (stk014) kernel module. kmod-video-gspca-stv06xx - 2.6.32.9-1 - The STV06XX USB Camera Driver (stv06xx) kernel module. kmod-video-gspca-sunplus - 2.6.32.9-1 - The SUNPLUS USB Camera Driver (sunplus) kernel module. kmod-video-gspca-t613 - 2.6.32.9-1 - The T613 (JPEG Compliance) USB Camera Driver (t613) kernel module. kmod-video-gspca-tv8532 - 2.6.32.9-1 - The TV8532 USB Camera Driver (tv8532) kernel module. kmod-video-gspca-vc032x - 2.6.32.9-1 - The VC032X USB Camera Driver (vc032x) kernel module. kmod-video-gspca-zc3xx - 2.6.32.9-1 - The ZC3XX USB Camera Driver (zc3xx) kernel module. kmod-video-konica - 2.6.32.9-1 - Kernel support for webcams based on a Konica chipset. This is known to kmod-video-ovcamchip - 2.6.32.9-1 - Kernel modules for supporting OmniVision OV6xxx and OV7xxx series of kmod-video-pwc - 2.6.32.9-1 - Kernel modules for supporting Philips USB based cameras. kmod-video-sn9c102 - 2.6.32.9-1 - Kernel modules for supporting SN9C102 kmod-video-uvc - 2.6.32.9-1 - Kernel modules for supporting USB Video Class (UVC) devices.
opkg update opkg install kmod-video-[sterownik dla naszej kamerki] (np. opkg install kmod-video-gspca-spca500)
Moduły należy załadować poleceniem insmod
insmod videodev insmod spca5xx
Po wykonaniu polecenia dmesg powinna ukazać się informacja o załadowaniu modułów i wykryciu kamery (w tym przypadku była to kamera Creative)
usb.c: registered new driver spca5xx spca_core.c: USB SPCA5XX camera found. Type Creative NX Pro Zc301+hv7131b spca_core.c: spca5xx driver 00.57.08LE registered
Jeżeli zamiast tego istnieje komunikat typu:
usb.c: USB device 2 (vend/prod 0x46d/0x8aa) is not claimed by any active driver.
oznacza to, że załadowany driver nie obsługuje naszej kamery i należy poszukać/skompilować inny.
Dla pewności należy jeszcze sprawdzić istnienie odpowiedniego urządzenia w /dev
ls -al /dev/v4l/* crw------- 1 root root 81, 0 Jan 1 1970 /dev/v4l/video0
Niektóre programy wymagają jeszcze wykonania odpowiedniego dowiązania
ln -s /dev/v4l/video0 /dev/video0
W tym wypadku do monitoringu wykorzystamy pakiet motion pozwalający monitorować obraz z kamerki poprzez stronę internetową oraz przechwytywać kluczowe klatki podczas wykrycia ruchu. Przechwytywanie można wzbogacić o filmy wykorzystując do tego biblioteki ffmpeg jednak generują one spore obciążenie procesora.
opkg update opkg install motion
O ile mamy w urządzeniu działającą kamerkę to wydanie polecenia motion powinno spowodować uruchomienie monitoringu ze standardowymi parametrami. plik konfiguracyjny znajduje się w /etc/motion.conf - na swoje potrzeby wprowadziłem w nim kilka zmian.
videodevice /dev/video0 - w zależności od wykrytego urządzenia w routerze ustawiamy odpowiednie dev u mnie to było video0. rotate 180 - z racji tego ze kamerka została przymocowana do sufitu musiałem obrócić obraz o 180* width 640 - zmieniamy również rozdzielczość na największą jaką oferuje kamerka. height 480 target_dir - miejsce przechowywania przechwytywanych obrazów. webcam_port - miniserwer monitoringu dostępny na wybranym porcie webcam_localhost off - aby udostępnić usługę dla innych komputerów w sieci. control_authentication username:password - ograniczenie dostępu do monitoringu poprzez autoryzację użytkownika
to pozwoliÅ‚o na przechwytywanie zdjÄ™cia z kamery co 2 sekundy i zapis na dysk plików JPG w razie wykrycia ruchu oraz oglÄ…danie przechwytywanej co sekunde klatki poprzez przegladarke internetowÄ…. Program ustawiony w ten sposób (przechwytujÄ…c zdjÄ™cia o rozdzielczoÅ›ci 640×480) obciążaÅ‚ procesor w 40%
