360 likes | 569 Views
J2ME, J2SE y Bluetooth: Conexión PC con Celular. Diego González Barrientos 01 de Junio de 2007. Introducción. En la primera presentación, se presento un entorno de simulación de programas realizados con J2ME para dispositivos móbiles. Se explicó a grandes rasgos Bluetooth y J2ME.
E N D
J2ME, J2SE y Bluetooth:Conexión PC con Celular Diego González Barrientos 01 de Junio de 2007
Introducción • En la primera presentación, se presento un entorno de simulación de programas realizados con J2ME para dispositivos móbiles. • Se explicó a grandes rasgos Bluetooth y J2ME. • Se explicaron los códigos para búsqueda de dispositivos y servicios. • Se mostraron ejemplos de conexiones simuladas entre dispositivos con Bluetooth.
Corrección a presentación 1 Pasos para que funcione WTK • Paso1: Instalar JDK 1.5 o superior • Paso2: Instalar WTK 2.5 CLDC
Objetivos • Presentar el simulador Impronto • Presentar Bluecove que permitirá conexión Celular-PC • Presentar java.comm como método alternativo a Bluecove para conectar Celular-PC
Problemas WTK • No permite simulación de dispositivos que no contengan perfil MIDP y configuración CLDC. • Es decir no permite simulación de conexiones bluetooth entre PC’s o PC-Celular, etc.. • Conclusión, no soporta J2SE sino que sólo J2ME.
Idea de la presentación • Presentar emulador que soporte tanto J2SE y J2ME: • Instalación • Ejemplos • Presentar 2 formas de conexión exitosa entre PC y celular a través de bluetooth
Simulador J2SE y J2ME • Impronto Simulator • Emulador diseñado por la empresa Rococosoft • Distribuido de forma gratuita • Basta con enviar correo con datos y motivos • Envian licencia y acceso a descarga • simulator-install.jar • Para instalar se requiere jre para ejecutar .jar, doble click y listo. • Para compilar ejemplos se requiere jdk 1.5 o superior
Configurando Variables de Entorno para Impronto • Antes de compilar los ejemplos se deben configurar las variables de entorno PATH y JAVA_HOME • PATH con el directorio C:\Rococo\ImprontoSimulator\ant\bin • Y JAVA_HOME con el directorio del jdk, en este caso: C:\Archivos de programa\Java\jdk1.6.0_01
Compilando los ejemplos • Se debe abrir una línea de comandos • En ésta se debe ir al directorio C:\Rococo\ImprontoSimulator\ant\examples • Escribir ant y presionar enter • Con lo anterior se compilan los ejemplos que vienen en la instalación del emulador • Ahora en la línea de comandos nos movemos a la carpeta C:\Rococo\ImprontoSimulator\ant\examples • Escribimos manager y presionamos enter
Corriendo Aplicación “Echo Demo” para J2SE • En la línea de comando nos movemos al directorio C:\Rococo\ImprontoSimulator\examples\echo\bin • Escribimos start echo-server y presionamos enter
Corriendo Aplicación “Echo Demo” para J2SE • Configuramos un nombre amistoso • Por último escogemos Server->start
Corriendo Aplicación “Echo Demo” para J2SE • Ahora en la línea de comandos start echo-client • Se configura nombre amigable y Client->Select Server
Corriendo Aplicación “Echo Demo” para J2SE • Finalmente Client->Start
Corriendo Aplicación “Echo Demo” para J2ME • Se siguen pasos similares para correr el ejemplo echo-midp • En cambio se ejecuta echo.bat tanto para cliente como servidor • Por último se pueden efectuar combinaciones entre echo y echo-midp con el fin de demostrar que Impronto simula conexiones entre j2me-j2se
Ultimas palabras sobre Impronto • En el manager se pueden configurar datos de un dispositivo como el major type y el minor, si es visible o no, tipos de servicios y seguridad. • Las configuraciones de los perfiles de un dispositivo se almacenan en un archivo xml
Conclusiones sobre Impronto • Impronto permite simular conexiones entre PC y celulares, cosa que no cumple el WTK de Sun • Para mayor información del uso de esta simulador referirse al documento ImprontoUserGuide.pdf que viene en la instalación de éste.
Estableciendo conexión Bluetooth real PC - Celular • Se presentaran dos formas exitosas de establecimiento de conexión bluetooth real entre PC – celular. • Para realizar lo anterior se basará en la información obtenida de la página www.benhui.net
Primera Forma • Requerimientos • Computador con Windows XP SP2 • Adaptador Bluetooth USB • Un SDK para el desarrollo del MIDlet. Ej: WTK 2.5 • Bluecove Stack es una implementación de Bluetooth para Windows, permite controlar por software el dispositivo Bluetooth USB • Descargar ejemplos para J2SE y J2ME desde la página de bluecove • Celular con soporte MIDP y Bluetooh
Instalando Bluecove • Descargarlo de la página, tanto .jar como archivo fuente • Incluir bluecove.jar al classpath • Una forma de hacer lo anterior es copiando el archivo bluecove.jar a la carpeta lib del jdk o la carpeta lib del jre o a la carpeta lib/ext del jre • Ahora a correr el ejemplo … • Pero antes, compilar la librería intelbth.dll, que se incluye dentro de los archivos fuentes de bluecove a la carpeta Windows/system32
Cargando el Cliente en el Celular • Se descargan el .jad y .jar de la página de bluecove • Este corresponde al código de prueba de bluecove • Se debe subir el programa al celular
Cargando el Servidor en el PC • Se debe descargar el ejemplo de la página de bluecove • Insertar dispositivo Bluetooth USB en el PC • Ejecutar ejemplo en el PC • Ejecutar ejemplo en el Celular • Listo • Resultado: 0 fallas => prueba exitosa • Implica que bluecove esta funcionando OK
Comentarios • Existen dos ejemplos más con bluecove que se mostrarán en clases • Con estos ejemplos se demuestra que bluecove permite comunicación J2ME-J2SE • Además se dispone de los códigos para analizarlos y ver como implementan la aplicación dada
Segunda Forma de Conectar PC con Celular vía Bluetooth • Requerimientos • Los mismos que el primer caso, excepto que en este no se usa bluecove. • En cambio se usa javax.comm (comunicación por puerto serial) • OBS: El paquete para Windows se encuentra descontinuado, por lo cual se debe buscar en la página de sun, pues no se encuentra en la dirección puesta • Descargar código fuente para el cliente de la página de Benhui
Cargando el Cliente en el Celular • Primero que nada se debe compilar código fuente de cliente en el WTK 2.5 (tópico descrito en la primera presentación) • Esto con el fin de generar el .jad y .jar • Se debe subir el programa al celular • El ejemplo representa un cliente que se comunica vía puerto serial
Instalando el paquete javax.comm • Una vez descargado el paquete, se debe proceder a instalar. • Copiar comm.jar y javax.comm.properties a la carpeta lib del jdk, a la carpeta lib del jre y a la carpeta lib/ext del jre. • Copiar win32comm.dll a la carpeta bin del jdk y a la carpeta bin del jre
Ejemplo SerialDemo • Compilar el ejemplo SerialDemo que viene con el paquete. • Si la instalación salio OK, el ejemplo compilará sin problemas. • El ejemplo se compila con Jgrasp • Si se ejecuta, aparecerá la siguiente ventana.
Corriendo el ejemplo • Se debe tener el USB Bluetooth conectado y el celular con Bluetooth activado • Abrir el gestor del dispositivo Bluetooth en el PC y agregar puerto COM • OBS: Estos pasos dependen del administrador de dispositivo Bluetooth
Corriendo el ejemplo (2) • Las opciones del dispositivo Bluetooth deben estar configuradas así:
Corriendo el ejemplo (3) • Al correr el ejemplo nuevamente, veremos como tenemos como opción de puerto COM a COM4, al escogerla y presionar open port • La clave de paso, es una clave que ambos dispositivos deberán ingresar, Ej: 1111 • Una vez la clave se ingresa en ambos dispositivos la comunicación se ha autorizado
Resultado de Ejemplo • Una vez se estableció la conexión, en el celular se debe abrir la aplicación y buscar servicios • Una vez se encuentra el PC con bluetooth, este se debe escoger • Al escogerlo el programa manda error (obviamente no es la idea, algo malo hay) • Y se cierra
Conclusiones • En esta presentación se ha introducido una nueva herramienta que permite emular conexiones bluetooth entre dispositivos con soporte J2SE y J2ME • Se han presentado dos diferentes formas de establecer conexión entre celulares • El mejor caso claramente fue Bluecove, que permitió en 4 ejemplos demostrar su buen funcionamiento. Además se disponen códigos para estudiar su funcionamiento y generar una aplicación propia.
Conclusiones (2) • Para el segundo caso, se tiene el código pero la operación no termina exitosamente. • Además en éste caso, se debe configurar previamente el puerto COM que se comunicará con un dispositivo en particular (Este es un problema particular del dispositivo Bluetooth). • Queda pendiente para la última sesión, una aplicación con código manipulado, que permita comunicar exitosamente un celular con un PC, con cierto propósito. • OBS: Llama la atención la dificultad que represento buscar programas con una conexión exitosa entre PC y celular vía bluetooth dada la filosofía de este último.