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

Documentos relacionados