Búsqueda personalizada

02 noviembre 2008

Control Webcam 2.0

Documentación vigente en: http://eduardomarin.es/blog/entry/control-webcam-2-0

Hace algo más de un año que escribí este post donde explicaba cómo realizar el control de una cámara web instalada sobre dos servomotores.

Aquella implementación la realicé haciendo uso del router Linksys wrt54g, pero a través del sistema operativo que nos ofrecía openwrt.

Ahora, y tras algunas cuestiones que se le planteaban a Fernando, volví a retomar aquél proyecto y le apliqué las técnicas que nos ofrece AJAX, para mejorar el interfaz gráfico, además de cambiar el sistema embebido a dd-wrt.

De hecho, dd-wrt vino mucho antes, justo cuando quise usar el router como repetidor.

Entonces..., ¿qué ha cambiado. Qué ha mejorado?

Primeros pasos:

El primer paso, siempre que tengamos instalado dd-wrt (en mi caso v24-RC7), será instalar un servidor con soporte para PHP.

Nuestro router viene con un servicio servidor httpd que es el que nos muestra el contenido de las páginas de administración del mismo. No obstante, la configuración para soportar PHP puede ser algo compleja si lo comparamos con "thttpd".

Pero antes que todo esto, debemos pensar que nuestro router viene limitado en cuanto a memoria física. Si sóis de los que ya realizásteis el mod para añadir una tarjeta SD/mmc, o no tenéis miedo en realizarlo, entonces no habrá ningún problema.

Una vez instalada nuestra tarjeta SD, bajo la ventana de administración dd-wrt del router nos mostrará el espacio de tarjeta total y disponible:

Esto nos permitirá montar una partición dentro de la tarjeta que apunte a /jffs. Gracias a este nuevo directorio (y que en nuestro router es sólo de acceso a lectura), podremos instalar nuevos paquetes sin problemas. Y, hablando de instalar paquetes sin problemas, otro de los módulos que debemos instalar es optwrt, al estilo "ipkg", "ipkg-opt" nos permite buscar e instalar paquetes desde los repositorios de optwrt.

Manos a la obra (paso por paso):

1. Montamos nuestra nueva partición en la tarjeta SD:


mkdir /mmc/jffs
mount --bind /mmc/jffs /jffs


2. Instalamos optwrt:

mkdir /jffs/opt
mount -o bind /jffs/opt /opt
mkdir /jffs/tmp
cd /jffs/tmp
wget http://www.wlan-sat.com/boleo/optware/optware-install-ddwrt.sh
./optware-install-ddwrt.sh

Una vez tenemos instalado optware, bajo /opt/bin podremos encontrar "ipkg-opt", el instalador de paquetes de optware.

Así pues, como nuestro objetivo era montar el servidor http + php, instalaremos, por un lado php5 y por otro thttpd, que soporta php5.

Para ello:

cd /opt/bin
./ipkg-opt install php
./ipkg-opt install php-thttpd

Tendremos instalado nuestro servidor con soporte a php, pero debemos configurar el servidor indicando dónde queremos alojar nuestros archivos web.

En mi caso, los alojaré en /mmc/cgi-bin. Para ello, creamos la carpeta y configuramos el servidor:

mkdir /mmc/cgi-bin
vi /opt/etc/init.d/thttpd.conf

Este archivo de configuración del servidor contiene las siguientes líneas (en mi caso, donde el servidor escucha por el puerto 8080, manteniendo el puerto 80 para la ventana de administración del router)

dir=/mmc/cgi-bin
port=8080
user=root
nochroot
nosymlink
novhost
logfile=/opt/var/log/thttpd.log
# Please do not edit pidfile path at it is use to kill thttpd process during ini
pidfile=/opt/var/run/thttpd.pid

Finalmente, tan sólo queda poner en marcha el servidor. Pero debemos recordar una cosa, antes que el servidor "thttpd" estaba trabajando el servidor "httpd", y este entrará en conflicto si deseamos poner a escuchar el nuevo en el puerto 80. Este es un caso similar al mío. Yo tengo tres servidores. El primero (externo al router, y principal), escucha por el puerto 80. El servidor interno del router httpd (y que ofrece el servicio para la administración del router), quiero que escuche por el puerto 81 y, finalmente, el nuevo, "thttpd" con soporte a PHP, escuchará por el 8080. Así pues, debo matar al viejo, asignarle un nuevo puerto de escucha y arrancar, finalmente al nuevo:

