Ap
endice A
Protocolo Bluetooth
A.1.
Arquitectura Bluetooth
La unidad b
asica de un sistema Bluetooth [?] es una piconet, que consta de un nodo
maestro (master ) y hasta siete nodos esclavos (slave) activos a una distancia de 10 metros.
Varias piconets pueden conectarse a traves de nodos puente, como se muestra en la figura
A.1, formando lo que se denomina una scatternet.
Figura A.1: Scatternet formada por 12 piconets
Ademas de los siete nodos esclavos activos de una piconet, puede haber hasta 255 nodos
estacionarios en la red. Estos
son dispositivos que el maestro ha cambiado a un estado de bajo
consumo para reducir el desgaste innecesario de sus bateras. Lo u
nico que un dispositivo en
estado estacionario puede hacer es responder a una se
nal de activacion por parte del maestro.
En esencia, una piconet es un sistema TDM centralizado, en el cual el maestro controla
el reloj y determina que dispositivo se comunica en un momento determinado. Todas las
comunicaciones se realizan entre el maestro y el esclavo; no existe comunicacion directa de
esclavo a esclavo.
[Link]
169
Ap
endice A. Protocolo Bluetooth
A.2.
Perfiles de Bluetooth
Para poder utilizar Bluetooth, un dispositivo debe ser compatible con ciertos perfiles de
Bluetooth [32]. El SIG de Bluetooth define y adopta los perfiles mostrados en la tabla A.1.
Perfil
Advanced Audio Distribution Profile
Audio/Video Remote Control Profile
Basic Imaging Profile
Basic Printing Profile
Common ISDN Access Profile
Cordless Telephony Profile
Device ID Profile
Dial-up Networking Profile
Fax Profile
File Transfer Profile
General Audio/Video Distribution Profile
Generic Access Profile
Generic Object Exchange Profile
Hard Copy Cable Replacement Profile
Hands-Free Profile
Human Interface Device Profile
Headset Profile
Intercom Profile
Objet Push Profile
Personal Area Networking Profile
Phone Book Access Profile
Serial Port Profile
Service Discovery Application Profile
SIM Access Profile
Synchronization Profile
Video Distribution Profile
Wireless Application Protocol Bearer
Descripci
on
Transferencia de un flujo de audio estereo
Interfaz estandar para control remoto de TVs,
Hi-Fi,...
Envo de imagenes
Envo de texto, e-mails, ... a impresoras
Acceso a servicios, datos y se
nales ofrecidas por
un ISDN
Uso de telefonos inalambricos con Bluetooth
Identificacion de un dispositivo
Acceso a internet y otros servicios de marcacion
sobre Bluetooth
Interfaz entre un telefono movil y un PC con
software para FAX
Acceso al sistema de ficheros de otro dispositivo
Es la base para A2DP y VDP
Es la base para todos los demas perfiles
Es la base para otros perfiles de transferencia de
datos
Alternativa inalambrica a la conexion por cable
entre un dispositivo y una impresora
Comunicacion entre los kits manos libres de los
coches y los telefonos moviles
Soporte para dispositivos como ratones, joysticks, teclados, etc.
Soporte para auriculares Bluetooth usados con
telefonos moviles
Permite llamadas de voz entre dos auriculares
Bluetooth
Envo de objetos como imagenes, citas, etc.
Permite el uso del protocolo de encapsulacion de
red de Bluetooth
Intercambio de objetos de la agenda entre dispositivos
Emulacion de una conexion a traves de un cable
serie
Permite averiguar los perfiles ofrecidos por un
dispositivo
Conexion entre dispositivos como telefonos de
coche y modulos SIM en telefonos con Bluetooth
Sincronizacion de elementos del PIM
Transporte de un flujo de vdeo
Soporte de WAP sobre PPP sobre Bluetooth
Tabla A.1: Perfiles de Bluetooth
[Link]
170
Ap
endice A. Protocolo Bluetooth
A.3.
La pila de protocolos de Bluetooth
En la figura A.2 se observa la pila de protocolos de Bluetooth.
Figura A.2: Pila de protocolos de Bluetooth
A continuaci
on describiremos las distintas capas y protocolos que forman la pila de protocolos de Bluetooth [?, 33].
A.3.1.
La capa de radio
La capa de radio define los requisitos para un transmisor-receptor de radio Bluetooth, el
cual opera en la banda de los 24 GHz. Define los niveles de sensibilidad de dicho transmisorreceptor, establece los requisitos para utilizar las frecuencias del espectro expandido y clasifica
a los dispositivos Bluetooth en tres clases, seg
un se indica en la tabla A.2.
Clase
Clase 1
Clase 2
Clase 3
Potencia m
axima
permitida
mW
dBm
100 mW
20 dBm
25 mW
4 dBm
1 mW
0 dBm
Potencia mnima
permitida
mW
dBm
1 mW
0 dBm
025 mW
-6 dBm
N/A
N/A
Distancia
100 metros
10 metros
1 metros
Tabla A.2: Clases de dispositivos Bluetooth
A.3.2.
La capa de banda base
La capa de banda base representa a la capa fsica de Bluetooth. Se usa como controladora
de enlace, la cual trabaja junto con el link manager para llevar a cabo operaciones tales como
la creacion de conexiones de enlace con otros dispositivos.
Controla el direccionamiento de dispositivos, el control del medio (como los dispositivos
se buscan unos a otros), operaciones de ahorro de energa, as como control de flujo y sincronizacion entre dispositivos.
[Link]
171
Ap
endice A. Protocolo Bluetooth
A.3.3.
Link Manager
El administrador de enlaces o Link Manager, se encarga de establecer canales logicos entre
dispositivos, incluyendo administraci
on de energa, autenticacion y calidad de servicio.
A.3.4.
Host Controller Interface
El HCI [34] permite el acceso mediante lnea de comandos a la capa de banda base y al
LMP para controlar y recibir informacion acerca del estado. Se compone de tres partes:
1. El firmware HCI, o programa oficial del fabricante, actualmente forma parte del hardware Bluetooth.
2. El controlador HCI, o driver, que se encuentra en el software del dispositivo Bluetooth.
3. El Host Controller Transport Layer, que conecta el firmware con el driver.
Figura A.3: Host Controller Interface
A.3.5.
Protocolo de adaptaci
on y control de enlaces l
ogicos L2CAP
El protocolo L2CAP asla a las capas superiores de los detalles de transmision. Es analogo
a la subcapa LLC del est
andar 802, pero difiere de esta en el aspecto tecnico. Proporciona
servicios orientados y no orientados a la conexion a las capas superiores.
L2CAP permite a los protocolos de alto nivel y a las aplicaciones enviar y recibir paquetes
de datos de hasta 64 Kb. Buena parte de su tiempo la dedica a la segmentacion y reemsablado.
A.3.6.
RFCOMM
RFCOMM es el protocolo que emula el puerto serie estandar RS232 de los ordenadores
para la conexi
on de teclados, ratones y modems, entre otros dispositivos. Su proposito es que
dichos dispositivos no tenga por que saber nada acerca de Bluetooth.
A.3.7.
TCS y SDP
El protocolo de telefona TCS es un protocolo de tiempo real y esta destinado a los
tres perfiles orientados a voz (HFP, HSP e ICP). Tambien se encarga del establecimiento y
terminacion de llamadas. Por su parte, el protocolo de descubrimiento de servicios (SDP) se
emplea para la detecci
on autom
atica de dispositivos dentro de la red, as como de servicios
ofrecidos por dichos dispositivos.
[Link]
172
Ap
endice A. Protocolo Bluetooth
A.4.
La capa de radio de Bluetooth
La capa de radio transfiere los bits del maestro al esclavo o viceversa. Es un sistema de
baja potencia con un rango de entre 1 y 100 metros que opera en la banda ISM de los 24
GHz. La banda se divide en 79 canales de 1 MHz cada uno. La modulacion es por division
en frecuencia, con 1 bit por Hz, lo cual da una tasa de datos aproximada de 1 Mbps, pero
gran parte de este espectro la consume la sobrecarga.
Para asignar los canales de manera equitativa, el espectro de saltos de frecuencia se utiliza
a 1600 saltos por segundo y un tiempo de permanencia de 625 seg. Todos los nodos de una
piconet saltan de manera simult
anea, y el maestro establece la secuencia de salto.
Debido a que tanto el 802.11 como Bluetooth operan en la banda ISM de 24 GHz en los
mismos 79 canales, interfieren entre s. Puesto que Bluetooth salta mucho mas rapido que
802.11, es m
as probable que un dispositivo Bluetooth da
ne las transmisiones del 802.11 que
en el caso contrario.
Figura A.4: Coexistencia de Bluetooth y 802.11 en la banda de los 24 GHz
A.5.
La capa de banda base de Bluetooth
La capa de banda base de Bluetooth es lo mas parecido a una subcapa MAC. Esta capa
convierte el flujo de bits puros en tramas. En la forma mas sencilla, el maestro de cada piconet
define una serie de ranuras de tiempo de 625 seg y las transmisiones del maestro empiezan
en las ranuras pares, y las de los esclavos en las impares. Esta
es la tradicional multiplexacion
por division de tiempo, en la cual el maestro acapara la mitad de las ranuras y los esclavos
comparten la otra mitad. Las tramas pueden tener 1, 3 o 5 ranuras de longitud.
Cada trama se transmite por un canal logico llamado enlace entre el maestro y un esclavo.
Hay dos tipos de enlaces:
ACL, que se utiliza para datos conmutados en paquetes disponibles a intervalos irregulares. Estos datos provienen de la capa L2CAP en el nodo emisor y se entregan en
la capa L2CAP en el nodo receptor. No hay garantas de entrega del trafico ACL. Las
tramas se pueden perder y tienen que retransmitirse. Un esclavo solo puede tener un
enlace ACL con su maestro.
SCO, para datos en tiempo real, como ocurre en las conexiones telefonicas. A este tipo
de canal se le asigna una ranura fija en cada direccion. Las tramas que se envan a traves
de SCO nunca se retransmiten. En vez de ello se puede usar la correccion de errores
hacia adelante para conferir una alta fiabilidad al sistema. Un esclavo puede establecer
hasta tres enlaces SCO con su maestro. Cada enlace de este tipo puede transmitir un
canal de audio PCM de 64000 bps.
[Link]
173
Ap
endice B. Acr
onimos
A.6.
La capa L2CAP de Bluetooth
La capa L2CAP tiene tres funciones principales:
1. Acepta paquetes de hasta 64 KB provenientes de las capas superiores y los divide en
tramas para transmitirlos. Las tramas se reensamblan nuevamente en paquetes en el
otro extremo.
2. Maneja la multiplexaci
on y desmultiplexacion de m
ultiples fuentes de paquetes. Cuando se reensambla un paquete, la capa L2CAP determina que protocolo de las capas
superiores lo manejar
a, por ejemplo, RFCOMM o el de telefona.
3. Se encarga de la calidad de servicio, tanto al establecer los enlaces como durante la
operaci
on normal. Asimismo, durante el establecimiento de los enlaces se negocia el
tama
no m
aximo de carga u
til permitido, para evitar que un dispositivo que enve paquetes grandes sature a uno que recibe paquetes peque
nos.
A.7.
Estructura de la trama de Bluetooth
En la figura A.5 se muestra el formato de una trama de Bluetooth.
Figura A.5: Estructura de la trama de Bluetooth
Como se puede observar, las tramas comienzan con un codigo de acceso, el cual identifica
al maestro de cada piconet y cuyo proposito es que los esclavos que se encuentren en el rango
de alcance de dos maestros sepan que trafico esta destinado a ellos.
A continuaci
on se encuentra un encabezado de 54 bits que contiene campos comunes de la
subcapa MAC. Y por u
ltimo est
a el campo de datos, de hasta 2744 bits (para una transmision
de cinco ranuras). Para una sola ranura de tiempo, el formato es el mismo excepto que el
campo de datos es de 240 bits.
Profundizando un poco en el encabezado, el campo Direcci
on identifica a cual de los ocho
dispositivos activos est
a destinada la trama. El campo Tipo indica el tipo de trama (ACL,
SCO, de sondeo o nula), el tipo de correccion de errores que se utiliza en el campo de datos
y cuantas ranuras de longitud tiene la trama.
Un esclavo establece el bit F (de flujo) cuando su b
ufer esta lleno y no puede recibir mas
datos. Esta
es una forma primitiva de control de flujo. El bit A (de confirmacion de recepcion
o Acknowledgement) se utiliza para incorporar un ACK en la trama. Por u
ltimo, el bit S (de
secuencia) sirve para numerar las tramas con el proposito de de detectar retransmisiones. El
protocolo es de parada y espera, por lo que 1 bit es suficiente.
A continuaci
on se encuentra el encabezado Suma de verificaci
on de 8 bits. Todo el encabezado de 18 bits se repite tres veces para formar el encabezado de 54 bits. En el receptor
se comprueban las tres copias de cada bit y si coinciden, se acepta. De lo contrario se impone
la opinion de la mayora.
[Link]
174
Ap
endice B
Acr
onimos
3G, 3rd Generation
MCC, Mobile Country Code
ADT, Android Development Tools
MEID, Mobile Equipment Identifier
API, Application Programming Interface
MMC, Multi Media Card
AVD, Android Virtual Device
MNC, Mobile Network Code
CDMA, Code Division Multiple Access
MP3, MPEG-2 Audio Layer 3
DDMS, Dalvik Debug Monitor Server
MPEG, Moving Picture Experts Group
DPI, Dots Per Inch
NDK, Native Development Kit
EDGE, Enhanced Data Rates for GSM
Evolution
NFC, Near Field Communication
FM, Frequency Modulation
FWVGA, Full Wide Video Graphics Array
OpenGL, Open Graphics Library
P2P, Peer to Peer
PDA, Personal Digital Assistant
GSM, Global System for Mobile Communications
PIN, Personal identification number
GPS, Global Positioning System
PUK, Personal Unlocking Key
HTML, HyperText Markup Language
QVGA, Quarter Video Graphics Array
HVGA, Half-size Video Graphics Array
SD, Secure Digital
IDE, Integrated Development Environment
SDK, Software Development Kit
IEEE, Institute of Electrical and Electronics Engineers
SIM, Subscriber Identity Module
IMEI, International Mobile Equipment
Identity
SMS, Short Message Service
IP, Internet Protocol
IPC, Inter-Process Communication
ISO, International Organization for Standardization
JDKC, Java Development Kit
JPG/JPEG, Joint Photographic Experts
Group
SIP, Session Initiation Protocol
SQL, Structured Query Language
VGA, Video Graphics Array
VoIP, Voice over IP
WQVGA, Wide Quarter Video Graphics
Array
WVGA, Wide Video Graphics Array
WWW, World Wide Web
[Link]
175
Ap
endice B. Acr
onimos
[Link]
176
Bibliografa
[1] Reto Meier. Proffesional Android 2 Application Development, Wiley Publishing, Inc.,
2010, ISBN: 978-0-470-56552-0.
[2] Mark L. Murphy, Beginning Android 2 , Apress, , 2010, ISBN 978-1-4302-2629-1.
[3] Android Developers., Google Inc., 2011.
[Link]
[4] The Developers Guide, Google Inc., 2011.
[Link]
[5] Package Index , Google Inc., 2011.
[Link]
[6] Developer Resources, Google Inc., 2011.
[Link]
[7] Android SDK. Android Developers, Google Inc., 2011.
[Link]
[8] Android 2.2 Platform Highlights, Google Inc., 2011.
[Link]
[9] Android 2.0 Platform Highlights, Google Inc., 2011.
[Link]
[10] Android 1.6 Platform Highlights, Google Inc., 2011.
[Link]
[11] Android 1.5 Platform Highlights, Google Inc., 2011.
[Link]
[12] Activity Android Developers, Google Inc., 2011.
[Link]
[13] LinearLayout Android Developers, Google Inc., 2011.
[Link]
[14] TextView Android Developers, Google Inc., 2011.
[Link]
[15] The [Link] File, Google Inc., 2011.
[Link]
[Link]
177
Bibliografa
[16] R Android Developers, Google Inc., 2011.
[Link]
[17] View Android Developers, Google Inc., 2011.
[Link]
[18] View Android Developers, Google Inc., 2011.
[Link]
[19] Handling UI Events Android Developers, Google Inc., 2011.
[Link]
[20] EditText Android Developers, Google Inc., 2011.
[Link]
[21] Button Android Developers, Google Inc., 2011.
[Link]
[22] ImageButton Android Developers, Google Inc., 2011.
[Link]
[23] CheckBox Android Developers, Google Inc., 2011.
[Link]
[24] RadioButton Android Developers, Google Inc., 2011.
[Link]
[25] RadioGroup Android Developers, Google Inc., 2011.
[Link]
[26] ImageView Android Developers, Google Inc., 2011.
[Link]
[27] ProgressBar Android Developers, Google Inc., 2011.
[Link]
[28] Spinner Android Developers, Google Inc., 2011.
[Link]
[29] Hello Views Android Developers, Google Inc., 2011.
[Link]
[30] Common Layout Objects Android Developers, Google Inc., 2011.
[Link]
[31] FrameLayout Android Developers, Google Inc., 2011.
[Link]
[32] LinearLayout Android Developers, Google Inc., 2011.
[Link]
[Link]
178
Bibliografa
[33] List View Android Developers, Google Inc., 2011.
[Link]
[34] ListView Android Developers, Google Inc., 2011.
[Link]
[35] Table Layout Android Developers, Google Inc., 2011.
[Link]
[36] TableLayout Android Developers, Google Inc., 2011.
[Link]
[37] Drawable Resources Android Developers, Google Inc., 2011.
[Link]
[38] Intent Android Developers, Google Inc., 2011.
[Link]
[39] Menus Android Developers, Google Inc., 2011.
[Link]
[40] Menu Android Developers, Google Inc., 2011.
[Link]
[41] MenuInflater Android Developers, Google Inc., 2011.
[Link]
[42] Providing Resources Android Developers, Google Inc., 2011.
[Link]
[43] [Link] home, Eclipse Foundation, 2011.
[Link]
[44] Eclipse Downloads, Eclipse Foundation, 2011.
[Link]
[45] Eclipse (software) - Wikipedia, la enciclopedia libre, Wikimedia Foundation Inc., 2011.
[Link]
[46] Android - Wikipedia, la enciclopedia libre, 2011.
[Link]
[47] Oracle Inc. Java SE Downloads, 2011.
[Link]
[Link]
179