Remote Mouse - Joe Fernandez
Transcripción
Remote Mouse - Joe Fernandez
Remote Mouse Desarrolador: José Luis Fernández Gorroño Himperia iPhone App Challenge Madrid - Septiembre 2008 Nota: Ya que este programa funciona tanto en iPhone como en iPod Touch, en varias ocasiones se refiere a ambos como el dispositivo. 1 Índice ¿Qué es Remote Mouse? …………………………… Pág. 3 ¿Cómo funciona? ………………………………………. Pág. 3 ¿Utilidad? …………………………………………………. Pág. 13 ¿Problemas? ……………………………………………… Pág. 18 2 ¿Qué es Remote Mouse? Originalmente Remote Mouse fue pensado como una aplicación para controlar el cursor del ratón de un ordenador mediante el movimiento del iPhone/iPod touch, de allí su nombre, pero a día de hoy, a parte del control del cursor, también permite controlar las teclas de dirección del teclado. Gracias al acelerómetro que viene en cada iPhone/iPod Touch y a la interfaz de la que se dispone con este gracias al SDK para iPhone, se puede acceder a los datos que nos informa sobre el movimiento del dispositivo. ¿Cómo funciona? Hay dos partes bien diferenciadas en Remote Mouse. Por un lado se tiene la aplicación en el dispositivo que da la opción al usuario de controlar el puntero del ratón o bien las teclas de dirección del teclado y, una vez seleccionada la preferencia, obtiene los datos de movimiento del acelerómetro y se los transmite al ordenador. En el ordenador, un pequeño programa llamado Remote Mouse Server programado en Java por su ventaja de la multiplataforma, recibe los datos de Remote Mouse del dispositivo y realiza las acciones oportunas. ¿Cómo se transmite la información entre ambas partes? Se emplea para ello un socket TCP estableciendo un canal de comunicación entre los dos programas. Para que Remote Mouse en el dispositivo sepa a que dirección IP ha de conectarse, Remote Mouse Server pone en marcha un servicio Bonjour (la implementación de Apple de Zeroconf o Zero-Configuration Networking) y entonces Remote Mouse en el dispositivo busca ese servicio Bonjour y obtiene los datos para conectarse. Usando Bonjour se evita que el usuario tenga que estar introduciendo IP’s, abriendo puertos y toda la problemática que eso lleva. Remote Mouse buscará el servicio Bonjour en la red local a la que esté conectado el dispositivo, por ello este ha de conectarse a la misma red Wifi a la que está conectado el ordenador a controlar. 3 El siguiente diagrama muestra a grandes rasgos el funcionamiento y las posibilidades de funcionamiento de Remote Mouse. Mac OS X Con Java SE 1.5 (o superior) Apple Bonjour Windows XP, Vista Con Java SE 1.5 (o superior) Apple Bonjour Linux (también FreeBSD, Solaris) Con Java SE 1.5 (o superior) Apple Bonjour Remote Mouse Server Remote Mouse Server Remote Mouse Server Red Wifi X Y . . X Y . . X Y = 4 = 8 = 15 = 16 = 23 = 42 iPhone/iPod Touch iPhone OS 2.0 (o superior) Remote Mouse 4 Control del Ratón y Teclas de dirección en Mac OS X: Tanto Mac OS X 10.4 “Tiger” y Mac OS X 10.5 “Leopard” cuentan con Java SE 5 y Bonjour de serie, por lo tanto sólo hace falta ejecutar Remote Mouse Server haciendo doble click en RemoteMouseServer.jar y ya podremos usar Remote Mouse. Control del Ratón y Teclas de dirección Windows XP, Vista: Lo primero que tenemos que tener es Java SE 5 o superior instalado, este se puede descargar desde la web de Sun Microsystems: (http://www.java.com/en/download/manual.jsp?locale=en&host=www.ja va.com:80) Desde esta web también se puede comprobar si tenemos Java ya instalado. A continuación habrá que instalar Bonjour, teóricamente junto con el programa iTunes ya viene Bonjour, pero la instalación de Bonjour junto con iTunes no instala correctamente las librerías necesarias para la correcta ejecución de Remote Mouse Server. Apple recomienda para estos casos desinstalar la actual instalación de Bonjour y bajarse el instalador para Windows desde su web oficial e instalarlo de esta manera. Veámoslo paso a paso: 1. Desinstalar Bonjour (En caso de estar presente): Para ello vamos a Inicio Panel de Control Agregar o quitar programas Y desde aquí se desinstala la actual instalación de Bonjour. 5 2. A continuación se descarga la última versión de Bonjour desde el siguiente enlace: http://developer.apple.com/networking/bonjour/download/ 6 3. Se instala Bonjour 4. ¡Hecho! Ya podemos ejecutar Remote Mouse Server (Doble Click en RemoteMouseServer.jar) 7 Control del Ratón y Teclas de dirección en Linux, FreeBSD, Solaris: Al igual que en el resto de sistemas operativos habrá que asegurarse tener instalado Java SE 5 o superior. Para instalar Bonjour habrá que descargarse el código fuente desde la página oficial de Apple http://developer.apple.com/networking/bonjour/download/ y compilarlo. 8 Imágenes de la aplicación Pantalla inicial, por defecto en modo Ratón Precisión. Pantalla de configuración de Remote Mouse: 9 Modo Ratón en funcionamiento 10 Modo teclado en funcionamiento: Conectando: 11 Mensaje de error si no se consigue conectar al ordenador: 12 ¿Utilidad? La más obvia es el control remoto del ratón y de las teclas de dirección, pero tras unos minutos de uso se vera que no ira a remplazar nuestro ratón de siempre. De todas formas hay ciertos escenarios en los que sí que puede ser de utilidad, a continuación se enumeran unos cuantos: Para pasar diapositivas en una presentación Con el modo teclado, se pueden ir pasando diapositivas de una presentación PowerPoint, por ejemplo, con tan solo inclinar el dispositivo a la derecha para avanzar o a la izquierda para retroceder de diapositiva. Para controlar aplicaciones de mapas Con el modo teclado se puede ir desplazándose por las aplicaciones de mapas: Google Maps, Live Maps, Yahoo! Maps, etc. Con tan sólo ir moviendo el dispositivo. Desplazándose en modo Bird’s Eye en Live Maps (maps.live.com) 13 Con el mapa de Yahoo! Maps (maps.yahoo.com) También con el programa Google Earth nos podemos ir desplazando en las distintas vistas/modalidades que este nos ofrece: En Google Earth A “nivel de calle” y con Edificios en 3D activados 14 Las últimas versiones de Google Earth vienen ofreciendo un modo llamado Flight Simulator que, como bien indica su nombre, recrea un simulador de vuelo. Este modo se activa en el menú Tool Enter Flight Simulator. Una vez seleccionadas nuestra preferencia de avión y lugar se salida, entramos en este modo. Si se hace un click el avión pasará a controlarlo el ratón. Es aquí cuando Remote Mouse entra en juego: seleccionado en modo Ratón y cómo preferencia Velocidad en Remote Mouse pasaremos a controlar este simulador. ¡Engancha! Modo Flight Simulator en Google Earth Enlace descarga Google Earth: http://earth.google.com/downloadearth.html 15 Para controlar juegos Otra utilidad curiosa que se le puede dar a Remote Mouse es usarlo como un “Joystiq”, a continuación se enumeran una lista de juegos Flash en los que probar este aspecto. (Se han elegido juegos en Flash ya que pueden ser ejecutados en distintos sistemas operativos con distintos navegadores de Internet. También podría servir para controlar ciertos aspectos de juegos “completos”). - 3D Missile: [Modo Ratón en Remote Mouse] se trata de ir pasando los obstáculos moviendo la cámara con el ratón mientras se avanza por un tubo. Enlace: http://www.albinoblacksheep.com/games/missilegame3d - Disorientation: [Modo Teclado en Remote Mouse]: Consiste en irse desplazando con las teclas de dirección mientas las paredes se van moviendo y produciendo otros efectos. Enlace: http://jiggmin.com/play.php?game=the_Game_of_Disorientation 16 - Scania Driver: [Modo Teclado en Remote Mouse]: Hay que ir conduciendo un camión intentando respetar las normas de circulación. Enlace: http://www.minijuegos.com/juegos/jugar.php?id=6947 17 ¿Problemas? - No inicia Remote Mouse Server: Si Remote Mouse Server no arrancase, se puede ver cuál es el motivo del fallo ejecutándolo desde una línea de comandos (En Windows: Inicio Ejecutar CMD; En Mac OS X, Linux, FreeBSD, Solaris: Terminal). Habrá que posicionarse en el directorio donde se encuentra RemoteMouseServer.jar e introducir el siguiente comando: java –jar RemoteMouseServer.jar Si aparecen errores del tipo ClassDefNotFound significará que Bonjour no está o no ha sido correctamente instalado y sería aconsejable desinstalar e instalarlo de nuevo. - No tengo un router Wifi: Es posible crear una red Wifi local con el ordenador sin necesidad de router, vease: http://www.applesfera.com/2008/08/18-utiliza-laaplicacion-remote-sin-un-router-wifi 18