killall httpd
cd /www
httpd -p 81 -h /www

cd /opt/etc/init.d/
./S80thttpd start

Cuando todo esto os funcione, algo muy importante, y que hará que no tengáis que iniciar manualmente los servicios ni la asignación de particiones a jffs y a opt, es añadir las siguientes líneas (a través de la ventana de administración del router (Administración -> Diagnóstico)), y grabar el arranque:

killall httpd
cd /www
httpd -p 81 -h /www

mount --bind /mmc/jffs /jffs
mount -o bind /jffs/opt /opt

cd /opt/etc/init.d/
./S80thttpd restart

Quedando esta ventana de la siguiente forma:


Probaremos entonces que nuestro servidor funciona correctamente, accediendo a través de la dirección del router IPdelrouter:8080. Debería salir una ventana como la siguiente:



Si ahora creamos un archivo (recordemos que nuestro directorio del servidor lo habíamos indicado en el archivo de configuración /opt/etc/thttpd.conf) para probar el funcionamiento PHP, por ejemplo, test.php, con el siguiente contenido:


<?php

$instr = "date";

$salida = exec($instr);

echo "Hoy es $salida";

?>



No debemos olvidar cambiar los permisos al archivo

chmod 744 test.php


Y ahora, con la webcam:

La idea del manejo de la webcam es exáctamente el mismo que en la versión anterior. Se hace uso del puerto serie que instalamos al router, se utiliza la misma codificación en arduino, pero lo único que estamos cambiando es la llamada a las funciones que envían el mensaje por el puerto serie. En la otra versión utilizábamos shell script. Ahora hacemos uso de PHP. La ventaja es que podemos utilizar las funciones de scriptaculous o prototype para añadir un toque AJAX, y así evitar los feos cortes que se veían en la página anterior.

Adjunto aquí el código de la página web (html, php, js) y aquí el código en arduino.

Cómo ha cambiado la versión (vídeos):

Versión 1.0:



Versión 2.0:

27 julio 2008

Linksys WRT54G como repetidor de 3COM

Hace ya bastante que no actualizo el blog. Los exámenes me mantuvieron ocupado, más tarde el trabajo, prácticas para septiembre, y el poco tiempo que me queda es para descansar.

Aún así, y dado que me costó un poquillo conseguir lo que aquí explicaré, publico este post por si alguna vez tuviera que repetir el proceso, y, además, pudiera servirle.

OBJETIVO: Hacer uso del router Linksys WRT54G como repetidor de un modem 3COM 3CRWDR100Y-72 (de los que daba YA.COM), y así ampliar la zona de cobertura de nuestra señal WIFI.

Debo decir que he intentado llevar a cabo la configuración que aquí se explica, y que configura una arquitectura WDS, pero no conseguí que funcionara.

Así pues, tras mucho trastear, conseguí una solución intermedia a la buscada. No se trata de WDS (creando bajo una misma SSID una red más grande), sino que creamos una nueva red, con su propia SSID, que se conecta a la red original del 3COM y nos permite rellenar una zona sin cobertura con esta nueva red. La idea sería la siguiente:

ARQUITECTURA:

REQUISITOS:
  • Router 3COM que será el que queramos repetir.
  • Router Linksys wrt54G que funcionará como repetidor del anterior.
  • Versión firmware para el Linksys wrt54G descargable aquí.
CONFIGURACIÓN DEL ROUTER 3COM:

En mi caso, el único cambio que realicé sobre el router "fuente" fue establecer el modo de seguridad (encriptación) mediante clave WEP de 128 bits.

CONFIGURACIÓN DEL ROUTER LINKSYS WRT54G:

Tras haber actualizado el firmware del router con la versión indicada, accederemos a la configuración del router a través de cable LAN (cualquiera de los puertos 1 - 4 LAN) a través de la dirección 192.168.1.1 en el navegador WEB.

Aparecerá entonces una pantalla como la siguiente:


En ese momento, al intentar acceder a alguna de las funciones, nos pedirá la clave y contraseña de acceso. Siendo usuario = root y contraseña = admin.

