Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003
Hay múltiples soluciones para realizar esto, pero no había encontrado nada realmente funcionale y libre para Linux. Ayer me topé con SmartCam, un proyecto que provee un software para el teléfono (bien Symbian, bien Java) que hace de servidor y un cliente para Linux que se encarga de recibir la imagen.
El software para Linux consta de dos partes: un módulo para el núcleo y un software basado en GTK que permite la conexión con el teléfono via Bluetooth y muestra la imagen.
El primer paso es compilar el módulo:
sudo apt-get install libbluetooth-dev cd smartcam/src/driver make -C /lib/modules/`uname -r`/build M=`pwd` modules
Esto creará el archivo smartcam.ko que puede cargarse con el comando insmod. Luego, es necesario compilar el cliente:
sudo apt-get install libgtk-2.0-dev cd smartcam/src/app gcc `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam
Se creará el archivo smartcam que al ejecutarlo abrirá una ventana donde podremos ver la imagen una vez conectado el teléfono. Con este programa abierto, se realizará la conexión desde el teléfono y tendremos disponible la cámara web en el correspondiente /dev/videoX.
Hace unos días me compré una pequeña webcam de Logitech, la Quickcam Messenger. Antes había comprobado la compatibilidad con Linux y parecía funcionar sin problema.
Preparándome para instalar paquetes dev y compilar módulos, descubrí que hacer funcionar en Debian cualquiera de las cámaras soportadas por el controlador gspca es de lo más sencillo:
sudo apt-get install gspca-modules-`uname -r`
¿Para qué complicarse más?. Podemos ver si se carga correctamente viendo el syslog al enchufarla:
usb 2-2: new full speed USB device using uhci_hcd and address 2 usb 2-2: configuration #1 chosen from 1 choice gspca_core.c: USB GSPCA camera found.(ZC3XX) gspca_core.c: [spca5xx_probe:4098] Camera type JPEG Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:7 Vimicro/zc3xx.h: [zc3xx_config:597] Find Sensor HV7131R(c) gspca_core.c: [spca5xx_getcapability:1215] maxw 640 maxh 480 minw 176 minh 144 usbcore: registered new interface driver gspca gspca_core.c: gspca driver 2.6.22 registered usbcore: registered new interface driver snd-usb-audio
Se creará el dispositivo /dev/video0 ( video1 o mayor si ya tenéis otros dispositivos de video configurados ), que podremos visualizar con mplayer:
mplayer tv:// -tv driver=v4l:width=640:height=480utfmt=rgb24
evice=/dev/video1:noaudio
NOTA: Para detectar el código del producto es necesario hacer lsusb como root, ya que si no no aparecerá listada la cámara.
Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons