Perfiles Bluetooth

Tabla de contenidos

Los Perfiles de Bluetooth
Perfiles genéricos
   Perfil de Acceso Genérico
   Perfil de Puerto Serie
   Perfil de Aplicación de Descubrimiento de Servicios
   Perfil Genérico de Intercambio de Objetos
Perfiles específicos de modelos de uso
   Perfil de Acceso Telefónico a Redes
   Perfil de Auriculares
   Perfil de Acceso a Red
   Perfil de Transferencia de Archivos
      Obexftp
   Perfil de Carga de Objetos
      ObexPush
      Ussp-Push
   Perfil de Sincronización

Los Perfiles de 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.

Por un lado, el SIG Bluetooth define cuatro perfiles genéricos (GAP, SPP, SDAP y GOEP), sobre los que se definen los diferentes perfiles específicos para modelos de uso, descritos en la especificación Bluetooth 1.0.

Adicionalmente, los siguientes perfiles han sido recientemente aprobados por el SIG o están en fase de desarrollo:



Perfiles genéricos


Se definen cuatro perfiles genéricos que contienen la especificación de los perfiles específicos: 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).




Perfil de Acceso Genérico

El Perfil de Acceso Genérico (GAP, Generis Access Profile) define los procedimientos generales para descubrir dispositivos Bluetooth, así como los procedimientos de gestión de enlace para establecer una conexión entre dos dispositivos Bluetooth.

El Perfil GAP debe implementarse en cualquier dispositivo Bluetoothpara asegurar la interoperabilidad básica y la coexistencia con otros dispositivos, independientemente del tipo de aplicación que soporten. Los dispositivos que además cumplan otro perfil Bluetooth pueden emplear adaptaciones de los procedimientos genéricos, tal como se especifiquen en ese perfil. Sin embargo, deben seguir siendo compatibles con el perfil GAP en el nivel de procedimientos genéricos.


Perfil de Puerto Serie

Cuando la tecnología inalámbrica Bluetooth se utiliza para sustituir al cable, se emplea el Perfil de Puerto Serie (SPP, Serial Port Profile) para el canal resultante orientado a conexión. Este perfil está construido sobre el Perfil de Acceso Genérico y define cómo deben configurarse los dispositivos Bluetooth para emular una conexión a través de un cable serie utilizando RFCOMM, un protocolo de transporte sencillo que emula los puertos serie RS-232 entre dispositivos homólogos.

Las aplicaciones ejecutadas en los dispositivos son normalmente aplicaciones heredadas que esperan que la comunicación tenga lugar a través de un cable serie. Cualquier aplicación heredada puede ser ejecutada sobre cualquiera de los dos dispositivos utilizando el puerto serie virtual como si los conectara un cable físico, con señalización de control RS-232; pudiendo necesitar la ayuda, en algunos casos, de una aplicación auxiliar que utilice la especificación Bluetooth a ambos lados del enlace.


Perfil de Aplicación de Descubrimiento de Servicios

El Perfil de Aplicación de Descubrimiento de Servicios (SDAP, Service Discovery Application Profile) describe las características y procedimientos utilizados para descubrir servicios registrados en otros dispositivos Bluetooth y obtener información acerca de esos servicios.

El Perfil SDAP utiliza el Protocolo de Descubrimiento de Servicios SDP, incluido en la pila de protocolos Bluetooth, para localizar los servicios disponibles en dispositivos situados dentro del radio de acción de un dispositivo Bluetooth. El procedimiento de descubrimiento de servicios en dispositivos próximos no es automático, se requiere que el usuario invoque específicamente al protocolo SDP mediante la Aplicación de Descubrimiento de Servicios. Una vez que se crea el enlace con un dispositivo determinado, se pueden localizar los servicios que ofrece y estos pueden ser seleccionados a través del interfaz de usuario según el tipo de aplicación que se desee ejecutar.

El protocolo SDP permite realizar dos tipos de operaciones relacionadas con el descubrimiento de servicios en dispositivos Bluetooth:

Perfil Genérico de Intercambio de Objetos

El Perfil Genérico de Intercambio de Objetos (GOEP, Generic Object Exchange Profile) define cómo deben soportar los dispositivos Bluetooth los modelos de uso de intercambio de objetos. Incluye tres perfiles asociados a modelos de uso específicos basados en el protocolo OBEX (OBject EXchange): el Perfil de Transferencia de Archivos (OBEX File Transfer), el Perfil de carga de objetos (OBEX Object Push) y el Perfil de Sincronización.

Como se describirá más adelante, OBEX permite escenarios de conexión rápida: transferencia-desconexión (OBEX Object Push) y también permite el establecimiento de sesiones en las que las transferencias tienen lugar durante un período de tiempo, manteniendo la conexión incluso cuando esté inactiva (OBEX File Transfer).

El uso principal de OBEX se realiza en aplicaciones de carga y descarga de archivos. Se basa en el modelo cliente/servidor. Bajo el Perfil Genérico de Intercambio de Objetos, un cliente carga o envía objetos de datos en un servidor mediante la operación PUT del protocolo OBEX; o bien descarga o recibe objetos de datos desde un servidor mediante la operación GET del protocolo OBEX.