A continuación, asignamos una IP para nuestra nueva red. Así, en "Setup", en la pestaña "Setup Básico" (podéis configurar el idioma a Spanish en "Administración"), asignáis una IP para la nueva red, y establecéis el servidor DHCP para esta nueva red a "activo":



El siguiente paso es configurar el modo inalámbrico como repetidor. Así, en "Inalámbrico", sobre la pestaña "Config. Básica", establecemos el módo inalámbrico como "Repeater". El modo Wifi será el mismo que tengamos en el 3COM (en mi caso mixed= b + g). Y el nombre de red SSID, el que queramos repetir (es decir, el del 3COM). Después debemos añadir una nueva SSID virtual, que será la que nos aparecerá definida para nuestra nueva red. Así, le damos un nombre nuevo (repetidor, p.ej), y los parámetros por defecto:



En cuanto a la seguridad inalámbrica (encriptación), dado que, por un lado, el router LINKSYS se conecta al 3COM y, posiblemente tengamos habilitada la seguridad en éste (como es en mi caso), debemos configurar la clave de acceso para que pueda realizar la conexión. Según he leído en algún sitio, sólo funciona con claves tipo WEP Y WPA. Yo opto por WEP DE 128bits (26 hexadecimal). Además, si habilitáis también la seguridad para vuestra nueva red, también tendréis que añadir una clave. Como podéis ver en la siguiente imagen:



Por último sólo quedaría deshabilitar el firewall para que no de problemas (pues se supone que ya está configurado en el 3COM).

Y con todo esto, yo estoy disfrutando de internet en la piscina, justo al otro lado de la casa donde tenía el 3COM, ayudado de la FONTENA, XDD.

Espero que os haya servido a alguno.

Actualización

Fis2 me recordaba que, bajo esta solución, los recursos compartidos no están visibles entre equipos de las dos redes diferentes creadas. Es decir, los equipos de la red A sólo ven recursos y equipos de esa red, y los de la red B sólo ven lo que hay en la B.

Este problema debe ser alguna limitación de windows (o una configuración escondida que no soy capaz de encontrar).

Para resolver esto, y tener todos los recursos que existen en las dos redes seguimos los siguientes pasos:

1º. Comprobamos que realmente tenemos acceso al equipo de la otra red que contiene los recursos mediante un ping:


2º. Accedemos de forma manual al equipo o recurso, para que windows "recuerde" el nombre de todos los recursos que en él se comparten:


Veremos entonces los recursos compartidos.

Más fácil que el punto 3º. Una vez tenemos la ventana con los recursos que nos ha mostrado el punto anterior, vamos arrastrando a la ventana de "Mis sitios de red". Asi los tendremos en un instante!

3º. Vamos a "Mis sitios de red" y allí, en el icono de la izquierda "Agregar un sitio de red", tras hacer click un par de veces en "siguiente", seleccionando "Elija otra ubicación de red", introducimos la misma dirección que la anterior. Entonces veremos cómo windows ha "recordado" el nombre de los recursos. Iremos seleccionando cada uno de ellos hasta tener los deseados.


Finalmente se nos agregará el icono correspondiente en la zona "Internet", en vez de en "Local", como estamos acostumbrados.


31 mayo 2008

Somos lo que buscamos

Digamos que escribo esta entrada como quien visita a alguien por cumplir, y al rato dice eso de "bueno, me alegro mucho de veros, pero no me siento que tengo que ir a recoger unos papeles y me cierran".

El caso es que me he puesto un momento a buscar unas palabrillas en Google Trends, y al final me he dado cuenta de lo costumbristas que somos. Sí, sí, sino haced la prueba.

En primer lugar, para el que no sepa lo que es Google Trends, es una de tantas y tantas herramientas que tiene Google. Se encarga de mostrarte, mediante una gráfica, el número de veces que una palabra es buscada por los usuarios de forma histórica. Así, guardan estadísticas desde comienzos del 2004.

Gracias a esto, si nosotros buscamos estas 3 palabras: "google, yahoo, msn", podemos ver, de forma lógica, como han ido en aumento la cantidad de búsquedas que se hacen sobre ellas (dado que esa evolución es proporcional a la popularidad de la misma):



Pues bien, lo interesante es ver cómo evolucionan esas búsquedas y comprobar que, año tras año, el ser humano se comporta de la misma forma, y, de forma colectiva, se ve interesado por las mismas cosas y necesidades.

