Вы находитесь на странице: 1из 75

DISEÑO E IMPLEMETACIÓN POR CONTROL BLUETOOTH PARA UNA

ALARMA DE SEGURIDAD.

FRANK ESPITIA PEREZ


CAMILO ANDRÉS GUTIÉRREZ NARANJO
ERICK HERNÁN SÁNCHEZ SUAREZ

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA ELECTRÓNICA
BOGOTÁ
2007

1
DISEÑO E IMPLEMETACIÓN POR CONTROL BLUETOOTH PARA UNA
ALARMA DE SEGURIDAD.

FRANK ESPITIA PEREZ


CAMILO ANDRÉS GUTIÉRREZ NARANJO
ERICK HERNÁN SÁNCHEZ SUAREZ

Trabajo de grado como requisito para obtener el titulo de


Ingenieros Electrónicos.

Asesor: Luis Carlos Gil


Ingeniero Electrónico

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA ELECTRÓNICA
BOGOTÁ
2007

2
TABLA DE CONTENIDO

Pag.
INTRODUCCIÓN.
1. PLANTEAMIENTO DEL PROBLEMA 8
1.1. ANTECEDENTES 8
1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA 10
1.3. JUSTIFICACIÓN 11
1.4. OBJETIVOS 13
1.4.1. General 13
1.4.2. Específicos 13
1.5. ALCANCES Y LIMITACIONES 14
1.5.1. Alcances 14
1.5.2. Limitaciones 14
2. MARCO DE REFERENCIA 15
2.1. MARCO CONCEPTUAL 15
2.2. MARCO TEÓRICO 15
2.2.1. Bluetooth 15
2.2.2. Especificación radio 17
2.2.3. Banda base 17
2.2.4. Estados de la conexión 22
2.2.5. Direcciones Bluetooth 24
2.3. MARCO LEGAL 25
3. METODOLOGÍA 26
3.1. ENFOQUE DE LA INVESTIGACIÓN 26
3.2. LÍNEA DE INVESTIGACIÓN. 26
3.2.1. Sub-línea de facultad 27
3.2.2. Campo temático del programa 27
3.3. TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN 27

3
3.4. HIPÓTESIS 28
3.5. VARIABLES 28
3.5.1. Variables independientes 28
3.5.2. Variables dependientes 28
4. DISEÑO INGENIERIL 29
4.1. CONSTRUCCIÓN DEL SISTEMA ELECTRÓNICO. 30
4.1.1. Elección del circuito integrado Bluetooth 30
4.1.2. Interfaz de comunicación entre el Módulo Bluetooth y la alarma de
seguridad. 36
4.1.2.1. Cálculos para el circuito de conmutación. 37
4.1.3. Características de la alarma. 40
4.2. Protocolo de comunicación para los comandos AT 41
4.3. Aplicativo Software para el móvil. 46
4.3.1. Componentes de conexión y sincronización entre los dispositivos 51
4.3.2. Mecanismos de seguridad para el enlace. 53
5. PRESENTACIÓN DE ANÁLISIS DE RESULTADOS 57
5.1. Características de los estudios realizados. 58
6. CONCLUSIONES 61
7. RECOMENDACIONES 62
BIBLIOGRAFÍA 63
WEBLIOGRAFÍA 63

4
ANEXOS.

Pag.
ANEXO A: Código de programación en java para el proceso de seguridad en el
enlace. 64
ANEXO B: Diagrama de flujo del protocolo de comunicación. 70
ANEXO C: Diagrama de flujo de conexión entre el módulo Bluetooth y el Teléfono
celular. 71
ANEXO D: Data sheet Opto-Darlington. 72

5
LISTA DE FIGURAS

Pag.
Figura 1. Pila de protocolos Bluetooth. 16
Figura 2. Paquetes sencillos 18
Figura 3. Paquetes multi-ranura 18
Figura 4. Conexiones punto a punto (a), piconets (b) y scatternets (c) 19
Figura 5. Formato de paquete Bluetooth 20
Figura 6. Proceso de sondeo 24
Figura 7. Módulo Bluetooth adquirido 30
Figura 8. Circuito Integrado de Comunicación Bluetooth 31
Figura 9. Diagrama de Bloques del sistema. 33
Figura 10. Conexión y configuración de los bits con el módulo. 35
Figura 11. Circuito Opto-Darlington. 38
Figura 12. Circuito de conmutación. 39
Figura 13. Alarma. 41
Figura 14. Iniciando proyecto de programación. 48
Figura 15. Definir Nombre y localización de los archivos de programación. 49
Figura 16. Selección de plataforma de Emulación. 49
Figura 17. Entorno de trabajo en la plataforma (Java) NetBeans. 50
Figura 18. Dirección IP para los dispositivos Bluetooth. 53
Figura 19. Proceso de autenticación. 55
Figura 20. Autenticación del código PIN y diagrama de conexión entre los
dispositivos. 56
Figura 21. Casa de Familia donde se realizaron pruebas. 59
Figura 22. Comportamiento del sistema en casa número 1 59
Figura 23. Casa de Familia número 2 donde se realizaron pruebas. 59
Figura 24. Comportamiento del sistema en casa número 2 59

6
INTRODUCCIÓN.

La tecnología inalámbrica Bluetooth fue creada con el fin de mejorar y optimizar la


conectividad de dispositivos, al sustituir cables, mejorar las dimensiones de
consumo y optimizar los procesos de transmisión. Es por ello, que se quiere
desarrollar una aplicación integral, empleando esta nueva tecnología, ya que
admite usos alternativos, distintos de aquellos para los que fue diseñada.

Muchas personas quieren tener todo el control en sus manos, realizando el menor
movimiento posible y mejorando la respuesta ante un proceso. El avance en los
procesos busca mejorar la calidad de vida, llegando a minimizar la cantidad de
elementos electrónicos y disminuyendo el tiempo en que se realiza un trabajo.

El invento de dispositivos móviles, tales como las PDA (Personal Digital


Assistants) y los teléfonos celulares, los cuales brindan ventajas y comodidades a
la hora de generar aplicativos de control, ha permitido entregar al usuario un valor
agregado a las funciones básicas de estos dispositivos.

La investigación realizada durante el trascurso de los semestres anteriores sobre


las características, avances y aplicaciones de la tecnología Bluetooth, permite ver
como la tecnología a nivel de las comunicaciones se ha incrementado en los
últimos años. Es un proceso evolutivo, que pone al servicio de los usuarios una
serie de dispositivos y elementos electrónicos, que mejoran cada vez su
funcionamiento y permiten a las personas actuar en un entorno más cómodo.

En la actualidad, el avance tecnológico en los teléfonos móviles es de gran


impacto, tanto así, que en algunos casos los teléfonos móviles pueden llegar a
remplazar a un PC.

7
1. PLANTEAMIENTO DEL PROBLEMA

1.1. ANTECEDENTES

“En 1994 Ericsson Mobile Communications puso en marcha una iniciativa para
estudiar el desarrollo de interfaces de radio de bajo costo y baja potencia entre los
teléfonos móviles y sus accesorios. Se buscaba una solución que permitiera el
acceso radioeléctrico a fin de eliminar los cables y sortear las restricciones de la
línea de vista.

También se estaba convencido de que si se conseguía una solución de bajo costo,


ésta abriría el paso de la conectividad inalámbrica a una multitud de nuevas
aplicaciones y originaría un sinnúmero de componentes y dispositivos asociados.
Ericsson Microelectronics ha trabajado durante más de diez años en la
investigación y desarrollo de tecnologías de semiconductores y montaje para
aplicaciones sin hilos. Capitalizando esta experiencia, los ingenieros de Ericsson
han creado el Bluetooth, una auténtica solución de bajo costo.

El Bluetooth se ha proyectado para que sea una norma abierta y global. Con
objeto de conseguir una masa crítica e impulsar una norma conjunta a nivel
mundial, Ericsson presentó su planteamiento a IBM, Intel, Nokia y Toshiba. En
mayo de 1998 se anunció la constitución del Grupo de interés especial por el
Bluetooth (SIG), y en un plazo de 18 meses más de 1.600 empresas habían
firmado el llamado Acuerdo de adaptadores del Bluetooth. Hoy, partiendo del
masivo interés global y apoyo que esta tecnología ha despertado, más de 200
millones de teléfonos móviles, computadoras y otros dispositivos electrónicos

8
incorporan la tecnología Bluetooth. Las especificaciones de la misma se emiten
con autorización del citado Grupo SIG”.1

En la actualidad se encuentran diferentes productos que trabajan con tecnología


Bluetooth y que están al servicio de los usuarios. En el mercado se encuentran
diferentes dispositivos como impresoras, mouse y teclados que utilizan dicha
tecnología. Y entre los elementos llamativos se encuentran lectores infrarrojos y
hasta una bañera.

Por otra parte, hay celulares con diferentes tipos de tecnología que se puedan
usar para dicho propósito.
Las tecnologías que en ellos se encuentran son:

• IRDA: Transmisión de datos por infrarrojo.


• INTERFAZ: Transmisión de datos por cable.
• BLUETOOTH: Comunicación inalámbrica de corto alcance.
• WiFi: Comunicación de datos utilizado por el servicio de Internet inalámbrico.

Todas estas tecnologías se pueden encontrar en algunos teléfonos móviles que


existen en el mercado, en algunos de estos, se dispone de variadas tecnologías y
en otros solo de algunas de ellas. Esto es debido a las características de
fabricación por parte de empresas especializadas.

1
Sony Ericsson

9
1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA

A medida que trascurre el tiempo y con el avance tecnológico muchos procesos se


