Posted by
marlonj on Jan 19th, 2009 in
Cacharreos |
2 comments
Avetana es una libreria opensource que que permite crear servicio utilizando Bluetooth en Java y que implementa la especificacion JSR-82 el API de acceso a Bluetooth para J2ME, esta libreria la vengo utilizando desde hace unos cinco años para hacer algunas aplicaciones que conecten los moviles con el computador, lastimosamente no la han actualizado desde hace dos años y solo es opensource la version para linux, mientras para utilizar la version de Windows se debe pagar por la licencia.
Debido a que la libreria de Avetana no se actualiza desde hace mucho tiempo, se debe compilar de nuevo para que soporte las nuevas versiones de la libreria BlueZ que da soporte a Bluetooth en el sistema operativo Linux, a continuacion compilaremos la libreria utilizando Ubuntu 8.10
Pasos :
- Abrir una terminal
- Instale las herramientas de desarrollo de Java,
el autoconf y el paquete de desarrollo de bluetooth :
Abra una terminal y ejecute el comando :
sudo apt-get install sun-java6-jdk
sudo apt-get install autoconf
sudo apt-get install libbluetooth3-dev
- Descargue los fuentes de la libreria Avetana, en este caso utilizaremos
el archivo avetanabt-20070719.tgz disponible en el sitio de proyecto
Cargue las siguiente direccion y baje el archivo
http://sourceforge.net/project/showfiles.php?group_id=113785
La forma rapida seria en la terminal ejecutar el siguiente comando :
wget http://superb-west.dl.sourceforge.net/sourceforge/avetanabt/avetanabt-20070719.tgz
- Cree el directorio avetanabt-20070719 y cambie de directorio
mkdir avetanabt-20070719
cd avetanabt-20070719
- Descomprima el archivo
tar -zxvf ../avetanabt-20070719.tgz
- Abrir el archivo c/BlueZ.cpp ir a la linea 652
vi c/BlueZ.cpp
- Cambiar
Cambie la cadena hci_local_name por hci_read_local_name
- Cree las siguientes variables de entorno, cambie la <ruta> por la ruta completa
de directorios al directorio donde descomprimio la distribucion de avetana :
export JDK_HOME=/usr/lib/jvm/java-6-sun
export BIN_DIR=/<ruta>/avetanabt-20070719/binaries
- Compile los fuentes, cree la libreria nativa y comprima todo utilizando
el siguiente comando :
./install
- Pruebe la libreria, ejecutando el programa de prueba de esta,
obtenga la direccion del dispositivo, el nombre, ...
java -cp binaries/avetanaBT.jar de.avetana.bluetooth.JSRTest
A diferencias de otras veces cuando compile la libreria, donde tuve que modificar le Makefile y otros archivos, esta vez solo tuve que cambiar el llamado a la funcion hci_local_name por hci_read_local_name, debido a un cambio en BlueZ, ya he probado algunas de las aplicaciones que he desarrollado con Bluetooth y han funcionado.
De todos modos tengo que mirar el proyecto BlueCove que provee librerias para el soporte de Bluetooth desde Java para las plataformas Windows y Linux, siendo esta ultima basada en BlueZ y la cual esta siendo actualizada todavia.
Entradas Relacionadas:
- Compilando Archivos de Localizacion PO
Leave a Reply
Muchas gracias. Tenía una aplicación corriendo con avetana en Ubuntu 7.10 y he tenido que migrarla a Ubuntu 8.10. ¡Ya me estaba volviendo loco!. Me ha sido de gran ayuda.
Hola mira q segui todos los pasos q estan en el foro pero me sale este error :
root@juan-desktop:~/avetanabt-20070719# java -cp binaries/avetanaBT.jar de.avetana.bluetooth.JSRTest
Loading library avetanaBT from ld.library.path
Exception in thread “main” javax.bluetooth.BluetoothStateException: Native Library avetanaBT not in CLASSPATH !
at javax.bluetooth.LocalDevice.(LocalDevice.java:61)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:73)
at de.avetana.bluetooth.JSRTest.main(JSRTest.java:1251)
como lo puedo solucionar???