Véase unos ejemplos:

¿Necesitamos unas vacaciones?



¿Se acercan las compras de navidad (regalos)?



¿Toca esquí o toca playa?



Se acerca el buen tiempo, ¿nos compramos un chalet con jardin?



¿A estudiar? (Universidad, Uned, Selectividad, Colegio). Parece que va en declive...



Y ahora sigo con lo mío, que es lo que toca.

29 mayo 2008

Google Maps está bien, pero mejor está Google Earth

En la última conferencia sobre Google I/O se ha presentado un nuevo plug-in para los navegadores web que permiten visualizar Google Earth en el mismo.

Sin duda esto es un paso adelante, ya que Google ofrece un nuevo soporte para la generación de nuevos productos. Los desarrolladores verán satisfechas sus necesiades, pudiendo ofrecer un contenido más atractivo a los usuarios, aprovechando las ventajas virtuales que ofrecen las tres dimensiones:




Este es el resultado si no instaláis el plugin.



Por cierto, ahora que el Asus Eee deja de ser objeto exclusivo, y posiblemente os animéis a pillar aquí uno en España, decir que ejecuta esta Api de Google maravillosamente.

27 mayo 2008

Fases del estudio

Acabo de terminar un tema, paso al siguiente.
Aprovecho para ver correo.
Mañana, exámen.

La suma de estas tres circunstancias me recuerdan un correo muy gracioso que recibí hace tiempo, y que posiblemente se os pase por la cabeza ahora mismo la siguiente idea: "ah sí, yo también lo recibí, vaya novedad".

El caso es que me hizo mucha gracia.

Seguro que a wolo, que pronto me leerá tras la luz del RSS, se reirá.

En fin, esto es lo que me hizo gracia.

HISTORIA DEL CUATRIMESTRE UNIVERSITARIO

user posted image

En la primera semana:
user posted image

En la segunda semana
user posted image

Antes del examen semestral:
user posted image

Durante el examen semestral:
user posted image

Después del exámen semestral:
user posted image

Antes del examen final:
user posted image

Una vez que sabes la hora del examen final:

user posted image

7 días antes del examen final:

user posted image

6 días antes del examen final:

user posted image

5 días antes del examen final:

user posted image

4 días antes del examen final:
user posted image

3 días antes del examen final:
user posted image

2 días antes del examen final:
user posted image

1 días antes del examen final:

user posted image

Una noche antes del examen final:
user posted image

1 hora antes del examen final:
user posted image

Durante el examen final:
user posted image

Una vez que saliste del examen final:

user posted image

Después del examen final, en vacaciones:

user posted image

FELIZ FINAL DE CUATRIMESTRE !!

Ahora, a continuar.

19 mayo 2008

El sonido de una noche de verano

Una de las ventajas que tiene vivir en un pueblo es que por la noche, a parte de que el aire huele a aire, se puede escuchar el silencio.

Pero mucho mejor que escuchar el silencio es escuchar ciertas aves nocturnas.

Digo esto porque todos los años, a partir de estas fechas, cuando tienes que comenzar a dejar abierta la ventana por la noche, y trasnochas para estudiar, puedes disfrutar del canto de la lechuza y del autillo.

Este año, además, se suma al grupo el mirlo común. Nunca había visto tantos ejemplares rondando por aquí tan alegremente. Me atrevo a decir que los veo con más facilidad, incluso, que a los gorriones. (Lo achacamos al cambio climático ??). Sea como sea, y si alguna vez os habéis despertado en una tienda de campaña muy de mañana por el canto de algún ave, seguro que era un mirlo. Su canto, un placer escucharlo.

En fin, para los que no tengáis cerca una lechuza, un autillo o un mirlo, aquí os pincho su voz:







Por cierto, una noche se me posó una lechuza en la ventana, preciosa!

17 mayo 2008

De Deezer, Joost, y cosas varias

Hace mucho que no se mueve el blog, la falta de tiempo, como ahora, ya no se puede ni contestar a los comentarios... (perdón a todos).

El caso es que, viendo emails, veo el "newsletter" de Joost, sí, ese servicio de televisión por internet, muy atractivo e interesante.