Perfiles específicos de modelos de uso


Se han identificado cuatro perfiles genéricos (GAP, SPP, SDAP y GOEP), sobre los que se definen los diferentes perfiles específicos para modelos de uso. Estos perfiles Bluetooth para modelos de uso son múltiples y variados, y se implementan de manera opcional e independiente por cada fabricante y tipo de dispositivo.




La especificación Bluetooth 1.0 define los siguientes perfiles:

Adicionalmente, los siguientes perfiles han sido recientemente aprobados por el SIG o están en fase de desarrollo:



Perfil de Acceso Telefónico a Redes

El Perfil de Acceso Telefónico a Redes (DUN, Dial-Up Networking) define los protocolos y procedimientos utilizados por dispositivos tales como módems y teléfonos móviles para implementar el modelo de uso denominado puente hacia Internet. El escenario posible más habitual para este modelo es el uso del teléfono móvil como módem inalámbrico para conectar un PC a un servicio de acceso telefónico a Internet.


Perfil de Auriculares

El Perfil de Auriculares (HS, HeadSet Profile) define los protocolos y procedimientos para el modelo de uso que permite utilizar un dispositivo auricular de última generación como interfaz de entrada y salida de audio de otro dispositivo, generalmente un teléfono móvil o un PC, con el propósito de incrementar la libertad de movimiento del usuario al mismo tiempo que se mantiene la confidencialidad de la conversación.

Se definen dos roles para los dispositivos que implementan el Perfil de Auriculares: pasarela de audio y auricular. El dispositivo pasarela de audio es aquel que inicia el procedimiento de conexión, mientras que el dispositivo auricular se define como el que actúa como mecanismo de entrada y salida de audio remotas para la pasarela de audio.

El modelo de uso del Perfil de Auriculares permite multitud de configuraciones y define tres escenarios de uso habituales:

En el caso de los dos primeros escenarios, el dispositivo manos libres debe ser capaz de enviar comandos AT al teléfono móvil y recibir códigos de respuesta. Esta capacidad permite al manos libres responder llamadas entrantes y terminarlas sin que el usuario tenga que manipular físicamente el teléfono.

El Perfil de Auriculares requiere que los dos dispositivos involucrados soporten enlaces SCO. Por ello, solamente se admite una conexión de audio en cada momento entre el auricular y la pasarela de audio. La pasarela de audio controla el establecimiento y la liberación del enlace SCO. El auricular conecta y desconecta directamente los flujos internos de audio durante el establecimiento y liberación del enlace SCO. Una vez que el enlace está establecido, existe una transferencia válida de audio sobre el enlace SCO en ambas direcciones.


Perfil de Fax

El Perfil de Fax (FP, Fax Profile) define los protocolos y procedimientos utilizados por aquellos dispositivos que implementen la parte de fax del modelo de uso llamado punto de acceso a datos en redes WAN. Un teléfono móvil o un módem que utilice tecnología Bluetooth puede ser utilizado por un PC como dispositivo fax inalámbrico para enviar y recibir mensajes de fax.


Perfil de Acceso a Red

El Perfil de Acceso a Red (LAP, LAN Access Profile) define cómo los dispositivos Bluetooth pueden acceder a los servicios de una LAN (Local Area Network) utilizando el protocolo PPP sobre RFCOMM, y cómo puede utilizarse el mismo protocolo PPP para conectar en red dos dispositivos utilizando Bluetooth. En este modelo de uso, varios terminales de datos utilizan un punto de acceso a la red (LAP, LAN Access Point) como conexión inalámbrica a una red de área local, de forma que operan como si estuviesen conectados a la red directamente.

PPP (Point to Point Protocol) es un estándar de la IETF utilizado ampliamente como medio de acceso a redes. Aunque PPP es capaz de soportar varios protocolos de red (IP, IPX, etc.), el Perfil de Acceso a Red no obliga al uso de ningún protocolo en particular. El Perfil de Acceso a Red simplemente define cómo se soporta PPP para proporcionar acceso a la LAN a uno o múltiples dispositivos Bluetooth y para establecer una comunicación PC a PC utilizando conexiones PPP sobre una emulación de cable serie a través de RFCOMM.


Perfil de Transferencia de Archivos

El Perfil de Transferencia de Archivos (FTP, File Transfer Profile) soporta el modelo de uso de transferencia de archivos a través del protocolo OBEX File Transfer, el cual ofrece la capacidad de transferir objetos de datos (archivos y carpetas) de un dispositivo Bluetooth a otro, así como navegar por los contenidos de las carpetas del dispositivo remoto.

Los dispositivos que implementan el Perfil de Transferencia de Archivos pueden actuar como cliente o como servidor. El dispositivo cliente es aquel que inicia la operación de envío o extracción de objetos al y desde el dispositivo servidor. El servidor es el dispositivo Bluetooth remoto que proporciona un servidor de intercambio de objetos a través de los comandos OBEX. Los servidores pueden imponer políticas de restricción de permisos de lectura y escritura, para evitar la creación y borrado de carpetas y archivos.

Se definen las siguientes operaciones en el Perfil de Transferencia de Archivos:

A continuación se muestra un ejemplo práctico de una aplicación basada en el protocolo OBEX File Transfer, Obexftp.


Obexftp

Obexftp es una herramienta open source basada en el proyecto OpenObex (http://openobex.triq.net/), que pretende implementar el protocolo OBEX en plataformas Linux, para lo cual utiliza la pila de protocolos BlueZ. Obexftp permite la transferencia de archivos hacia o desde cualquier dispositivo que soporte el protocolo OBEX File Transfer.

En la siguiente captura, se muestra Obexftp en acción:




El procedimiento de transferencia de archivos con Obexftp transcurre de la siguiente forma. En primer lugar, se localiza el dispositivo Bluetooth al cual se quiere transferir el archivo con ayuda del comando hcitool scan, luego se comprueba que soporta el Perfil de Transferencia de Archivos (FTP) con ayuda del comando sdptool search FTP y finalmente se envía el archivo a través de la herramienta Obexftp.

En el ejemplo práctico de transferencia de archivos a través de la aplicación Obexftp, basada en el protocolo OBEX, el dispositivo servidor se trata de un teléfono móvil Nokia 6600 basado en Symbian OS. Al recibir el archivo a través del protocolo OBEX, el teléfono lo almacena en la bandeja de entrada con formato de mensaje SMS y notifica al usuario de la recepción del mismo.

   


Perfil de Carga de Objetos

El Perfil de Carga de Objetos (OPUSH u OPP, Object Push Profile) define los requisitos de aplicación para implementar el modelo de uso de carga de objetos a través del protocolo OBEX Object Push, el cual ofrece la capacidad de cargar y descargar objetos de datos de un dispositivo Bluetooth a otro.

Inicialmente, el Perfil de Carga de Objetos se utilizaba para cargar y descargar objetos tales como citas en formato vCalendar o tarjetas de visita en formato vCard de otro dispositivo, lo que permitía el intercambio de tarjetas de visita entre dos dispositivos Bluetooth. Actualmente, el perfil conserva esta funcionalidad, aunque también se utiliza para transferencia rápida de archivos.

A continuación se muestran dos ejemplos prácticos de aplicaciones basadas en el protocolo OBEX Object Push, ObexPush y Ussp-Push.


ObexPush

ObexPush es una utilidad incluida en el paquete openobex-apps (dependiente de cada distribución Linux) que contiene aplicaciones basadas en el proyecto OpenObex (http://openobex.triq.net/), que implementa el protocolo OBEX en Linux a través de la pila de protocolos BlueZ. ObexPush permite la carga y descarga de archivos hacia o desde cualquier dispositivo que implemente el protocolo OBEX Object Push.




El procedimiento de transferencia de archivos con ObexPush transcurre de la siguiente forma. En primer lugar, se localiza el dispositivo Bluetooth al cual se quiere transferir el archivo con ayuda del comando hcitool scan, luego se comprueba que soporta el Perfil de Carga de Objetos con ayuda del comando sdptool search OPUSH y finalmente se envía el archivo con la herramienta ObexPush. Nótese que, en este caso, es necesario especificar el parámetro 9 que corresponde al canal que emplea OBEX Object Push en ese dispositivo.


Ussp-Push

Ussp-Push es otra herramienta basada en la pila de protocolos BlueZ para Linux. Permite únicamente la carga de objetos en otros dispositivos Bluetooth.

En las siguientes capturas, se muestra Ussp-Push en acción.

En primer lugar, requiere establecer una conexión RFCOMM explícita con el dispositivo Bluetooth al cual se quiere transferir el archivo.




A continuación, desde otra ventana de shell lanzamos Ussp-Push.




En los dos casos de ejemplo práctico de transferencia de archivos a través de aplicaciones basadas en el protocolo OBEX, el dispositivo servidor se trata de un teléfono móvil Nokia 6600 basado en Symbian OS. Al recibir el archivo a través del protocolo OBEX, el teléfono lo almacena en la bandeja de entrada con formato de mensaje SMS y notifica al usuario de la recepción del mismo.

   


Perfil de Sincronización

El Perfil de Sincronización define los requisitos para los protocolos y procedimientos utilizados por las aplicaciones que proporcionan el modelo de uso de sincronización. El modelo proporciona sincronización dispositivo a dispositivo de programas de gestión de la información personal (PIM, Personal Information Management). La información que manejan estos programas consiste normalmente en una agenda de teléfonos de contactos, calendario, mensajes y notas.

Los dispositivos que implementan el Perfil de Sincronización pueden actuar como cliente y servidor.

Las unidades activas en el modelo de uso de sincronización deben soportar tres funciones: sincronización, comando de sincronización y sincronización automática.

Para conseguir la interoperabilidad a nivel de aplicación, se definen formatos de contenido específicos para cada unidad activa. Estos formatos de contenido son los siguientes: vCard, vCalendar, vMessage y vNote.

© 2005 - 2009 Alberto Moreno Tablado