van tornando obsoletos. Es el caso de la tecnología aplicada a la seguridad pues,
esta resulta cada vez más vulnerable y fácil de violar. Otro problema que se
presenta es que se implementan sistemas de seguridad muy robustos que son
difíciles de distribuir, ubicar y adquirir, lo que genera elevados costos en su
aplicación.

Dentro de las características que tienen los sistemas de seguridad cotidianos, se


observa que la mayoría requiere de la presencia parcial del usuario para controlar
manualmente la activación y desactivación de la alarma. Esto en ocasiones, es
incómodo, pues este procedimiento suele realizarse en forma rápida y se tiene el
riesgo de equivocarse generando activaciones indeseadas.

¿Qué características técnicas y funcionales son necesarias para implementar un


sistema Bluetooth que permita operar una alarma de seguridad?

10
1.3. JUSTIFICACIÓN

Se realiza este proyecto con el fin de dar a conocer una de las diferentes
aplicaciones que tiene los nuevos procesos tecnológicos en el mundo y para
mostrar cómo se lleva a cabo el desarrollo y la evolución de aplicaciones
novedosas, que permitirán ofrecer nuevos servicios en los crecientes
requerimientos de los usuarios día a día.

Se presenta entonces el desarrollo e implementación de un dispositivo electrónico


de comunicación inalámbrica, con tecnología Bluetooth, adaptado para el control
de una alarma (Discover Modelo 135A) en un sistema de seguridad, por medio de
un teléfono celular de alta gama (Sony Ericsson).

Los constantes descubrimientos de nuevas tecnologías hacen evolucionar


inevitablemente la mentalidad de las personas. Es por esto, que basándose en los
nuevos procesos electrónicos que se imponen en el mercado, se ha optado por
desarrollar esta aplicación que explota las tecnologías de comunicaciones
inalámbricas y su adaptabilidad a la vida cotidiana.

Se tiene además la necesidad, de ciertos usuarios que por su discapacidad, no


pueden desplazarse al querer tener control directo de la alarma, lo que les resulta
más cómodo realizarlo en forma remota. A través de esta aplicación se ofrece la
posibilidad de brindar al usuario final, cierta comodidad y flexibilidad al optimizar el
proceso.

Uno de los motivos por los cuales se pensó en implementar un sistema de control
remoto para una alarma, es debido a que el usuario al ingresar al recinto, activa la
bocina de la alarma como si fuese un intruso teniendo así que dirigirse
rápidamente a desactivarla, lo que es un proceso incómodo. Lo mismo ocurre

11
cuando el usuario activa la alarma, debe dirigirse rápidamente hacia afuera del
recinto para que no se active la bocina y dejar el sistema funcionando.

Debido a esto es óptimo implementar la activación y desactivación del sistema,


desde el celular del usuario, lo que evita el proceso incómodo de tener que correr
hacia el panel de control de la alarma, además, que como se dijo anteriormente
una persona discapacitada no puede hacer este proceso.

12
1.4. OBJETIVOS

1.4.1. General:

Implementar un sistema electrónico funcional que permita al usuario controlar una


alarma de seguridad, empleando un teléfono móvil con tecnología Bluetooth.

1.4.2. Específicos:

• Diseñar un sistema de control para identificar, interpretar y ejecutar en forma


confiable una orden transmitida desde un teléfono móvil.

• Diseñar un aplicativo software que se ejecutará en el dispositivo de control de


la alarma, y que identificara que comandos se deben activar.

• Adaptar un protocolo de comunicaciones entre un dispositivo inalámbrico con


tecnología de comunicaciones Bluetooth, tipo teléfono celular y el circuito de
control de una alarma de seguridad.

• Adecuar un dispositivo con tecnología Bluetooth incorporada, que permita


enviar Comandos AT de tal manera que se pueda manejar como cliente
maestro.

13
1.5. ALCANCES Y LIMITACIONES

1.5.1. Alcances

Adaptar un circuito electrónico de comunicación Bluetooth a una alarma de


seguridad para un recinto, acoplando adecuadamente los circuitos requeridos para
generar control sobre el proceso.
Por otra parte el sistema puede ser acoplado a cualquier proceso, ya sea
mecánico, eléctrico o electrónico, teniendo en cuenta las características de
funcionamiento necesarias para su adaptabilidad.
Tener control a distancia por medio de dispositivos móviles con tecnología
Bluetooth que permitan automatizar y manipular diferentes procesos en el entorno
requerido.

1.5.2. Limitaciones

1. La comunicación es unidireccional desde el dispositivo electrónico hacia el


teléfono móvil.

2. Se implementa el sistema en celulares de alta gama, lo que limita el uso de


otros móviles por sus características y elementos de fábrica.

3. El alcance máximo entre al transmisor y el receptor es de 100m.

4. La detección del dispositivo Bluetooth en módulo de control con el móvil se


realizará siempre y cuando no se encuentre un entorno totalmente reflexivo,
como un espejo o elementos metálicos.

14
2. MARCO DE REFERENCIA

2.1. MARCO CONCEPTUAL

Para ofrecer el servicio de mando o control por medio de comunicación Bluetooth,


se deben tener en cuenta los diferentes requerimientos, tanto en el lugar de
trabajo, como los procesos en cada una de las aplicaciones que se desee
implementar.

Es importante tener la más completa información acerca de las condiciones del


recinto donde el usuario va a operar el sistema, ya que dependiendo de tales
condiciones, el dispositivo podrá o no operar en forma óptima.

De otra parte, es indispensable tener una adecuada sincronización y configuración


de cada uno de los procesos que se ejecutan en los circuitos implementados y de
los mandos o controles generados desde el teléfono móvil (Celular), con el fin de
tener un sistema de control confiable; dado que se trata de equipos de transmisión
digital, la sincronización entre los diferentes dispositivos y circuitos es esencial,
para lograr un adecuado funcionamiento de los diferentes módulos que conforman
el sistema.

2.2. MARCO TEÓRICO

2.2.1. Bluetooth

Bluetooth es el pilar tecnológico para este proyecto de grado y en concreto de la


aplicación propuesta. Por tanto, a continuación se describe en forma breve, los
principios en que se basa dicha tecnología para ilustrar al lector sobre sus

15
caracteríssticas elem
mentales los fundam
mentos te
eóricos, ha nfasis en los
aciendo én
aspectos en que se
e basa el estudio
e realizado.
h fue cread
Bluetooth do en los laboratorios Ericsson
n, para aplicaciones tales
t como
o la
sustitució es en equipos de co
ón de cable omunicació
ón. Desde el comienzo se deciidió
que cua
alquier fa
abricante interesad
do podría
a tener acceso libre a las
especifica
aciones de
e Bluetooth
h. De esta manera, poco
p a poco se fueron sumando
o al
proyecto otras com
mpañías. Actualmen
A pan en el SIG (Special Interrest
nte particip
Group) de Bluetootth 3Com, Agere,
A Ericcsson, IBM
M, Intel, Miccrosoft, Mo
otorola, No
okia
y Toshib
ba, entre otros. Exiiste un orrganismo que se e e validar los
encarga de
productoss Bluetooth
h y de certtificar que cumplen
c la
as especificcaciones.
En la fig
gura 1 se
e muestra
a la pila de protoc
colos Blue
etooth. Lo
os recuad
dros
sombread
dos repre
esentan la
as capas definidas en la esspecificació
ón. La ca
apa
RFCOMM
M se trata
a como caso
c apartte, ya que, aunque
e no es estrictame
ente
necesaria
a, se ha in
ntroducido para añad
dir la funcio
onalidad de
e emulació
ón de puerrtos
serie. Esttá basada en la norm
ma ETSI TS
S 07.10.
Figura 1. Pila de protocolos Bluetooth.
B

Fuente. So
ony Ericsson
n.

16
2.2.2. Especificación radio

Los módems Bluetooth operan en la banda libre de licencias de 2.4 GHz,


disponible a nivel mundial. Se utiliza una mezcla de espectro ensanchado, salto en
frecuencias y canales full-dúplex a 1.600 saltos/segundo como máximo. Se
contemplan 79 frecuencias espaciadas entre si 1 MHz, lo cual ofrece una alta
inmunidad frente a las interferencias.
Los equipos se clasifican en tres clases según sus potencias: clase 1 con una
potencia máxima de 20 dBm, clase 2 con una potencia máxima de 4 dBm y clase
3 con 0 dBm de potencia máxima. La clase más común es la 2, con un alcance
típico de diez metros.

2.2.3. Banda base

“Bluetooth utiliza el esquema TDD (Time-Division Duplex) para la comunicación


de varios dispositivos en modo full-dúplex. Se divide el canal en ranuras (slots) de
625 milisegundos (ms) de duración. La información se transmite en paquetes, en
saltos de frecuencia diferentes, para incrementar la protección frente a
interferencias”2. Un paquete ocupa normalmente una única ranura (figura 2), pero
puede ocupar hasta cinco consecutivas (en la figura 3 se muestra el caso de un
paquete transmitido en tres ranuras consecutivas).
Bluetooth emplea una combinación de conmutación de paquetes y de circuitos.
Puede soportar un canal asíncrono, hasta tres canales síncronos simultáneos para
voz o una combinación de ambos esquemas.

2
IBAHIM A. GHALEB, Bluetooth Application Developer's Guide. Primera Edición. Editorial Syngress
Publishing, Pag 14.

17
Figura. 2 Paquetes sencillos

Fuente. Co
onnect Witho
out Cables
Figura 3: Paquetes multi-ranu
ura

Fuente. Co
onnect Witho
out Cables

18
En Bluetooth se pueden establecer conexiones punto a punto (sólo dos unidades
Bluetooth) (ver figura 4.a) o conexiones punto a multipunto (figura 4.b). Dos o más
unidades que comparten el mismo canal forman una piconet. En una piconet, un
dispositivo actúa como maestro y el resto como esclavos. La parte activa de la
piconet en un momento determinado puede tener hasta siete esclavos. La unión
de varias piconets constituye una scatternet (figura 4.c). Para ello, al menos una
unidad actúa como maestro en una piconet y como esclavo en otra u otras.

En funcionamiento normal, el maestro de la piconet reserva ranuras para sus


esclavos, y los sondea de forma periódica. El maestro envía paquetes a un
esclavo determinado en una ranura reservada temporalmente, y dicho esclavo
envía sus paquetes en la ranura siguiente (figuras 2 y 3).

Figura 4: Conexiones punto a punto (a), piconets (b) y scatternets (c)

Los paquetes Bluetooth poseen tres partes bien diferenciadas, como se puede
apreciar en la figura 5.

19
Figura 5. Formato de paquete Bluetooth

Fuente. Bluetooth Application Developers Guide

Código de acceso: Cada paquete empieza con un código de acceso. Si el paquete


contiene una cabecera, el código de acceso tiene una longitud de 72 bits (en otro
caso, de 68 bits). Se utiliza para identificación, sincronización y compensación de
desviación de componente continua. El código de acceso identifica a todos los
paquetes intercambiados en el canal de la piconet: todos los paquetes
intercambiados en la misma piconet estarán precedidos por el mismo código de
acceso.
El código de acceso también se usa en los procesos de paging (paginado) y de
inquiry (descubrimiento de entorno). En estos casos, el propio código de acceso
se utiliza como un mensaje de control y ni la cabecera ni la carga útil o payload
estarán presentes.

Cabecera: La cabecera contiene información de control del enlace (LC) y consiste


en seis campos:

20
AM_ADDR: 3 bits que designan la dirección de miembro activo.
TYPE: 4 bits para el tipo de código.
FLOW: 1 bit para control de flujo.
ARQN: 1 bit para indicar confirmación.
SEQN: 1 bit indicador de número de secuencia.
HEC: 8 bits para comprobación de errores.

Carga útil (payload), es decir, los datos que transporta el mensaje: entre 0 y 2744
bits.
Como se dijo anteriormente, existen dos tipos de enlaces: síncronos y asíncronos,
o SCO (Synchronous Connection-Oriented) y ACL (Asynchronous Connection-
Less). En los enlaces SCO se reservan ranuras para el tráfico a intervalos
regulares, por lo que se puede considerar como una conmutación de circuitos. El
maestro puede utilizar las ranuras no utilizadas por enlaces SCO para establecer
enlaces ACL. Se pueden intercambiar distintos tipos de paquetes. Los más
importantes son:

FHS: Es un paquete especial de control que, además de otros cometidos, informa


de la dirección Bluetooth y el reloj del emisor. El paquete FHS se usa en
respuestas al paginado del maestro, en las respuestas a inquiries y en los cambios
de maestro a esclavo.

DMx, donde x puede ser 1, 3 ó 5 dependiendo de las ranuras necesarias para la


transmisión. Son paquetes de información, protegidos por códigos de recuperación
de errores (FEC).
FEC: Forward error correction (corrección de errores en el destino)

21
DHx, donde x puede ser 1, 3 ó 5, dependiendo de las ranuras necesarias para la
transmisión. A diferencia de los paquetes DMx, no van protegidos con códigos
FEC.

2.2.4. Estados de la conexión

Los estados más importantes para la aplicación son:

Page Scan: Es un sub estado en el que el dispositivo “escucha” el entorno en


busca de su propia dirección durante un tiempo TWpagescan. Se usa para
conectarse a un maestro.

Page: Utilizado por el maestro para activar y conectar un esclavo en estado page
scan.

Inquiry Scan: Es muy parecido al Page Scan, pero se diferencia en que la unidad
no “escucha” en busca de su propia dirección, sino del código de acceso de
inquiry, durante un tiempo suficiente para detectar 16 frecuencias diferentes de
inquiry.

Inquiry: Lo utilizan las unidades que desean “descubrir” nuevos dispositivos.


Cuando una unidad emite paquetes de inquiry, al mismo tiempo está a la escucha
de paquetes FHS de respuesta.

Park: Es un modo dentro del estado Connected. Cuando un esclavo no necesita


participar en la piconet, pero quiere seguir sincronizado, puede entrar en este
modo de bajo consumo y actividad mínima.

22
Se describe a continuación de forma precisa los estados Inquiry e Inquiry Scan,
con base en la figura 6, donde se puede observar el comportamiento de dos
dispositivos Bluetooth. La unidad A comienza a ejecutar un ciclo de inquiry
(sondeo) en un instante determinado. Un tiempo después, la unidad B comienza
un ciclo de inquiry scan (búsqueda de sondeo). Tras un tiempo aleatorio de media
de 5 ms (10 ms si se utiliza un conjunto de 32 saltos de frecuencia) las dos
unidades se sincronizan. En este momento la unidad receptora espera un tiempo
de backoff aleatorio uniformemente distribuido entre 0 y 640 ms. Esto se hace
para evitar colisiones en caso de que dos o más unidades se encuentren en el
ciclo de búsqueda de sondeo. Cuando el receptor termina esta espera aleatoria,
vuelve a escuchar en el mismo punto donde lo había dejado y, tras una nueva
espera aleatoria, recibe un segundo mensaje de sondeo al que responde con un
paquete FHS. Tras ello sigue el proceso de conexión, como se indica en la figura
6.

23
Figura 6: Proceso de sondeo

Fuente. Bluetooth Application Developers Guide

2.2.5. Direcciones Bluetooth

Dependiendo del estado en que se encuentre un dispositivo, se le asignarán


distintas direcciones:
BD_ADDR: existe una única dirección Bluetooth Device Address BD_ADDR de 48
bits por dispositivo Bluetooth, derivada del estándar IEEE 802.

24
AM_ADDR: se asigna una dirección Active Member Address AM_ADDR de 3 bits
a cada esclavo que forma parte de una piconet. Un esclavo acepta los paquetes
que recibe si contienen su AM_ADDR o si son paquetes de broadcast
(AM_ADDR=0).

PM_ADDR: un esclavo que se encuentre en estado park puede ser identificado


por su dirección BD_ADDR o por la dirección Parked Member Address PM_ADDR
de 8 bits. La dirección PM_ADDR=0 se reserva para dispositivos en modo park
que se identifican por su BD_ADDR.

AR_ADDR: cuando un esclavo pasa a modo park se le asigna una dirección


Access Request Address AR_ADDR. Esta dirección permite al esclavo en modo
park determinar qué ranura puede usar para pedir acceso al maestro. La dirección
AR_ADDR no es necesariamente única: diferentes esclavos en modo park pueden
tener la misma AR_ADDR.

2.3 MARCO LEGAL.

El Ministerio de Comunicaciones expidió la resolución 689 del 21 de abril de 2004


que se considera la “Norma inalámbrica unificada”, porque armonizó y reunió
todos los sistemas de acceso inalámbrico tales como Wi-Fi y Bluetooth.

Las frecuencia de banda a 2,4 Ghz es de libre utilización, porque cualquier


persona en el país puede hacer uso de ella, si posee la tecnología necesaria. Por
ejemplo, el estándar Bluetooth es una tecnología inalámbrica de bajo costo que
permite la comunicación “sin cables” entre teléfonos móviles, ordenadores
personales (PCs), laptops, asistentes digitales personales (PDAs), teclados,
mouses, impresoras y otros dispositivos de computación que se encuentren a una
distancia menor a 100 metros.

25
3. METODOLOGÍA

3.1. ENFOQUE DE LA INVESTIGACIÓN

El enfoque de la investigación es empírico-analítico puesto que en primer lugar se


realizará un análisis donde se observe cada uno de los objetivos del proyecto y en
segundo lugar se pretende diseñar e implementar el control inalámbrico de una
alarma de seguridad.

3.2. LÍNEA DE INVESTIGACIÓN.

Este proyecto se ubica la línea de las comunicaciones puesto que se pretende


realizar un control inalámbrico con tecnología Bluetooth.

Una de las líneas de trabajo más importantes en redes Bluetooth en los últimos
años, ha sido el tratar de ajustar esta tecnología con el estándar IEEE 802.11b,
para lograr que sean complementarias. Como las dos utilizan la banda libre de
frecuencias de 2.4 GHz, cabría esperar en principio, que la interferencia mutua
sea un problema.

Continuamente surgen nuevos temas de investigación relacionados con Bluetooth.


Entre otros, podemos mencionar la definición de mecanismos de encaminamiento
para redes Bluetooth [BS99] y la seguridad en redes Bluetooth [GN01]. Ha llamado
nuestra atención una nueva línea sobre computación distribuida en redes
Bluetooth, presentada en diferentes reportes sobre tecnología en dispositivos
móviles.

26
Otro campo de investigación con notable actividad es la búsqueda de algoritmos
que lleven a la creación de estructuras de scatternets Óptimas. En las
especificaciones de Bluetooth no se propone ningún mecanismo para creación de
scatternets, por lo que se ha abierto una importante línea de investigación sobre el
tema con contribuciones relevantes [BFK+02, GG02, LMS03], que todavía
permanece abierta y se espera que genere un buen aporte a nivel software y sea
integral en las diferentes ramas de la ingeniería que maneja la universidad.

3.2.1. Sub-línea de facultad

• Instrumentación y control de procesos


• Sistemas de información y comunicación
• Pedagogía y didáctica de las ciencias básicas y la ingeniería

3.2.2. Campo temático del programa

• Control
• Comunicaciones

3.3. TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN

Se realizan mediciones con el circuito diseñado para determinar el área de


cubrimiento del enlace establecido. Con base en el análisis de dichas mediciones
se logró optimizar el desempeño y la funcionalidad del sistema.
Estas mediciones facilitan además, la detección y corrección de fallas en el
sistema. De otra parte, se logra la unificación de las especificaciones y

27
características de funcionamiento de los dispositivos empleados, dados por el
fabricante.

3.4. HIPÓTESIS

Existen en el mercado diversas clases de alarmas manejadas con y sin control a


distancia, con diferentes y variadas tecnologías prestando más servicios, pero a su
vez estos mecanismos son demasiados robustos y con precios elevados. Hoy en
día podemos tener un control de estos mecanismos gracias a la tecnología
Bluetooth incorporada en los celulares. Es por esto que se presenta esta solución
cómoda y económica con un módulo Bluetooth que permitiría el control de una
alarma, accionada desde un celular de alta gama (Sony Ericsson), el cual
generará los comandos de manejos respectivos.

3.5. VARIABLES

3.5.1. Variables independientes

• Frecuencia.
• Automatización para la aplicación de seguridad en espacios interiores.
• Sistemas de control

3.5.2. Variables dependientes

• Seguridad
• Adquisición de datos
• Medio de comunicación

28
4. DISEÑO INGENIERIL

4.1. CONSTRUCCIÓN DEL SISTEMA ELECTRÓNICO.

En el estudio que se llevó a cabo para el diseño del dispositivo electrónico, se


tuvieron en cuenta sus posibles aplicaciones, lo que llevó a la búsqueda de
diversas posibilidades de acople con el sistema a controlar, “la alarma de
seguridad”, con el fin de orientar el uso de esta tecnología en otras aplicaciones.

Para tal fin, se hizo un estudio previo de todas las opciones y parámetros que
forman parte funcional del dispositivo a controlar, para encontrar una solución de
diseño lo más correcta y adecuada posible.

Los puntos que se estudiaron fueron:

• Tipo de circuito Bluetooth que se debería usar.


• Ubicación adecuada de los equipos dentro del recinto que se va a proteger.
• Dimensión y características del módulo de control
• Tipo de transmisión inalámbrica que se empleará para el envío de los
comandos de control.
• Condiciones ambientales y situaciones a las cuales va a estar expuesto el
sistema.

29
4.1.1. Elección del circuito integrado Bluetooth

Para la elección del circuito electrónico Bluetooth, se realizó una investigación


sobre las posibilidades de su adquisición en el mercado a nivel nacional,
llegándose a la conclusión de que ni siquiera se conoce de su existencia y que se
trata de elementos de importación, procedimiento que es muy complejo. Por esta
razón, se vio la necesidad de investigar qué dispositivos en el mercado
implementan tecnología Bluetooth, para luego de analizar y realizar pruebas de
conectividad y eficiencia, determinar qué componente electrónico es usado en
esos sistemas, es decir, extraer el módulo integrado Bluetooth de una aplicación
existente comercialmente. Ver figura 7.

Figura 7. Módulo Bluetooth.

Luego de lo anterior, se inició la búsqueda de las características y parámetros del


fabricante, esto gracias a los chipsets3 del circuito integrado.

3
Chipset: conjunto de integrados que dan funcionalidad auxiliar al proceso del circuito en general.

30
Figura 8. Circuito Integrado de Comunicación Bluetooth

Fuente. AvantWave Developments.

El transmisor-receptor Bluetooth seleccionado es de corto alcance y fue diseñado


para funcionar en la banda libre de 2.4-2.5 Ghz, según el estandar global de
comunicación para esta tecnología. El sistema utiliza una estructura de salto de
frecuencia que cambia 1.600 veces por segundo a través de 80 canales. Esto
significa que si un canal se bloqueado, se generan perturbaciones en las
comunicaciones.

“La función de radio consiste en un circuito integrado (IC) de RF y unos 50


componentes discretos que se han integrado en un sólo módulo. La selección de
la tecnología y el diseño es afectada por factores importantes tales como:
• Dimensiones pequeñas,
• Bajo costo y capacidad para fabricar grandes volúmenes; y
• Un módulo reutilizable que pueda incluirse en numerosas aplicaciones.

Los requisitos de tamaño del IC de RF hicieron que los técnicos eligieran un


proceso de montaje “flip-chip”. Esta tecnología, que ha estado utilizándose durante
25 años se considera como la solución definitiva en cuanto a montaje e
interconexión. Con todo, hasta hace poco era una tecnología costosa y de gran
exclusividad, que sólo podían manejarla unas pocas empresas.

31
El pequeño tamaño y los requisitos de compatibilidad con flip-chip, así como las
prestaciones de alta frecuencia y propiedades mecánicas, condujeron a los
técnicos a seleccionar sustratos cerámicos de baja temperatura y cocción
simultánea (LTCC). Esta decisión se basaba en la disponibilidad y madurez de la
tecnología LTCC, en la compatibilidad con los proveedores, y en la promesa de
una integración más densa en el futuro.
El diseño se caracteriza por su sencillez y tecnología bien conocida. Debido a que
el módulo se monta en un lado (montaje en una sola cara, todos los componentes
pueden soldarse en una sola operación (soldadura por reflujo). El plano de base
del sustrato y bolas “ball grid array” (BGA) en la periferia del mismo forman un
blindaje eléctrico.”

El proceso de vínculo y mando de las órdenes transmitidas desde el teléfono móvil


se genera en secuencias. Comenzado con la activación del Bluetooth, dando así
inicio a una búsqueda de dispositivo, en un radio no mayor a 20 metros del
celular.

La aplicación generará la siguiente secuencia hasta que el móvil encuentre el


módulo Bluetooth, pidiendo así, un código Pin de sincronización de 4 dígitos que
luego de ser validado, permite iniciar el vinculo del enlace, dando de inmediato
una espera, para que se active desde del módulo Bluetooth un Bit de conexión,
este Bit de conexión debe ser ingresado por el usuario.

A la hora de implementar el circuito y optimizar el proceso, este bit puede ser


ingresado desde un interruptor externo al módulo de control, por ejemplo, si el
sistema de seguridad se encuentra en un hogar, este bit de conexión se puede
manipular desde el timbre del reciento o ya sea un interruptor que solo conocen
las personas que habitan el recinto.

32
Cabe a aclarar que dicho paso en la sincronización de los dispositivos no implica
una falla de seguridad del sistema, debido a que lo único que genera es el inicio
de la conexión y es estrictamente necesario tener los dispositivos debidamente
configurados para tener el control de la alarma.

En otras palabras si una persona desconocida presiona el bit de conexión el


sistema no hará absolutamente nada sin haber validado los requisitos y protocolos
de enlace en los dispositivos móviles debidamente configurados y con el
aplicativo funcionando en ellos. (VER ANEXO C).

Figura 9. Diagrama de Bloques del sistema.

A continuación se presenta el análisis del funcionamiento del módulo Bluetooth


cuando se encuentra vinculado a un teléfono celular. Ver figura 9.

33
El protocolo banda base que utiliza Bluetooth combina las técnicas de
conmutación de circuitos y de paquetes y para asegurar que los paquetes llegan
en orden. La velocidad para un canal asimétrico de datos puede llegar a 721 kbit/s
en un sentido y 57,6 kbit/s en el otro, o 432, 6 kbit/s en ambos sentidos si el enlace
es simétrico.
Un aspecto muy importante, dado lo reducido del chip, ya que va a ir incorporado
en dispositivos portátiles y alimentado con baterías, es que tenga un consumo de
potencia muy reducido (hasta un 97% menos que un teléfono móvil). Si los
dispositivos Bluetooth no intercambian datos, entonces establecen el modo de
"espera" para ahorrar energía, quedando a la escucha de mensajes.

La señal es transmitida y recibida por la antena, allí se le efectúa un filtrado y llega


a un switch, que es el encargado del direccionamiento del flujo de los datos, es
decir sí son de transmisión o recepción, en el caso de la recepción; la señal es
amplificada y enviada a un mezclador donde se recibe una retroalimentación de la
señal para garantizar el correcto flujo de datos a través del sistema, seguidamente
pasa por un filtro pasa banda el cual le entrega la señal a un convertidor que
elimina la interferencia por señal retardada. La señal llega al modulo de interfaz,
donde la señal es distribuida en cuatro bits que a su vez son entregados al circuito
de conmutación, el cual se encarga de activar los opto darlington que transmiten la
señal hacia el panel del teclado alfanumérico, en el cual es previamente
programado un código de seguridad por el usuario para la activación y
desactivación del sensor de movimiento.

34
Especificaciones:

• Banda de Frecuencia: 2.4 GHz (Banda ISM).


• Potencia del transmisor: 1 mW para un alcance de 10m, 100 mW para un
alcance de hasta 100m Tecnología: Espectro Expandido y Saltos en
Frecuencia.
• Canales máximos de voz: 3 por piconet.
• Canales máximos de datos: 7 por piconet.
• Velocidad de datos: hasta 721 kbit/s por piconet.
• Rango esperado del sistema: 10 metros (40 pies).
• Número de dispositivos: 8 por piconet y hasta 10 piconets.
• Alimentación: 1,3 voltios.
• Consumo de potencia: desde 30 uA a 30 mA transmitiendo.
• Tamaño del Módulo: 0.5 pulgadas cuadradas (9x9mm)
• Interferencia: Bluetooth minimiza la interferencia potencial al emplear saltos
rápidos en frecuencia divididos 1600 veces por segundo.

Figura. 10 Conexión y configuración de los bits con el módulo.

Para el proceso de configuración y conexión de los bits, fue necesario examinar el


comportamiento del módulo Bluetooth cuando se encuentra cerca un dispositivo
móvil con el Bluetooth encendido.

35
De allí se identifican, midiendo en todas las terminales del módulo, sus cambios de
voltaje y corriente al realizar el proceso de conexión y sincronización para lo cual
fue diseñado.
Luego de ello, se obtienen 4 bits muy bien referenciados, indicando las posibles
opciones de manejo producidas desde el dispositivo móvil para dichos cambios.
Gracias a ello, se puede re-direccionar cada uno de los valores y eventos que
ocurren en el módulo Bluetooth para cambiar las características de trabajo en el
mismo. Este proceso se realiza desde el aplicativo que lleva el teléfono celular, ya
que cada comando va referenciado específicamente a los bits que han sido
seleccionados.
Inicia entonces, el proceso de adaptabilidad para el circuito de conmutación
analizando el comportamiento que deben tener los bits sobre el control de la
alarma.
Es indispensable que los 4 bits manejen la clave de seguridad del sistema de
alarma, al igual que la desactivación y activación de la misma.

4.1.2. Interfaz de comunicación entre el módulo Bluetooth y la alarma de


seguridad.

Se realizó la implementación del circuito de comunicación entre el módulo


Bluetooth y el circuito interno del alarma, para ello se tuvo en cuenta que la
interfaz es controlada por medio de pulsos.

Cuando se reciben los datos enviados desde el teléfono celular, son dirigidos
hacia el módulo Bluetooth, habilitando el protocolo de comunicación que valida el
evento. Luego los bits de control son enrutados al circuito de amplificación y
conmutación, para generar los mandos en la alarma.

36
El protocolo que contiene el modulo Bluetooth, esta directamente enlazado con el
que tiene el móvil, esto es necesario para que entre los dos se genere un vinculo
de comunicación maestro-esclavo, es adaptado para que el celular pueda utilizar 4
dígitos que generan el accionamiento del mando.
Los dígitos empleados en el celular son 1, 2, 3, 4: sin embargo pueden ser
modificados según las características de la aplicación, cualquier tecla en el
dispositivo es óptima para ser configurada.

• Los dígitos número 1 y 3 están configurados para el ingreso de la clave de


seguridad.
• El dígito numero 2, genera la activación del sistema y debe ser oprimida
después de introducir la clave, esto debido a las características de trabajo
de la alarma.
• El dígito numero 4, genera la desactivación de la alarma.

4.1.2.1. Cálculos para circuito de conmutación.

En el diseño, se implementan dispositivos opto Darlington, ya que permiten


separar el circuito de control del circuito de potencia. Para la aplicación, el circuito
de control corresponde al módulo Bluetooth y el circuito de potencia, al circuito de
la alarma.
Este dispositivo brinda la posibilidad de alimentar cada uno de ellos con fuentes
totalmente independientes sin que esto afecte el funcionamiento del sistema.

37
Figura 11. Circuito Opto-Darlington.

Calculo de la resistencia de entrada para el Opto Darlington.

Esta impedancia se obtiene internamente del módulo Bluetooth, para cada uno de
los bits utilizados, ya que es un valor mínimo que no implica complicaciones en el
funcionamiento del opto Darlington.

Corriente de entrada.

Corriente necesaria para la activación del diodo y que los transistores internos
inicien el proceso de conmutación.

38
La corriente que llega a la base del primer transistor, es amplificada hasta obtener
la corriente en el colector del mismo, este a su vez es la corriente que llega a la
base del otro transistor para repetir el proceso.

Potencia disipada en el integrado.

Esta potencia, es el incremento de corriente en el dispositivo, por lo tanto cada


uno de los integrados se mantiene estable y si este valor se aumenta, puede
generar un calentamiento y un estado donde el dispositivo puede llegar a
quemarse.

Figura 12. Circuito de conmutación.

39
Los elementos opto-acopladores 4 Darlington generan una conmutación en la
corriente de entrada para obtener una variación de voltaje a la salida y con ello
evitar la perdida en los comandos debido a falta de potencia, además de mejorar
la velocidad de respuesta en el sistema.
Por otra parte también se considera tener una muy alta ganancia, con el objetivo
de que el circuito de control no se sature.

4.1.3. Características de la alarma.

Sistema de seguridad integrado


Características:
Tecnología de conteo de pulsos para evitar falsas alarmas.
Alarma de 105 desiveles.
Código digital programable hasta de 4 dígitos.
Tiempo de activación de 30, 60, 90 seg.
Operación de baterías de 9 voltios y/o adaptador de AC.
Color blanco
Alcance de detección de 10 metros
Cobertura de 120 º con lente fragmentado convexo para mayor cobertura.
Peso neto de 250 gr.
Dimensiones 8 * 13.5 * 4.5 cm.
14 dígitos, 10 numéricos, 2 de programación y 2 de activación y desactivación.

4
También se denominan opto aisladores o dispositivos de acoplamiento óptico. Basan su funcionamiento en
el empleo de un haz de radiación luminosa para pasar señales de un circuito a otro sin conexión eléctrica.

40
Figura 13. Alarma

4.2. Protocolo de comunicación para los comandos AT:

Inicia desde el LMP (Link Manager Protocol), el responsable de la configuración y


control de enlace entre dispositivos Bluetooth, incluyendo el control y negociación
del tamaño de los paquetes de banda base.

Cuando los dos dispositivos Bluetooth (El teléfono móvil y el módulo Bluetooth) se
encuentran dentro del radio de trabajo, el gestor de enlace (Link Manager) en
cada uno de los dispositivos, se comunica con su código de acceso a través del
protocolo LMP. Estos mensajes realizan el establecimiento del enlace entre ambos
dispositivos, incluyendo mecanismos de seguridad tales como la autenticación y el
cifrado. Si el proceso se realiza correctamente, permite el intercambio y
comprobación de claves para tener el enlace preestablecido.

El gestor de enlace es un módulo software que se ejecuta en un microprocesador


dentro de la unidad Bluetooth para gestionar la comunicación entre dispositivos.
Cada dispositivo Bluetooth tiene su propio gestor de enlace, que se encarga de

41
descubrir otros gestores de enlace remotos y comunicarse con los mismos para
gestionar el establecimiento del enlace, la autenticación, la configuración y las
funciones que sean requeridas.

Para realizar el soporte de proveedor de servicios, el gestor (LMP) del enlace hace
uso de las funciones que ofrece el controlador del mismo (LC, Link Controller), es
un módulo de supervisión que maneja todas las funciones de la banda base de
Bluetooth y es el soporte permanente del LMP mientras se encuentra enlazados
los dispositivos. El controlador de enlace envía y recibe datos, solicita la
identificación del dispositivo emisor, autentica el enlace, establece el tipo de
enlace SCO o ACL y determina el tipo de trama a utilizar en cada paquete.

Para la comunicación entre teléfono móvil y el módulo Bluetooth se emplean los


comandos AT.
La siguiente, es la sintaxis que usan dichos comandos:
AT+CPAS: [Phone Activity Status] Estado de actividad del teléfono.

1) AT+CPAS=?
- Inicia la ejecución del comando.
- Sintaxis: AT+CPAS=? | +CPAS: (se carga lista de estados soportados)
0 - Ready (Encendido pero inactivo)
1 - Unavailable (No disponible)
2 - Unknown (Desconocido)
3 - Ringing (Llamada entrante en proceso)
4 - Call in progress (Llamada saliente en proceso)
5 - Asleep (Dormido)
- Respuesta: +CMGD: (0,2,3,4)
El valor de este comando, depende de la respuesta de conexión entre los
dispositivos.

2) AT+CPAS
- Informa del estado de actividad del teléfono.
- Sintaxis: AT+CPAS | +CPAS: <estado>
- Respuesta: +CPAS: 0, en estado normal de inactividad.

42
+CPAS: 3, si el teléfono esta recibiendo petición de conexión desde el módulo
Bluetooth.

AT+CGMI: [Request Manufacturer Identification]


- Petición de identificación del Fabricante (Marca del teléfono).
- Sintaxis: AT+CGMM | <fabricante>
- Respuesta: Fabricante del equipo o del integrado Bluetooth.

Luego de ello se obtiene toda la información correspondiente de cada dispositivo.

El prefijo <cr> carriage return = retorno de carro; se emplea en la sintaxis para


definir el final de línea del comando.
If representa el avance en la línea, es decir, la continuidad de la sintaxis en el
protocolo.

ATSI,1:
- Pregunta sobre la ID del producto o dispositivo Bluetooth, es quizás la mas
importante para la implementación, debido a con la dirección IP, se logra procesar
la información para manipular este dispositivo.
- Sintaxis: ATSI,1<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>112233445566<cr_lf> ejemplo de un ID o
dirección IP.

ATSI,2:
- Pregunta sobre la Identificación, nombre del producto o dispositivo Bluetooth.
- Sintaxis: ATSI,2<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>Módulo Bluetooth Radio <cr_lf> O nombre
por defecto que trae el dispositivo.

ATSI,3:
Adquirir el estado del dispositivo desde el móvil hacia el módulo.
(0 = master, 1 = slave, 2 = idle),(0 = disconnected, 1 = connected)
- Sintaxis: ATSI,3<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>1,0<cr_lf> // 1 = slave, 0 = unconnected
Según la conectividad entre los dispositivos, uno de ellos debe ser maestro y el
otro esclavo. Para la aplicación el teléfono móvil es el maestro puesto que busca
los servicios y conectividad con el módulo Bluetooth.

ATSI,4:
- Comando que obtiene el nombre de servicio entre el módulo Bluetooth y el
teléfono.
- Sintaxis: ATSI,4<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>COM0<cr_lf>

43
Este nombre esta representado por el tipo de conexión que se genera entre los
dispoditivos.

ATSI,5:
- Se obtiene clase del dispositivo (COD). Este parámetro es específico de fábrica.
- Sintaxis: ATSI,5<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>00000000<cr_lf>
La clase del dispositivo hace referencia a la potencia de trasmisión que este
maneja.

ATSI,6:
- Obtiene el comando ATSW24 que corresponde a (el tipo de respuesta, modo de
la seguridad para la autentificación, y características menores de filtrado)
- Sintaxis: ATSI,6<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>0,0,0,0<cr_lf>
ATSI,7:
- Obtiene el comando ATSW25 que corresponde a (Modo de conexión, la petición
de conexión y características de servicio)
- Sintaxis: ATSI,7<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>0,1,0,0<cr_lf> // 1 = dato/tipo de comando.

ATSI,8:
Obtener la velocidad, paridad y el número de bits detenidos en el proceso. Estos
códigos son entregados en Hexadecimal.
Ejemplo ”0027,0000,0000” lo que significa emplear 9600 bps.
- Sintaxis: ATSI,8<cr>
- RESPUESTA:<cr_lf>OK<cr_lf><cr_lf>0027,0000,0000<cr_lf>
Proceso de configuración entre el teléfono y el módulo cuando se inicia la
sincronización.

ATSI,9:
Conocer si el dispositivo es esclavo o maestro, según la dirección y el perfil interno
de fábrica.
- Sintaxis: ATSI,9<cr>
- RESPUESTA:<cr_lf>OK<cr_lf><cr_lf>Not Set!<cr_lf> or
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>00A09606E8EF,1101<cr_lf>
Estas características se definen cuando se están buscando los dispositivos entre
si.

ATSI,10:
Obtener el estado de intervalos para los dispositivos
esclavos ”0400,0200,0400,0200” teniendo en cuenta los tiempos de corte. O time
slots.

44
- Sintaxis: ATSI,10<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>0400,0200,0400,0200<cr_lf>
Este comando se aplica únicamente sobre el módulo Bluetooth ya que es el
esclavo para la aplicación.

ATSI,11
- Este comando carga el tiempo en el que deben activarse los pulsos cuando hay
sincronización entre los dispositivos. 04B0 (Valor en Hexadecimal) = 1200msec.
- Sintaxis: ATSI,11<cr>
- RESPUESTA:<cr_lf>OK<cr_lf><cr_lf>04B0<cr_lf>

ATSI,12
- Este comando obtiene el carácter de escape o salida en los dispositivos. Escape
character setting 2B = “+”
- Sintaxis: ATSI,12<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>2B<cr_lf>
Permite detener el inicio de conexión si uno de los dispositivos a enlazar no
responde.

ATSI,13:
- Este comando mantiene el tiempo fuera de conexión entre los dispositivos,
mantiene un tiempo de descanso mientras los dispositivos se encuentran
enlazados o se inicia nuevamente el proceso de sincronización.
- Sintaxis: ATSI,13<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>003C,003C<cr_lf>

ATSI,14:
- Uno de los comandos mas importantes, ya que registra el nivel máximo de
potencia para el dispositivo. El valor por defecto en los dispositivos Bluetooth es
de 0F (Hexadecimal) = 15dBm. Se encuentra en correcto estado cuando maneja
niveles de (*15dBm, *12dBm, 4dBm, y 0dBm), teniendo en cuenta la clase del
dispositivo. Característica de fábrica.
- Sintaxis: ATSI,14<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>default<cr_lf> este valor puede ir
cambiando dependiendo del grado de conectividad que manejan ambos
dispositivos.

45
ATSI,15:
- Comando que verifica el estado de seguridad en el enlace, este código identifica
la contraseña ya sea en el proceso por defecto = 00, solamente en UART5 = 01 o
UART y RF = 02. De igual manera como en todo el proceso los cogidos son
cargados en Hexadecimal.
- Sintaxis: ATSI,15<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>00<cr_lf>

ATSI,17:
- Se obtienen los ajustes de la operación, es decir inicializa la finalización del
registro de toda la información en el enlace. 0000,0000,0000,0000 (Hex).
- Sintaxis: ATSI,17<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>Not Set!<cr_lf>

ATSI,18
- Comando que supervisa y ajusta el enlace entre los dispositivos ya sincronizados.
- Sintaxis: ATSI,15<cr>
- RESPUESTA: <cr_lf>OK<cr_lf><cr_lf>04<cr_lf>

Cada uno de los comandos AT, son activados siempre y cuando el gestor del
enlace valide toda la información. Gracias a esto, los datos implementados en el
código de control son únicos y es imposible violar el procesamiento que realiza el
teléfono celular con el módulo Bluetooth y este a su ves, sobre la alarma.

4.3. Aplicativo Software para el móvil.

Se desarrolló un aplicativo software para el celular, que permite manipular el


sistema, de forma remota. Para ello fue indispensable buscar información
referente a la programación en dispositivos móviles y encontrar la mejor manera
de adaptarlos al propósito del proyecto.

5
"Universal Asynchronous Receiver-Transmitter" "Transmisor-Receptor Asíncrono Universal"). Se trata de
un componente que utilizan ciertos sistemas digitales basados en microprocesador, para convertir los datos en
paralelo a serie.

46
Inicialmente se investigó, sobre las diferentes plataformas de programación que
permiten introducir procesos de comunicación inalámbrica y adaptabilidad
Bluetooth; de los cuales, los más importantes son: Pyton, C++ y Java.

El proceso es realizado bajo la plataforma JAVA, NetBeans puesto que es una de


las más completas en aplicaciones móviles y trabaja un entorno agradable al
usuario.

La Plataforma NetBeans es una base modular y extensible usada como una


estructura de integración para crear aplicaciones de escritorio grandes y pequeñas.
Empresas independientes asociadas, especializadas en desarrollo de software,
proporcionan extensiones adicionales que se integran fácilmente en la plataforma
y son de gran ayuda a la hora de realizar sus propias herramientas o
configuraciones para cada solución.

La plataforma ofrece servicios comunes a las aplicaciones de escritorio y


movilidad, permitiendo desarrollador en lógica específica cada aplicación. Entre
las características más importantes de la plataforma se encuentran:

• Administración de las interfaces de usuario (ej. menús y barras de


herramientas)
• Administración de las configuraciones del usuario
• Administración del almacenamiento (guardando y cargando cualquier tipo
de dato)
• Administración de ventanas
• Framework basado en asistentes (diálogos paso a paso)

Por otra parte NetBeans maneja un paquete especializado en móviles, NetBeans


Mobility Pack 5.0, que permite escribir, testear y depurar aplicaciones para Java™

47
Micro Edition platform (Java™ ME platform) tecnología disponible para dispositivos
móviles.
Maneja un soporte integrado para perfil de dispositivos, Mobile Information Device
Profile (MIDP) 2.0 y un soporte para configuración de los mismos, Limited Device
Configuration (CLDC) 1.1 con rendimiento y características mejoradas.
Fácilmente se integran emuladores third-party para testear los aplicativos y el uso
del paquete para móviles Mobility Pack, que soporta una variedad de emuladores
para teléfonos móviles.

Estas características permiten trabajar en aplicaciones Bluetooth, con el fin de


iniciar el proyecto de programación.
Se presenta a continuación una descripción general del manejo de programación
para el aplicativo.

Figura 14. Iniciando proyecto de programación.

En la figura 14 se observan las características de programación para los


dispositivos móviles, y se generan los spripts necesarios para su correcta
ejecución.

48
Luego de lo anterior se define las variables y nombre del proyecto junto con la
localización de los archivos. Ver figura 15.

Figura 15. Definir Nombre y localización de los archivos de programación.

Figura 16. Selección de plataforma de Emulación.

En la figura 16 se muestran las condiciones de emulación del programa. Esto


permite ejecutar y correr el programa como una simulación de lo que se verá en el

49
dispositivo móvil. Cabe aclarar que cada una de estas variables está ligada a las
condiciones y características de fabrica, para el dispositivo.
Por último, se agregan algunas configuraciones de selección que definen cómo se
quiere observar el proceso en el simulador.
Luego de ello se introduce el código fuente para la aplicación. La figura 17
muestra como es el entorno de trabajo en NetBeans, allí se realiza todo el proceso
de programación.

Figura 17. Entorno de trabajo en la plataforma (Java) NetBeans.

Luego de realizar pruebas de programación y asesorías con expertos, se


identifican ciertas dificultades en la aplicación del software, relacionados con gama
tecnológica de fabricación en los celulares, es decir, el aplicativo desarrollado
funciona en dispositivos móviles de alta gama.

50
Esto debido, a que el protocolo de comunicación Bluetooth, necesita ciertas
características técnicas en la configuración del Hardware del dispositivo móvil,
como lo es la memoria interna y MIDP (Mobile Information Device Profile), que
define el perfil del dispositivo y es una de las variables más importantes a la hora
de correr el aplicativo.

Después de definir y tener los conceptos claros sobre el manejo de la plataforma


se desarrolla el aplicativo en donde las características más importantes de diseño
son las siguientes.

4.3.1. Componentes de conexión y sincronización entre los dispositivos.

A la hora de implementar la configuración de los dispositivos desde el aplicativo,


se tiene en cuenta las características de identificación para cada uno de ellos, es
decir, las direcciones y nombres que el fabricante introduce.
Con estos datos se puede realizar un enlace directo entre los dispositivos evitando
el acceso a otros elementos Bluetooth en el área de trabajo. El elemento de
identificación mas importante es la dirección IP o registro ID del dispositivo, cada
elemento Bluetooth en el mercado maneja una única dirección.
Para conocer este nombre, fue empleada una herramienta software, para
dispositivos Bluetooth. BT-Devices, software Ruso que permite identificar
rápidamente los dispositivos Bluetooth en el área.

51
Figura 18. Dirección IP para los dispositivos Bluetooth.

En la figura 18 se muestra un ejemplo de la adquisición de los datos, para poder


ser insertados en el código fuente de conexión para el teléfono móvil y el módulo
Al tener cada dispositivo su única identificación es posible configurar
independientemente los servicios que el dispositivo móvil realizara sobre el
módulo.

Para el código fuente son indispensables 5 secuencias de cogido, de las cuales


las mas importantes son, la que determina el control del proceso y la conexión
entre los dispositivos. Ver anexo en el CD, carpeta aplicativo software.

Las otras tres manejan el entorno grafico y los estándares de configuración para
dispositivos móviles.

52
De lo anterior, la adaptabilidad y configuración de la dirección IP o identificación se
realiza sobre el código fuente que maneja el proceso de conexión, allí se
describen las funciones que realizará el dispositivo móvil con el módulo Bluetooth,
validando cada una de las identificaciones que manejan los dispositivos y
generando los recursos de control maestro esclavo que deben tener.

Si las direcciones IP no coinciden en el proceso de conexión no se permite iniciar


el servicio de control, lo cual genera un grado mayor de seguridad para el proceso,
además del código PIN de acceso y la clave de seguridad de la alarma.

Para el código de control que se agrega en el aplicativo se tiene en cuenta el


protocolo de comunicación que se emplea para el proceso, es decir, cada paso
que se realiza en la sincronización y validación del enlace permite estructurar los
pasos requeridos para realizar los mandos a distancia desde el celular.

Cuando el usuario inicia el proceso de mando, el protocolo esta activamente


enviando y recibiendo la información de sincronización para que cada mando que
se genera en el móvil, se envié de forma correcta hacia el módulo Bluetooth, lo
que permite el enrutamiento de los bits al circuito de conmutación.

Este protocolo esta predefinido en el estar de comunicaciones para Bluetooth,


entonces según la secuencia que manejan los dispositivos al iniciar y estar
conectados permite sincronizar y administrar los datos que son enviados desde el
teléfono celular.

4.3.2. Mecanismos de seguridad para el enlace.

De acuerdo a la especificación, se puede proteger la información de usuario


cifrando los datos transmitidos. Mientras que el código de acceso y el encabezado

53
del paquete se transmiten en un canal cifrado, los datos son cifrados utilizando la
clave de transmisión predefinida.
Por lo tanto, los ataques a nivel del vínculo de comunicación son claramente
posibles. El Bluetooth puede operar en uno de los tres Modos de Seguridad:

Modo de Seguridad 1 – sin protección (sin seguridad) En este modo, no se utiliza


ningún cifrado ni autenticación, mientras que el dispositivo enlazado no se
encuentra en estado discriminatorio, es decir, no permite comunicarse con otros
dispositivos.

Modo de Seguridad 2 – basada en aplicación/servicio (L2CAP) En este modo, una


vez que se establece la conexión, el Administrador o técnico encargado de acoplar
el sistema realiza una autenticación, restringiendo de ese modo el acceso al
proceso de control, en otras palabras habilitar el sistema solamente para un
usuario determinado.

Modo de Seguridad 3 – vínculo-capa Autenticación con PIN, Se realiza una


autenticación antes de que se establezca la conexión. Dicho PIN puede tener
entre 1 y 16 bytes de longitud en el funcionamiento. Para esta aplicación es óptimo
realizar una validación de 4 bits.
En la figura 19 se observa el proceso de autenticación para el enlace entre los
dispositivos.

54
Figura 19
9. Proceso de autenticación.

Fuente. Ka
arpersky lab.

El proces
so de auten
nticación es
e el siguie
ente:
1. El aparato que
q inicia la conex
xión envía su direcc
ción (BD_A
ADDR). Esta
E
dirección de 48-bit es única,, como una dirección MAC de
e un adaptador de red.
r
Con esta dirección se puede determinar el vínculo
o.
2. En
n respuestta, se envía una se
ecuencia aleatoria
a de
e 128-bit de búsque
eda
(AU_RAN
ND)
3. Am
mbos disp
positivos generan
g un
na serie de respue
estas de autenticac
ción
llamada S
SRES basa
ada en BD
D_ADDR, la
a Clave de
e Vínculo y AU_RAND.
4. El dispositivo
o que trata
a de establlecer la conexión envvía su SRE
ES, para este
e
caso el m e sistema de segurid
modulo Bluetooth en el dad.
5. El móvil com
mpara el SR
RES recibid
do con el suyo
s y si la
as dos seriies coincid
den,
entonces
s se estab
blece la co
onexión y permite el
e envió po e señales de
osterior de
control. L
La figura 20
0 muestra el diagram
ma de cone
exión con el cual se valida el PIN
P

55
o código de acceso
o entre el módulo
m Blu
uetooth y el teléfono ccelular, estte proceso
o es
usado en
n todos los enlaces Maestro
M esc
clavo.

Figura 20.
2 el código PIN y diagrama d
Autenticación de de conexió
ón entre los
dispositivvos.

Fuente. Ka
arpersky lab.

56
5. PRESENTACIÓN DE ANÁLISIS DE RESULTADOS

Para la elaboración del proyecto se llevaron a cabo varias pruebas con distintos
tipos de dispositivos para encontrar los más adecuados y conseguir el mejor
funcionamiento de los circuitos.

Para realizar el enlace inalámbrico y control del sistema se empleó un circuito


integrado “Bluetooth™ Radio” con el que se obtuvieron los resultados esperados
según las características del fabricante.

Cabe resaltar que se realizaron estudios para obtener diferentes datos en


posibles entornos de trabajo donde se pueda instalar el sistema. Estos datos
permitieron identificar y dar correcciones al proceso, con lo cual la estabilidad del
sistema es óptima, teniendo en cuenta estructuras y formas del recinto.

De acuerdo a las características anteriores y teniendo en cuenta que los estudios


previos realizados ayudan a encontrar el mejor punto de instalación; se obtiene
que el sistema tendrá un desempeño del 100%.

En el sistema de pulsos para el control de la alarma se realizaron pruebas con dos


tipos de elementos electrónicos, las primeras pruebas se realizaron con el RELE
electromagnético 1A 120VAC/24VDC que permite abrir o cerrar uno o varios
interruptores simultáneamente aplicándole una corriente que activa un
electroimán.
Al llevar a cabo las diferentes pruebas y mediciones se encontraron falencias en
su funcionamiento que produjeron que fuera sustituido por otro tipo de dispositivo.
Las fallas que se presentaron fueron:

57
• Interferencia electromagnética con la frecuencia que maneja el modulo
Bluetooth.
• Su carácter electromecánico, hace que sea un dispositivo con alto riesgo de
falla.

El otro elemento electrónico utilizado para los pulsos de activación que no tiene los
problemas que se presentan con el RELE 1A 120VAC/24VDC es el
OPTODARLINTON 4N33, que supera el principal inconveniente de la interferencia
electromagnética sobre la señal producida del Bluetooth. Estos elementos tienen
ventajas como:

• Calidad de funcionamiento
• Trabajo análogo-digital.

5.1. Características de estudios realizados.


Al tener el dispositivo implementado se hicieron pruebas en dos casas de familia,
para verificar el alcance y correcta sincronización del dispositivo celular y el
modulo de control Bluetooth para la alarma.

58
CASA 1

Figura 21. Casa de Familia donde se


realizaron pruebas. Figura 22. Comportamiento del
sistema en casa número 1

CASA 2

Figura 23. Casa de Familia número 2 Figura 24. Comportamiento del


donde se realizaron pruebas. sistema en casa número 2

59
Para cada recinto fueron tomados algunos datos en ubicaciones diferentes, con el
fin de observar el comportamiento del sistema en general, para ello se tomaron 3
puntos especificos, obteniendo datos importantes para el manejo y ubicación del
módulo Bluetooth.

Distancia del módulo al celular:


P1: 3 mts
P2 : 6 mts
P3 : 8 mts

Tiempo de respuesta: tiempo en el cual se demora el sistema en activarse


despues de generar el comando.

Voltaje de activacion: voltaje a la salida del Bluetooth que genera la activación de


los integrados Opto-Darlinton.

Tiempo de P1 P2 P3
respuesta
Casa 1 0 seg 1 seg 1.5 – 2 seg
Casa 2 0 seg 0.5-1 seg 1-1.5 seg

Voltaje de P1 P2 P3
activacion
Casa1 1.13 v 1v 0.8-0.9 v
Casa 2 1.13 v 1.08 v 0.95-1 v

60
6. CONCLUSIONES

• Los sistemas de control digital Bluetooth, permiten al usuario que pueda


administrar su seguridad por medio de un dispositivo tan común como es un
teléfono celular.

• Los estudios de sitios para el cual el sistema Bluetooth fue diseñado,


determinaron que el espacio más propicio son los recintos con pocos
obstáculos y elementos metálicos, debido a que estos objetos disminuyen el
radio de propagación del sistema Bluetooth.

• Para la implementación de un sistema de seguridad con tecnología Bluetooth


no se necesitan grandes inversiones, ya que siendo un dispositivo reciente,
sus características permiten acoplarse a diferentes procesos, luego de tener el
módulo Bluetooth su aplicabilidad es muy versátil y variada.

• El tamaño tan pequeño del dispositivo de comunicación Bluetooth es una gran


ventaja para acoplarlo fácilmente al sistema de seguridad con el cual se
trabajo.

• La tecnología Bluetooth posee grandes ventajas, debido a las opciones de


comunicación con diversos dispositivos, facilidad de configuración, bajos
costos y tecnología de punta.

61
RECOMENDACIONES

• El campo de esta tecnología es muy variado, permitiendo encontrar diferentes


