Download - J2ME, J2SE y Bluetooth: Conexión PC con Celular Diego González Barrientos 01 de Junio de 2007
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.