Kamera w OpenWrt

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.

Instalacja kamerki SPCA5xx

  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 

Monitoring

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%

usb/webcam.txt · ostatnio zmienione: 2011/08/06 11:17 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting