28 de diciembre de 2008

HOWTO: Utilizar Un Telefono Symbian SmartPhone como Webcam en Ubuntu 8.10 con SmartCam

Títulos Largos, pero útiles. (Por cierto, Esta _no_ es una broma del día de los inocentes, lo digo sólo por la fecha)

Hoy me agarro la curiosidad de probar este experimento que no creía que era posible, hasta que una amiga me incito a intentar y después de investigar un poco me di cuenta que el software necesario, efectivamente, existe.

Primero veamos los requerimientos previos a la instalación:

Sistema Operativo: GNU/Linux o Windows
Telefono Celular: Symbian SmartPhone s60
Tecnología Bluetooth en la computadora

En este Howto usaremos:
-Ubuntu Linux 8.10 Intrepid Ibex
-Nokia 6260 Symbian SmartPhone(Del que ya he hablado)
-Dispositivo Bluetooth USB


Primero, Descargamos la aplicación necesaria, SmartCam, esta aplicación incluye los binarios del teléfono, los de la computadora, el código fuente y el driver (controlador) necesario.

Bien, primero veamos el lado de la computadora.

Descomprimimos el archivo zip en el lugar de nuestra preferencia.

Ahora, lo primero que hay que hacer es recompilar el driver para que se adapte a nuestra versión del kernel, aquí es donde encontré el primer problema, ya que el código parece usar funciones despreciadas en las nuevas versiones del kernel, afortunadamente encontré un parche para el archivo. Descargamos el parche aquí y lo ponemos en la carpeta smartcam donde quiera que hayamos descomprimido y llegamos a ese directorio desde la terminal y ejecutamos el siguiente comando

patch -p0 < smartcam-linux-2.6.27.1.patch
Ahora compilamos el controlador:
cd driver
make -C /lib/modules/2.6.24-18-generic/build M=`pwd` modules
Y lo cargamos:
sudo modprobe videodev
sudo insmod smartcam.ko
chmod 0666 /dev/video0
Cambiemos de directorio a la aplicación ahora y compilamos utilizando los comandos del ReadMe.txt
cd ../app
gcc `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam
Si no hay ningún error entonces ya podremos ejecutar la aplicación simplemente con:
./smartcam
En caso de haber un error en la compilación puede ser que no tengamos algunas dependencias necesarias así que las instalamos desde los repositorios con el siguiente comando:
sudo apt-get install build-essential libbluetooth-dev
y tratamos de compilar de nuevo:
gcc `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam
Debemos tener la siguiente ventana ahora:



Ok, con esto terminamos la configuración por parte de la computadora, ahora vamos al teléfono. Tenemos que pasar el archivo de instalación correcto al celular, los 3 archivos se encuentran en el directorio 'smartcam/release/phone_files', los pasamos con nuestro método preferido, en mi caso bluetooth fue suficiente y my telefono Nokia 6260 lleva Symbian 2nd Ed, así que pase SmartCamS602ndEd.SIS y lo instale en el teléfono:

Lo corremos y tendremos esta pantalla:



Ahora sólo tenemos que dar Connect y seleccionar nuestra computadora:


Si todo salió bien, ahora deberemos ver la cámara en lugar del ojo de antes en la ventana:


OMG FUNCIONA!

Resumen de comandos (Para los que les da flojera leer y sólo quieren ejecutar cosas en la terminal)

unzip smartcam_v_2008.09.18.2.zip
cd smartcam
wget http://sathya.freeshell.org/smartcam-linux-2.6.27.1.patch
patch -p0 < smartcam-linux-2.6.27.1.patch
cd driver
make -C /lib/modules/2.6.24-18-generic/build M=`pwd` modules
sudo modprobe videodev
sudo insmod smartcam.ko
chmod 0666 /dev/video0
cd ../app
sudo apt-get install build-essential libbluetooth-dev
gcc `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam
./smartcam

Y listo, ahora nuestro SmartPhone es también una webcam en Ubuntu, el dispositivo se encuentra en /dev/video0 talvez después haga el tutorial de Windows, si alguien lo pide o me pica la curiosidad, aunque creo que será más fácil que en linux, pero no tan divertido :P.

No duden en preguntar si tienen algún problema/inquietud en los comentarios.

Problemas que pueden surgir:

En caso de que no se pueda accesar a la cámara después de reiniciar, tenemos que volver a cargar los drivers y cambiar el modo de acceso con los comandos:
gksu modprobe videodev
gksu insmod /home/mario/smartcam/src/driver/smartcam.ko
gksu chmod 0666 /dev/video0
Lo que hice fue ponerlo en un script, junto con la dirección para ejecutar el programa:
#! /bin/sh
gksu modprobe videodev
gksu insmod /home/mario/smartcam/src/driver/smartcam.ko
gksu chmod 0666 /dev/video0
/home/mario/smartcam/src/app/smartcam &
Y pregunta la contraseña de sudo al iniciar el programa para hacer las tareas que lo requieren, así lo ejecuto cadavez que necesite SmartCam

Continuar Leyendo...

23 de diciembre de 2008

Título Generico de Festividades Aquí

Lector [] Lectores = this.blog.GetLectores();

foreach ( Lector lector in Lectores ) {
if (lector.festeja(navidad))
lector.felicitar(eventos.navidad);
lector.felicitar(eventos.año_nuevo);
}


//En los comentarios me pueden decir que tan lame es mi felicitación :P
// *Colores pueden variar debido a la configuración de su IDE

Continuar Leyendo...

20 de diciembre de 2008

Como sobrevivir en una computadora de 256MB de Ram Parte 1

"Comparando las alternativas"

Como ya dije en el post anterior, por razones aleatorias, ahora estoy encadenado a una vieja PC de la casa con escasos 256 MB de RAM, a pesar de que venía con Windows XP, creo que no es una opción viable para este tipo de computadoras, tal vez Windows 98 corra bien, pero no me quería arriesgar a un sistema operativo que ya no tenga soporte, además para agregar a mi suerte, ya no tengo discos en blanco, así que tenía que arreglármelas con lo que tenía a la mano, o lo que pudiera conseguir.

Lo primero que probé fue reducir al mínimo todas las configuraciones a Xp, en "Rendimiento" le dije que quitara todos los efectos bonitos, también traté de utilizar programas de más bajos recursos, Abiword en lugar de MS Word (Esto funciono bastante bien), Winamp/AIMP2 (Ni siquiera intenté instalar Itunes), VLC/Windows Media Classic, Chrome en lugar de Firefox (Esto no fue tan buena idea después de todo, ya que Chrome hace un proceso nuevo para cada pestaña), pero aún así, se llegaba a arrastrar.



(Click para agrandar)

Supuse que era la fragmentación del disco duro, así que lo dejé en la noche, ahora iba más rápido, pero seguía trabándose muy seguido. Parece que Windows XP con todas sus actualizaciones no fue pensado para estas máquinas, tal vez al principio cuando salió sí lo era.

Utilice algunos consejos para acelerar algunos programas, Como esta lista de optimizaciones para Visual Studio (En Inglés)

También probé con el trial de TuneUp Utilities, que da consejos conforme a un análisis de la máquina y aplique todos sus consejos, excepto uno:


YOU'RE USING WINDOWS, BUY MORE RAM, ALWAYS!


Después me puse a revisar mis discos de GNU/Linux, probé algunos livecds, pero todos se arrastraban en algún momento.

Pero uno de los que tenía parecía correr perfectamente, aún más rápido que Windows y desde el CD. Damn Small Linux, pesando unos todavía sorprendentes 50 MB, supongo que los carga a memoria y los lee de ahí, por la rapidez que presentaba. En su sitio dicen que puede correr ligeramente con 16MB(!) de RAM, y completamente con 128 MB

Aunque DSL funcionaba bien, no podía hacer algunas cosas a las que estaba acostumbrado, y me fue muy difícil averiguar como instalar el plugin de flash en la versión vieja que tenía del disco, Así que quise ver como corría Ubuntu instalado en el disco.

Por alguna razón, fue un dolor de cabeza achicar la partición de Windows, Ubuntu no la reconocía correctamente, muchos foros decían que bajará el LiveCd de Gparted, pero pues no tenía discos en blanco, terminé "comprando" Partition Magic, el cual pudo, por fin dejarme el espacio libre para una partición, 5GB es todo lo que ocupo, 1GB de Swap (Que se utiliza como "Memoria RAM adicional", parecido al páginado de Windows), 4GB para la instalación, tal vez ocupo menos, pues ya toda mi música y videos están en mi disco duro externo de 320GB.

Partition Magic tarda en hacer la partición, supongo que el disco duro es lento, pero bueno, ya que termina introduzco el disco que acabo de recibir de Ubuntu 8.10, la instalación no toma tanto tiempo como la partición, pero si se nota el arrastre de la computadora en algunas partes de ella, definitivamente no puedo abrir Firefox y navegar por la red mientras se instala como lo he hecho en otras computadoras.

Al final se reinicia como siempre, y ahora se nota el cambio! Windows y Ubuntu tardan más o menos lo mismo en iniciar, pero en Windows te tienes que esperar a que carguen algunos programas, Aproximadamente 5-7 minutos más, Ubuntu al cargar el escritorio es usable, sólo he visto que se trabe mienstras instaló algo, escucho música, y navego con Firefox al mismo tiempo. Windows Xp no podía navegar en Internet y Tener el Messenger abierto la mayoría del tiempo.

En la siguiente parte hablaré de algunos programas ligeros para Ubuntu, como reemplazo de los que vienen por default debo decir que estoy sorprendido de que corra bastante bien, ya que es una distribución completa con muchas características, aún así no me quería arriesgar al arrastre y desinstale algunos programas e instalé sus reemplazos.

Continuar Leyendo...

19 de diciembre de 2008

De vuelta, actualización, reparaciones

A casi un año de mi última entrada parece que por fin podré darle actividad a este blog otra vez, debido a varias cosas, en principal la función share de Google Reader, ya no le encontraba necesidad a escribir dentro del blog. Debo decir que al ver ese triste 2008 (1) junto a los 2006 y 2007 (100+) en la barra lateral me sentía mal de haber dejado a mis lectores prácticamente todo el año sin una actualización, varios amigos me decían que debería volver a escribir, que les gustaba el contenido, mis opiniones, los posts aleatorios... pero lo fui dejando, no sentía que fuera necesario, hasta que mi gran bocota hizo una promesa de escribir justo este día, fue cuando no lo pude retrasar más :P.

¿Qué ha pasado?, respuesta corta:nada, respuesta larga: bueno... no mucho, el próximo año entraré al 4to semestre de la carrera en Ingeniería en Ciencias Computacionales, no he visto mucho anime ni películas así que todas reseñas tendrán que esperar, he estado programando sólo proyectos de la escuela, aunque se esta formando un equipo para desarrollar un juego entre los mejores IDGDs e ICCs del semestre, cada uno con nuevas ideas, pero no entraré en detalles por el momento, con suerte podrán ver este proyecto en un nuevo blog de todo el equipo, que porsupuesto enlacaré aquí. Por razones atribuidas a la (mala?) suerte ahora tengo que hacer todo este trabajo en una computadora con unos míseros 256 MB(!) de ram, aunque parece correr Ubuntu bastante bien juzgando por la hora que lleva instalado. Entre otras cosas, todo esto ha pasado en este año.

No quiero hacer ningún compromiso de la frecuencia con la que escribiré, por miedo a romperlo, pero sí esperen más posts que en el resto del año, estaré empezando de nuevo.

Aún tengo algunas cosas que arreglar en el blog, más que nada enlaces e imágenes rotas, actualización de la barra lateral, tal vez un cambio de tema... en fin, tengo trabajo que hacer, así que los dejo con este post genérico de "Estoy de vuelta" por ahora.

Continuar Leyendo...

13 de enero de 2008

Nota Rápida #1

La primera nota rápida de Aleatorio! Espero escribir más seguido, aunque seán de estás entradas cortas.

Hoy: Lo que se encuentra uno por internet:


(Click en la imágen para ampliar)

Enlace original aquí

Continuar Leyendo...