El caso es que en su día me gustó mucho, me sigue gustando, pero hace muucho, (más del tiempo que llevo sin escribir) que no me conecto a su red.

El caso es que lo comparo con Deezer, una comparación muy cercana de servicios, y veo que este último tiene más opciones de triunfo.



Sencilla razón: Joost capta tu atención, impide que hagas otra cosa que no sea la de ver el vídeo que hayas seleccionado. Deezer, en cambio, es como la radio, podrás prestar más o menos atención, según la canción que escuches, pero aún cuando lo hagas, podrás seguir haciendo lo que estabas haciendo.

A mi entender, es lo que le impide despegar a la televisión por internet según el modelo joost. Apple Tv supo hacerlo bien en cierto modo, separando ese contenido del PC, y llevarlo al salón, donde nada te distrae de distraerte. Sin embargo, la tecnologia subyacente que tenemos en España, no está de parte de equipos de salón que hagan streaming de servicios como Joost.

Entre tanto, a seguir entrenando redes neuronales y preparando exámenes...

25 marzo 2008

Chatea como invitado en Gtalk

Volvimos de vacaciones. Como siempre, cortas.

Ahora toca trabajar, madrugar, y "rutinar".

Volvemos a conectarnos al mundo, (con lo bien que ha venido esa desconexión).

Y hablando de conexiones, de estar conectado, en contacto, con tus amigos o familiares, vuelvo a recomendar Gtalk.

Sí, soy antimessenger y me muevo con gtalk. Eso sí, no gtalk versión española, no. Yo uso la versión más completa, la de los americanos.

Recordemos que la versión inglesa permite transferencia de archivos, previsualización de imágenes (para mí uno de los puntos fuertes) y algún plus extra que ahora mismo no recuerdo (orkut...).

Pero todo esto no es nuevo, ya se conoce.

Lo que sí es nuevo es la opción que nos permite crear un enlace de conversación para invitados. Un enlace como éste:



Así, un usuario que no tenga cuenta en gmail (hablando con propiedad, cuenta google, dada su extensión), no necesita crearla para establecer una conexión contigo (en este caso conmigo).

En fin. Soluciones simples. Soluciones grandes.

07 marzo 2008

Asus Eee, punto de inflexión

Hace ya unos séis meses que Asus lanzó su ultra portátil, el Asus Eee, y desde entonces la competencia no se ha dormido y es ahora cuando comienza a advertirse el alcance que ha tenido tal decisión por parte de esta empresa.

Aunque no debemos otorgarle todo el mérito a Asus, pues antes que ella surgió como proyecto solidario (un portátil para un niño) el desarrollo de OLPCs de propósito no comercial, y más tarde Palm presentaba su Foleo (destinado al fracaso, debido al concepto de extensión de tu móvil Palm). También lo intentó VIA, con su NanoBook, no obstante, su diseño no atraía lo suficiente a las masas y tampoco consiguió dar el gran salto. Es por eso que, dos meses más tarde, podíamos asignarle el mérito a Asus por la presentación de sus dos modelos (2G y 4G), al presentar un equipo completo en su interior, y atractivo en su exterior.

Decimos que Asus ha marcado un punto de inflexión o, al menos, parece que abre una nueva vía en el desarrollo de equipos portátiles, alejándose de los caros sistemas de doble núcleo, con potentes gráficas pero, tal vez, demasiado completos para un usuario más práctico. Han ocupado el peldaño que todavía quedaba por cubrir en el concepto de movilidad, entre el móvil y el portátil, bautizándolo como (o reforzando el concepto) ULTRAPORTÁTIL o UMPC.

Ese concepto se refleja en la aparición, tras el Asus Eee, del Cloudbook de Everex, el ELONEX ONE, el G10IL de ECS, el equipo que nos presenta Medion, GeniePc de Gecube, y un largo etcétera que podremos encontrarnos a partir de ahora, sin olvidar una nueva patada que ha dado Asus con el nuevo modelo de 9 pulgadas y 12Gb de disco.

Tan sólo nos queda esperar, aquí en España, a que alguno de estos haga acto de presencia y entonces tal vez la teoría se ponga aquí en práctica.


OLPC:


FOLEO:


NanoBook:


Asus Eee 7":


CloudBook:


ELONEX ONE:


G10IL:


Medion:


GeniePC:


Asus Eee 9":