Asociar dispositivos Bluetooth en Gnome
Una conexión entre dos dispositivos Bluetooth para la transferencia de ficheros, requiere que los dispositivos estén asociados.
Para asociar dos dispositivos Bluetooth, se pide a las dos partes que introduzcan una contraseña (o pin) idéntica.
Para hacer esto con BlueZ, he leido que hay que escribir el pin deseado en el fichero /etc/bluetooth/pin, y con introducirlo en el otro dispositivo bastaría. Vale… ¡pues a mí no me funciona! El dispositivo pide que introduzcamos el pin, pero hagas lo que hagas, da un error de pin incorrecto y cancela la asociación.
La solución la he encontrado en el paquete bluez-passkey-gnome que hay disponible en el repositorio de Ubuntu >= 6.10. Si se instala este paquete (reiniciar gnome después de la instalación), al intentar de nuevo la asociación, aparece una solicitud de asociación en el Escritorio, donde podemos introducir el mismo pin que en el dispositivo ¡et voilà!
Bluetooth en Gnome
La integración de Gnome con Bluetooth consiste en un páquete llamado gnome-bluetooth, que básicamente consiste en dos utilidades para enviar y recibir un fichero a/de otro dispositivo bluetooth.
Este envío se hace mediante OBEX PUSH, con lo que podemos enviar ficheros uno a uno, creando una conexión (y aceptándola) para cada fichero que queramos enviar. Eso si conseguimos hacerlo funcionar.
Perfiles Bluetooth
En el blog de Gospel, Alberto Moreno escribe un artículo muy interesante sobre los perfiles Bluetooth:
El SIG Bluetooth ha identificado varios modelos de uso del estándar de comunicaciones Bluetooth, cada uno de los cuales está acompañado por un perfil. Los perfiles definen los protocolos y características que soportan un modelo de uso particular. Esto garantiza la interoperabilidad, ya que si dos dispositivos de distintos fabricantes cumplen con la misma especificación del perfil Bluetooth, podemos esperar que interactúen correctamente cuando se utilicen para un uso particular.
Un perfil define los mensajes específicos y procedimientos usados para implementar una característica. Algunas características son obligatorias y algunas pueden ser opcionales.
Se definen cuatro perfiles genéricos que contienen la especificación de otros perfiles más específicos para modelos de uso: el Perfil de Acceso Genérico (GAP, Generis Access Profile), el Perfil de Puerto Serie (SPP, Serial Port Profile), el Perfil de Aplicación de Descubrimiento de Servicios (SDAP, Service Discovery Application Profile) y el Perfil Genérico de Intercambio de Objetos (GOEP, Generic Object Exchange Profile).

Elvira utilizará el Perfil de Transferencia de Archivos.
OBEX FTP GNU/Linux Front-ends
En la página del proyecto OpenObex enlazan con tres front-ends del subproyecto ObexFtp hechas por usuarios, pero los resultados no son todo lo bueno que deberían ser.
- ObexTool: GUI file management tool written in Tcl/Tk using ObexFTP
Entre las pegas está el aspecto gráfico muy poco cuidado, la necesidad de TK instalado en tu sistema junto con algunos complementos dificiles de obtener, el hecho importante de que no permite la busqueda de dispositivos y como extensión la necesidad también de conocimientos sobre las herramientas de openobex en línea de comandos… Además parece utilizar el comando obexftp y capturar sus salidas para hacer el trabajo, lo que provoca la creación de una nueva sesión y una incomoda pregunta de seguridad en el dispositivo por cada accion que queremos realizar.
- ObexFTP Front-end: Java Swing Gui for ObexFTP
Las pegas son parecidas a las de ObexTool. Necesitas tener la ultima version del j2re de java instalada en tu sistema y no dispone de búsqueda de dispositivos, con lo que necesitas saber detalles como la dirección mac de tu dipositivo bluetooth y para ello debes usar otra herramienta como las utilidades en linea de comando de BlueZ. También parece utilizar el comando obexftp de OpenObex para hacer su trabajo, con lo que surge el mismo problema que con ObexTool.
- Cs-ObexFtp: C# ObexFTP GUI (under development).
Aquí sí tenemos busqueda de dispositivos, pero es una aplicación todavía en desarrollo. Además seguimos teniendo necesidad de tener alguna implementación para GNU/Linux del framework .NET 2.0 y conocimientos sobre Bluetooth. La instalación es muy complicada, de hecho, no he conseguido hacerlo funcionar.
OBEX en GNU/Linux
Existe una implementación libre para GNU/Linux del protocolo OBEX (OBject EXchange): OpenObex
The overall goal of this project is to make an open source implementation of the Object Exchange (OBEX) protocol. OBEX is a session protocol and can best be described as a binary HTTP protocol.
Documentación del API de OpenObex.
Dentro del mismo proyecto existe otra implementación libre de OBEX FTP: ObexFtp
The main goal of this project is to make mobile devices that feature the OBEX protocol and that adhere to the OBEX FTP standard accessible using an open source implementation.
No busqueis la documentación del API de ObexFtp porque no existe.
Así que… ¡a mirar código!
Especificación oficial Bluetooth y OBEX
La documentación oficial sobre Bluetooth y sus servicios puede encontrarse en la página Bluetooth.com, más concretamente en la sección Specification Documents.
Los documentos interesantes que son necesarios para OBEX FTP son:
-
Recientes
- Screencast
- Publicado Elvira Bluetooth FTP 0.1
- Instalación de Elvira Bluetooth FTP
- Eclipse CDT: Plugin de Eclipse para C/C++
- Programando GTK en C
- Primer diseño de la Interfaz
- Glade Interface Designer
- Libxml: XML Parser del proyecto Gnome
- Asociar dispositivos Bluetooth en Gnome
- Bluetooth en Gnome
- Perfiles Bluetooth
- OBEX FTP GNU/Linux Front-ends
-
Enlaces
-
Archivos
- abril 2008 (1)
- febrero 2008 (2)
- diciembre 2007 (12)
- noviembre 2007 (1)
-
Categorías
-
RSS
RSS de las entradas
RSS de los Comentarios