procesos aun no explotados, con los cuales, se invita a la comunidad
universitaria a investigar y desarrollar nuevos aplicativos.

• A la hora de realizar la programación para los dispositivos móviles, se


identifica la poca información sobre Bluetooth que manejan dichas
plataformas, lo que limita los procesos y las características de diseño cuando
se desea realizar un aplicativo.

• Por otra parte, es indispensable introducir al lector en la aplicación de nuevas


tecnologías y desarrollos para Bluetooth, teniendo en cuenta la poca
documentación e información que se encuentra en el país.

• El sistema puede aplicarse a variados sistemas, ya sean eléctricos, mecánicos


o electrónicos, lo que permite implementar procesos de automatización desde
dispositivos móviles.

62
BIBLIOGRAFÍA

DEAN A. GRATTON. Bluetooth Profiles (Paperback). Primera Edición. Editorial


Prentice Hall PTR. (Diciembre 30, 2002).

JENNIFER, Bray. CHARLES, Sturman. Bluetooth 1.1: Connect Without Cables.


Segunda Edición. Editorial Prentice Hall PTR. (Diciembre 17, 2001)

JENNIFER, Bray (Technical Editor). BRIAN, Senese. GORDON, McNutt. BILL,


Munday. DAVID, Kammer. Bluetooth Application Developer's Guide. Primera
Edición. Editorial Syngress Publishing. (Diciembre de 2001).

WEBLIOGRAFIA

http://spanish.bluetooth.com/Bluetooth/Default.htm
http://es.wikipedia.org/wiki/Bluetooth
http://www.hispazone.com/conttuto.asp?IdTutorial=72
http://www.eveliux.com/articulos/bluetooth.html
http://neutron.ing.ucv.ve/revista-e/No8/Joffre%20Perez/Bluetooth.1.htm
http://es.wikipedia.org/wiki/Wireless
SIG http://www.bluetooth.com Sitio Web Público del SIG Bluetooth.
Miembros Bluetooth http://www.bluetooth.org Sitio Web de Miembros (usuarios y
desarrolladores) de Bluetooth.
COMISIÓN DE REGULACIÓN DE TELECOMUNICACIONES, www.crt.gov.co
MINISTERIO DE COMUNICACIONES, www.mincomunicaciones.gov.co

63
ANEXO A.

Código de programación en java para el proceso de seguridad en el enlace.

Este es el código fuente que valida la conexión entre el teléfono y el módulo


Bluetooth.
Se denomina server al dispositivo maestro y client al dispositivo esclavo, para esta
aplicación el esclavo es el módulo Bluetooth y el maestro el teléfono celular.

ServerApp.java
import java.io.*;
import javax.bluetooth.*;
import com.atinav.standardedition.io.*;
public class ServerApp {
public static void main(String args[]){
ServerApp a = new ServerApp();
L2CAPConnection con = null;
L2CAPConnectionNotifier service = null;
InputStream in = null;
OutputStream out = null;
String serviceURL = "btl2cap://localhost:1111;name=ATINAV;" +
"authorize=true;authenticate=true;encrypt=false";
LocalDevice local = null;
try {
local = LocalDevice.getLocalDevice();
System.out.println("\n Atinav aveLink Bluetooth Server Application \n");
System.out.println("__________________________________________\n");
System.out.println("My BDAddress: "+ local.getBluetoothAddress());
System.out.println("__________________________________________\n");
service = (L2CAPConnectionNotifier)Connector.open(serviceURL);
//
// Se llama al registro de servicio SBBD
// Acepeta ña coneccion desde el dispocitivo esclavo para iniciar la validación
//
con = service.acceptAndOpen();
System.out.println("\nConnection established to the remote device\n");
byte[] data = new byte[1000];
while (!con.ready()){
try{
Thread.sleep(1);
}catch(InterruptedException ie){}
}
con.receive(data);

64
System.out.println("Data received at the Server Side "+
new String(data));
String strData= "This is the Data From the Server Application to "+
" the Client Application";
byte[]datax = strData.getBytes();
con.send(datax);
//System.out.println("Data sent from the server side." + strData);
try{
Thread.sleep(10);
}catch(Exception e){}
}catch(Exception e){
e.printStackTrace();
}
}
}

ClientApp.java
import java.io.*;
import javax.bluetooth.*;
import com.atinav.standardedition.io.*;
public class ClientApp implements DiscoveryListener{
private static LocalDevice localDevice = null;
private DiscoveryAgent discoveryAgent = null;
private String connectionURL = null;
private RemoteDevice[] device = null;
private ServiceRecord[] records = null;
private boolean inquiryCompl = false;
int count = 0;
int maxSearches = 10;
public ClientApp(){
System.out.println("\n Atinav aveLink Bluetooth Client Application \n");
System.out.println("________________________________________\n");
try{
localDevice = LocalDevice.getLocalDevice();
discoveryAgent = localDevice.getDiscoveryAgent();
device = new RemoteDevice[10];
System.out.println("_______________________________________\n");
System.out.println("My BDAddress: "+
localDevice.getBluetoothAddress());
System.out.println("____________________________________\n");

65
// Inicia la busqueda de informacion para los dispocitivos proximos hasta completar
el ciclo del dispositivo remoto.
//
System.out.println("\nSearching for Devices...\n");
discoveryAgent.startInquiry(DiscoveryAgent.GIAC,this);
synchronized(this){
this.wait();
}
// Una ves que la información del dispositivo es completada, inicia la busqueda de
requerimiento de servicio.
//este servicio busca si esta listo para entregar la UUID y luego verificar el código
del recurso de localización.
//
int[] attrSet = {0,3,4,0x100};
UUID[] uuids = new UUID[1];
uuids[0] = new UUID("1111",true);
System.out.println("\nSearching for Service...\n");
for(int i = 0; i< count; i++){
int transactionid =
discoveryAgent.searchServices(attrSet,uuids,device[i],this);
if(transactionid != -1){
synchronized(this){
this.wait();
}
}
if(connectionURL != null)
break;
}
}catch(Exception ie){
ie.printStackTrace();
}

// Si el localizador de registro en el dispositivo comienza con el btl2cap, se llama al


método de conexion para se establecido con el dispositivo maestro.
//

if(connectionURL == null)
System.out.println("No service available.......... .");
else if(connectionURL.startsWith("btl2cap")){
try{
L2CAPConnection connection = getconnection();
System.out.println("\n conexión establecida con el dispositivo remote.\n");
String strData = "This is the Data From Client Application "+

66
"to Server Application";
byte[] data = strData.getBytes();
connection.send(data);
try{
Thread.sleep(10);
}catch(Exception e){}
while(true){
byte[] datax = new byte[1000];
while (!connection.ready()){
try{
Thread.sleep(1);
}catch(InterruptedException ie){}
}
connection.receive(datax);
System.out.println("Data received at the Client Side "+
new String(datax));
}
connection.close();
}catch(Exception ioe){
ioe.printStackTrace();
}
}
}
//
// Cuando un dispositivo es descubierto se añade a una lista de dispositivos en el
teléfono móvil que determina la sincronización del mismo.
//
public synchronized void deviceDiscovered(RemoteDevice btDevice,
DeviceClass cod){
device[count++] = btDevice;
System.out.println("New Device discovered : "+
btDevice.getBluetoothAddress());
}
//
// Cuando un servicio es descubierto con un Nuevo dispositivo y si la conexión no
es nula, el transmisor espera notificación para iniciar el proceso de validación.
//
public synchronized void servicesDiscovered(int transID,
ServiceRecord[] servRecords){
records = new ServiceRecord[servRecords.length];
records = servRecords;
for(int i=0;i<servRecords.length;i++){
int[] atrids = servRecords[i].getAttributeIDs();

67
String servName =
(String)((DataElement)servRecords[i].getAttributeValue(0x100)).getValue();
System.out.println("Service Name : "+ servName);
connectionURL = servRecords[i].getConnectionURL(1,true);
System.out.println("Connection url :" + connectionURL);
if(connectionURL != null){
synchronized(this){
this.notify();
}
break;
}
}
}
//
// Esta función notifica la espera en el transmisor principal, si el servicio esta
terminando obtiene un código de respuesta.
//

public synchronized void serviceSearchCompleted(int transID, int respCode){


if(respCode==SERVICE_SEARCH_ERROR)
System.out.println("\nSERVICE_SEARCH_ERROR\n");
if(respCode==SERVICE_SEARCH_COMPLETED)
System.out.println("\nSERVICE_SEARCH_COMPLETED\n");
if(respCode==SERVICE_SEARCH_TERMINATED)
System.out.println("\n SERVICE_SEARCH_TERMINATED\n");
if(respCode == SERVICE_SEARCH_NO_RECORDS){
synchronized(this){
this.notify();
}
System.out.println("\n SERVICE_SEARCH_NO_RECORDS\n");
}
if(respCode == SERVICE_SEARCH_DEVICE_NOT_REACHABLE)
System.out.println("\n SERVICE_SEARCH_DEVICE_NOT_REACHABLE\n");
}
//
// Una ves que la información el dispositivo es completada el transmisor principal
notifica la conexión entre los dispositivos este Maestro Esclavo
//

public synchronized void inquiryCompleted(int discType){


this.notify();
}

68
//
// Se abre la conexión con el dispositivo maestro
//

L2CAPConnection getconnection() throws IOException{


return (L2CAPConnection)Connector.open(connectionURL);
}
public static void main(String[] args){
ClientApp client = new ClientApp();
}
}

69
ANEXO B.
Diagrama de flujo del protocolo de comunicación.

70
ANEXO C:
Diagrama de flujo de conexión entre el módulo Bluetooth y el Teléfono celular.

71
ANEXO D.
Data sheet Opto-Darlington.

72
73
74
75

Вам также может понравиться