Академический Документы
Профессиональный Документы
Культура Документы
ALARMA DE SEGURIDAD.
1
DISEÑO E IMPLEMETACIÓN POR CONTROL BLUETOOTH PARA UNA
ALARMA DE SEGURIDAD.
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.
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.
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.
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
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:
1
Sony Ericsson
9
1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA
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.
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.
12
1.4. OBJETIVOS
1.4.1. General:
1.4.2. Específicos:
13
1.5. ALCANCES Y LIMITACIONES
1.5.1. Alcances
1.5.2. Limitaciones
14
2. MARCO DE REFERENCIA
2.2.1. Bluetooth
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
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.
Los paquetes Bluetooth poseen tres partes bien diferenciadas, como se puede
apreciar en la figura 5.
19
Figura 5. Formato de paquete Bluetooth
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:
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.
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.
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
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).
25
3. METODOLOGÍA
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.
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.
• Control
• Comunicaciones
27
características de funcionamiento de los dispositivos empleados, dados por el
fabricante.
3.4. HIPÓTESIS
3.5. VARIABLES
• Frecuencia.
• Automatización para la aplicación de seguridad en espacios interiores.
• Sistemas de control
• Seguridad
• Adquisición de datos
• Medio de comunicación
28
4. DISEÑO INGENIERIL
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.
29
4.1.1. Elección del circuito integrado Bluetooth
3
Chipset: conjunto de integrados que dan funcionalidad auxiliar al proceso del circuito en general.
30
Figura 8. Circuito Integrado de Comunicación Bluetooth
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.”
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.
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.
34
Especificaciones:
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.
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.
37
Figura 11. Circuito 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.
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
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
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.
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.
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.
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.
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.
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.
48
Luego de lo anterior se define las variables y nombre del proyecto junto con la
localización de los archivos. Ver figura 15.
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.
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.
51
Figura 18. Dirección IP para los dispositivos Bluetooth.
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.
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:
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.
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.
58
CASA 1
CASA 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.
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
61
RECOMENDACIONES
62
BIBLIOGRAFÍA
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.
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();
}
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.
//
68
//
// Se abre la conexión con el dispositivo maestro
//
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