SlideShare una empresa de Scribd logo
1 de 136
Descargar para leer sin conexión
Centro Nacional de Investigación y Desarrollo
                     Tecnológico
           Departamento de Ciencias Computacionales

           TESIS DE MAESTRÍA EN CIENCIAS
  API para servicios de localización en interiores basada en
        tecnología Wi-Fi, Bluetooth, RFID y QRCode
                                     presentada por

                          Miguel Angel Yris Pastor
     Lic. En Ciencias de la computación por la Universidad Juárez Autónoma de Tabasco

                    como requisito para la obtención del grado de:

              Maestría en Ciencias en Ciencias de la Computación

                                  Director de tesis:

                            Dr. Juan Gabriel González Serna

                                        Jurado:

                       Dr. Máximo López Sánchez – Presidente

                      Dr. Guillermo Rodríguez Ortiz – Secretario

                        Dra. Azucena Montes Rendón – Vocal

                  Dr. Juan Gabriel González Serna – Vocal Suplente

Cuernavaca, Morelos, México.                                28 de febrero de 2012
La investigación aquí plasmada fue desarrollada gracias al apoyo del Consejo Nacional de
Ciencia y Tecnología (CONACyT), el Centro Nacional de Investigación y Desarrollo Tecnológico
(CENIDET) y el grupo AUTOLOG de la Universidad de Castilla-La Mancha, España.
Dedicatoria




Si desarrollar y redactar todo este conjunto de ideas me permite tener cierta propiedad sobre
ellas me gustaría dedicarlas a todos aquellos que directa o indirectamente aportaron un
granito de arena o una playa completa para iniciar y finalizar esta aventura. Mencionarlos a
todos me haría ocupar 5 o 6 veces el volumen de esta tesis, pero estoy seguro de haberlo hecho
en su momento y que ellos se dieron por enterados, aún así, si por azares del destino o por el
bibliotecario local te encuentras leyendo este documento … Gracias.

                                               Miguel Angel Yris Pastor, México DF. 4 de febrero de 2012
Agradecimientos




En una opinión muy personal, creo que son muy pocas las actividades o empresas de
las cuales un hombre o mujer se puede enorgullecer de haberlas realizado sin ayuda
de alguien más; Este no es el caso.




Gracias … a Mamá, Karen Mariel Nájera, Normita Bolio, Juan Carlos Yris, José Antonio
Yris. Luis David Yris Pastor, Claudia Vara, Marbella Pastor, Salvador Galván, Gabriel
González, Máximo López, Azucena Montes, Guillermo Rodriguez, Ricardo Estrada,
Hugo Estrada, Alicia Martínez, Mónica Pichardo, Alejandra Ramírez, Julia Arana, Andrés
García, Pablo García, Javier de las Morenas, Francisco Carreño, Rafel Otal, Arturo Bejar,
Blanca Vargas, Bea Escobar, Ainoa Castillo, Cesar Villatoro, al equipo Autolog Ciudad
Real, al equipo Autolog Cuenca, equipo de mecánica de la escuela de ingenieros.




…. A las incontables Dulcineas y Sanchos que contestaron de una forma u otra la
solicitud de “acorredme en las innumerables afrentas que a este avasallado intelecto
se le ofrecían”



                       A todos ellos … Gracias (a pesar de mi necedad, nada de esto se hubiese logrado)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                                                                                  ABSTRACT


The next generation of mobile services is presumed to be highly adaptive to the user’s
personal features and to his environmental, physical and technological condition and
subsequent consequences. This ‘context-aware paradigm’, which originates from the
vision of ‘ubiquitous computing’ and is supposed to drive the design of future
commercial mobile services, still presents a lot of technological, social and business
challenges. [Bernardos, 2008]


One these challenge is to obtain the position of a user within a specific area.Today
there are indoor location systems, which allow determining the position of an object
within an      area.To     achieve     its purpose,     these systems     use pattern
recognition techniques such asthermal, visual or electromagnetic pattern recognition.
Systems using electromagnetic patterns are the basis of this thesis. in this research
report we propose, model, develop and implement methods for indoor location based
on signal patterns as Wi-Fi, Bluetooth or RFID.These methods are encoded within an
API written in Java.



The main chapters of this thesis show the modeling, development and implementation
of an API that contains the methods needed to develop indoor location services using
a client-server architecture using context evaluation of electromagneticpatterns.In the
development of client server architecture has been proposed to the client as mobile
device with Wi-Fi interfaces and Bluetooth ™, or an object / individual identified by a
passive RFID tag.The last three chapters of this document show the tests performed to
obtain the degree of assertiveness of the methods developed in the context of varying
signals scenarios.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



                                                                               RESUMEN
A las siguientes generaciones de servicios móviles se les presupone un alto grado de
adaptación a la identidad, objetivos, situación física y tecnológica de sus usuarios.
Este paradigma de diseño de servicios, que aprovecha el conocimiento del “contexto”
de las entidades inmersas en el entorno, y que se considera derivado y habilitador del
concepto de computación ubicua, presenta aún numerosos retos tecnológicos,
sociales y de negocio para su puesta en operación y posterior generalización de uso.
[Bernardos, 2008].

Uno de los retos de los cuales hace mención Norma Bernardos en el párrafo anterior
es la determinación de la posición de un usuario en un área específica de grandes
dimensiones o multinivel. Conocidos como indoor location systems (sistemas de
localización en interiores por sus siglas en inglés ILS) son sistemas evaluadores del
contexto de una persona o dispositivo móvil dentro de un área de localización para
determinar su posición dentro de la misma. Estos sistemas se basan (e incluso se
pueden llegar a clasificar por ellas) en diferentes técnicas de evaluación (o sensado)
del medio para determinar la posición de un objeto con respecto a un punto
previamente identificado. Por nombrar algunos se pueden mencionar aquellos que se
basan en las huellas de temperatura de ciertos objetos, reconocimiento de patrones
visuales, velocidad de tráfico y desplazamiento o reconocimiento de magnitudes de
señales electromagnéticas. Estos últimos son los que ocupan el objetivo de esta tesis,
que, a modo de sistematización de ciertos procesos, propone, modela, desarrolla,
implementa y evalúa métodos de localización en interiores basados en la evaluación
de señales electromagnéticas de tipo Wi-Fi™, Bluetooth y RFID. Para fines prácticos y
de implementación los métodos de localización fueron automatizados dentro de
métodos y clases de programación a modo de “librería de funciones”. Esta librería fue
desarrollada en el lenguaje de programación JAVA para garantizar la compatibilidad
de las funciones sobre cualquier plataforma (sistema operativo) que permita la
ejecución de una maquina virtual java (JVM, Java Virtual Machine).

Los capítulos nucleares de esta tesis muestran el modelado, desarrollo e
implementación de una API que contiene los métodos necesarios para desarrollar
servicios de localización en interiores utilizando una arquitectura cliente-servidor
mediante la evaluación del contexto de señales electromagnéticas. En el desarrollo de
la arquitectura cliente servidor se ha propuesto al cliente como un dispositivo móvil con
interfaces Wi-Fi™ y Bluetooth, o a un objeto/individuo identificado por una etiqueta
RFID pasiva.

Los tres últimos capítulos de este documento muestran las pruebas realizadas para
obtener el grado de asertividad de los métodos desarrollados en escenarios de
contexto de señales variables. El último capítulo de este documento muestra la
descripción en formato JAVADoc de cada uno de los métodos que componen la API
desarrollada para ofrecer servicios de localización en interiores basados en tecnología
Wi-Fi™, Bluetooh y RFID. De igual manera se encuentra una copia de un artículo de
investigación publicado en el congreso internacional RFIDSystech 2011 producto de
un desarrollo e investigación relacionada a lo mostrado en este documento.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


Tablas de contenidos

Índice de capítulos




Capítulo 1 -- Introducción
1.1. Introducción ______________________________________________________ 2
1.2. Problema _________________________________________________________ 3
1.3 Objetivo principal___________________________________________________ 3
1.4 Estructura del documento ____________________________________________ 3


Capítulo 2 -- Marco conceptual


2.1 Introducción _______________________________________________________ 6
2.2. RFID _____________________________________________________________ 6
2.3. IEEE 802.11 _______________________________________________________ 7
2.4. API (Application Program Interface) ___________________________________ 7
2.5. LLRP (Low Level Reader Protocol) _____________________________________ 7
2.6. Sistema de localización en interiores __________________________________ 10
2.7. Bluetooth ________________________________________________________ 11


Capítulo 3 -- Estado del arte

3.1 Introducción ______________________________________________________ 14
3.2. An Indoor Positioning System (IPS) using Grid Model _____________________ 14
3.3. Local positioning system using WiFi networks __________________________ 15
3.4.- Internal Location Based System For Mobile Devices Using Passive RFID And
Wireless Technology __________________________________________________ 17
3.5. A Patient Identification System using RFID and IEEEE 802.11b Wireless Networks
 ___________________________________________________________________ 18
3.6 Localización y seguimiento de terminales móviles en entornos indoor. _______ 19
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


3.7 Servicios de localización conscientes del contexto aplicando perfiles de movilidad
y tecnologías de localización heterogéneas ________________________________ 20


Capítulo 4 -- CHAMAN

4.1 Introducción ______________________________________________________ 23
4.2 Método de localización en interiores basados en huella de señal (Fingerprint) _ 24
4.3 Descripción de general de la API ______________________________________ 24
4.4 Funcionalidades ___________________________________________________ 26
4.5 Modelo y arquitectura de la API para servicios de localización en interiores
utilizando tecnología Wi-Fi™, Bluetooth, RFID y QRCode. _____________________ 28
  4.5.1 Modelo del proceso de localización implementado en la API __________________ 29
  4.5.2 Reglas de inferencia utilizadas por CHAMAN en el proceso de localización en
  interiores ________________________________________________________________ 30
  4.6.2 Modelo entidad relación del esquema utilizado para la persistencia de datos
  utilizados para el proceso de localización ______________________________________ 32
  4.6.3 Arquitectura de capas de la API para servicios de localización en interiores. ______ 35

4.7 Diseño de capas de la API ___________________________________________ 36
  4.7.1 Capa de conexión física ________________________________________________ 36
     4.7.1.1 Clase RFIDReaderLLRPConnection _____________________________________________ 37
     4.7.1.2 Clase RFIDReaderSMNPConnection ____________________________________________ 38
     4.7.1.3 Clase WiFiClientConnection __________________________________________________ 38

  4.7.2 Capa de traducción de datos ____________________________________________ 39
     4.7.2.1 Clase TranslateRawData ____________________________________________________ 41
     4.7.2.2 Clase trainingRadioMap _____________________________________________________ 41
     4.7.2.3 Clase locationPackage ______________________________________________________ 41
     4.7.2.4 Clase ROSPEC_Event ________________________________________________________ 42

  4.7.3 Capa de filtrado de datos _______________________________________________ 42
     4.7.3.1 Clase LocationAreaIdentification ______________________________________________ 43
     4.7.3.2 Clase RFIDIdentification _____________________________________________________ 43
     4.7.3.3 Clase PlayersIdentiffication __________________________________________________ 43

  4.7.4 Capa de procesamiento de datos ________________________________________ 43
     4.7.4.1 Subcapa de entrenamiento __________________________________________________ 44
     4.7.4.3 Subcapa de localización _____________________________________________________ 45
     Microlocalización ________________________________________________________________ 47
     Macrolocalización ________________________________________________________________ 49
     Localización utilizando contexto de tecnologías RFID o NFC ______________________________ 49
     Localización utilizando QRCodes ____________________________________________________ 50
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


  4.7.4.4 Capa de conexión a repositorios relacionales _____________________________ 51
  4.7.4.5 Capa de servicios ____________________________________________________ 52

4.8 Diagrama de clases ________________________________________________ 53


Capítulo 5 -- Casos de estudio

5.1 Introducción ______________________________________________________ 55
5.2 Caso de estudio 1: Localización en interiores utilizando contexto de tecnologías
Wi-Fi™ y Bluetooth____________________________________________________ 55
  5.2.1 Descripción del escenario_______________________________________________ 55
  5.2.2 Entrenamiento _______________________________________________________ 57
     5.2.2.1 Implementación del método de localización fingerprint ___________________________ 57
     5.2.2.2 Diseño de un “grid” virtual sobre el área de localización ___________________________ 57
     5.2.2.3 Creación de “radiomapa” de áreas de localización ________________________________ 60

  5.3 Localización en interiores en un medio no controlado _________________________ 63
     5.3.1 Microlocalización ____________________________________________________________ 63
     5.3.2 Macrolocalización ___________________________________________________________ 81
     5.3.3 Resultados _________________________________________________________________ 91

5.4 Caso de estudio 2: Localización en interiores utilizando contexto de tecnología
RFID _______________________________________________________________ 91
  5.4.1 Escenario 1: acceso a una zona de localización ______________________________ 92
     Descripción del escenario __________________________________________________________ 92
     Pruebas ________________________________________________________________________ 93

  5.4.2 Escenario 2: localización en edificio multinivel ______________________________ 94
     Descripción del escenario __________________________________________________________ 94
     Pruebas ________________________________________________________________________ 94

  Resultado de pruebas ______________________________________________________ 95




Capítulo 6 -- Conclusiones

6.1 Conclusiones ______________________________________________________ 97
6.2 Trabajos futuros ___________________________________________________ 98
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



Capítulo 7 -- Referencias


7. Referencias _______________________________________________________ 102


Capítulo 8 -- Anexos


8.1 Introducción _____________________________________________________ 105
8.2 Application to a warehouse environment of a tracking system based on RFID and
free software _______________________________________________________ 105
8.3 Especificaciones técnicas de instrumentos utilizados en el proceso de localización
 __________________________________________________________________ 113
  8.3.1 Puntos de acceso ____________________________________________________ 113
     Punto de Acceso Linksys WRT54GL _________________________________________________ 113
     Punto de Acceso Linksys WRT120N _________________________________________________ 114

  Punto de Acceso DLink 2440t _______________________________________________ 115
  8.3.2 Portal RFID _________________________________________________________ 117
     Lector RFID Impinj Speedway ______________________________________________________ 117

  8.3.3 Dispositivo móvil cliente ______________________________________________ 119
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


Índice de figuras


Figura 2.1 Modelo de objetos de protocolo LLRP
                                                                                                 8
Figura 1 Arquitectura de transporte de datos de Bluetooth                                        12
Figura 2- Esquema de capas los elementos y procesos involucrados en la
localización del dispositivo cliente                                                             15

Figura 3.- Arquitectura del sistema de localización
                                                                                                 16
Figura 3.3 .- Modelo de comunicación del sistema
                                                                                                 17
Figura 4.- Simulación de la aplicación en la cual se ha obtenido la posición del
dispositivo (cubículo 4)                                                                         18

Figura 5.- Reglas usadas para la evaluación difusa de localización, en ella
interviene la calidad de la señal de 4 puntos de acceso ( AP) y obtiene como
                                                                                                 19
resultado la zona en la que se encuentra el cliente

Figura 3.6 Diagrama de flujo de proceso de guiado en base a lectura de tags
RFID                                                                                             20

Figura 3.6 Pantallas involucradas en el proceso de guiado en base a lectura de
tags RFID                                                                                        21

Figura 4.1 Diagrama de funcionalidades de las capas que componen a
CHAMAN                                                                                           28

Figura 4.2 Modelo del proceso de localización utilizando el contexto de señales
Wi-Fi™ , Bluetooth y RFID                                                                        30

Figura 4.3 Definición de zonas utilizando formación “Matryoshka”
                                                                                                 33
Figura 4.4 Diagrama Entidad - Relación del esquema del repositorio de datos
utilizado por CHAMAN                                                                             34

Figura 4.5 Diagrama de capas que componen CHAMAN
                                                                                                 35
Figura 4.6 Representación UML de las clases y métodos de tipo interfaz de la
clase de conexión física                                                                         37

Figura 4.7 Diagrama de clases correspondiente a la capa de traducción de datos
Figura 4.8 Diagrama de clases de la capa de filtrado de datos                                    41

Figura 4.8 Diagrama de clases de la capa de filtrado de datos
                                                                                                 42
Figura 4.9 Diagrama de clases de la capa de procesamiento de datos
                                                                                                 44
Figura 4.10 (a) radiomapa entrenado vista repositorio relacional, (b)
representación gráfica de un radiomapa entrenado                                                 45

Figura 4.11 Modelo secuencial del proceso de localización utilizando el contexto
                                                                                                 47
de tecnologías Wi-Fi™ y Bluetooth
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




Figura 4.12 Proceso de microlocalización
                                                                                                 48
Figura 4.13 Proceso de macrolocalización
                                                                                                 49
Figura 4.14 Proceso de localización utilizando tecnología RFID
                                                                                                 50
Figura 4.15 Proceso de localización utilizando la tecnología QRCode.
                                                                                                 51
Figura 4.16 Diagrama de clases de la API CHAMAN
                                                                                                 53

Figura 5.1 Mapa de distribución arquitectónica de la planta baja del edificio del
                                                                                                 56
departamento de ciencias de la computación (CENIDET)
Figura 5.2 Secuencia de comunicación de la aplicación cliente con el repositorio
relacional en fase de entrenamiento de radiomapa                                                 62

Figura 5.3 Muestra de celdas entrenadas en el repositorio relacional (a) y
representación gráfica de un radiomapa entrenado (b)                                             62

Figura 5.4 Celdas evaluadas
                                                                                                 64
Figura 5.5 celdas candidatas resultantes al implementar el algoritmo de
localización en la celda J10                                                                     66

Figura 5.6 celdas resultantes al implementar el algoritmo de localización en la
celda E1                                                                                         68

Figura 5.7 Resultado de implementar el algoritmo de localización en la celda H7                  71
Figura 5.8 Resultado de implementar el algoritmo de localización en la celda 9D
                                                                                                 73
Figura 5.9 Resultado de implementar el algoritmo de localización en la celda 11B
                                                                                                 76
Figura 5.10 Resultado de implementar el algoritmo de localización en la celda 6B                 78
Figura 5.11 Resultado de implementar el algoritmo de localización en la celda 8C
                                                                                                 80
Figura 5.12 Conjunto de celdas candidatas (vecindad) en una zona de
                                                                                                 81
localización
Figura 5.13 Resultado de la implementación del algoritmo de localización en la
zona entrada al edificio                                                                         83

Figura 5.14 Resultado de la implementación del algoritmo de localización en la
zona Laboratorio de Ingenieria de software                                                       84

Figura 5.15 Resultado de la implementación del algoritmo de localización en la
                                                                                                 85
zona Laboratorio de Inteligencia Artificial
Figura 5.16 Resultado de la implementación del algoritmo de localización en la
zona Cubo Central                                                                                86

Figura 5.17 Resultado de la implementación del algoritmo de localización en la
zona Aula 2                                                                                      87

Figura 5.18 Resultado de la implementación del algoritmo de localización en la
                                                                                                 88
zona Aula 3
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




Figura 5.19 Resultado de la implementación del algoritmo de localización en la
zona Aula 1                                                                                      89

Figura 5.20 Resultado de la implementación del algoritmo de localización en la
zona Laboratorio de Sistemas Distribuidos                                                        90

Figura 5.21 Distribución de infraestructura RFID en el edificio del DCC
                                                                                                 92
Figura 5.22 Diagrama de disposición de antenas en escenario de entrada y
salida controlado por antenas RFID                                                               93

Figura 5.23 Distribución de antenas RFID en la zona de escaleras del edificio del
DCC                                                                                              94

Figura 6.1 Diagrama de implementación de CHAMAN y un sistema visor de
posición en interiores en un dispositivo móvil                                                   99

Figura 6.2 Diagrama de propuesta de implementación e interoperabilidad en el
internet de las cosas entre CHAMAN , fosstrak y hardware Arduino                                 99
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                                                                     Capítulo 1
                                                                  Introducción




Capítulo 1 -- Introducción                                                                 Página 1
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



1.1. Introducción

En 1950 Isac Assimov (visionario con todas y cada una de las letras de la palabra)
escribió una novela titulada Yo, Robot1 (I, Robot), si bien la temática de la historia
transcurría sobre términos éticos e inteligencia artificial, Assimov no escatimo en
detalles sobre el contexto en el cual se desarrolla la historia, en más de una ocasión
se describe la gran variedad de servicios ofrecidos a un humano según el lugar en
donde se encontraba (ahora le llamamos contex-aware). Años más tarde, en 1956,
Philip K. Dick publica “The minority report”2 en donde narra las vivencias de John
Anderton. Nuevamente el autor no deja a la imaginación del lector detalles del
contexto de cada aventura, pero esta vez, se describe lo que al parecer es un
“dispositivo rastreador” que, tal vez, en aquel tiempo por ser lo más avanzado en
tecnología, se describía su funcionamiento como ondas de radio. Tuvieron que pasar
más de 30 años de aquellas publicaciones para que se pudiese llevar a la realidad, tal
vez, inspirados en aquellas viejas historias u orillados a evolucionar hacia el grado de
comodidad descrito en tales historias; nacen los primeros sistemas de localización
para uso no militar, los cuales, no han parado de evolucionar, llegando así a la actual
tecnología de sistemas de posicionamiento global (GPS por sus siglas en inglés) que
proporciona una gran precisión en escenarios urbanos, pero es de muy poca ayuda en
escenarios donde el individuo u objeto a localizar se encuentra dentro de un edificio,
esto se debe a la interferencia o atenuación de señal que producen los elementos
arquitectónicos del edificio. Como respuesta a esta necesidad se desarrollaron (y
continúan en constante desarrollo) sistemas de localización en interiores que tienen
como fin determinar la posición de un objeto dentro de un área de localización cerrada.
A partir de esta idea, se han desarrollado múltiples soluciones que incluyen
tecnologías que pueden ir desde el reconocimiento de patrones visuales hasta el
reconocimiento de patrones electromagnéticos. Estos últimos, son el punto de partida
y atención de este trabajo de investigación el cual plantea, modela, desarrolla, prueba
y muestra una API escrita en lenguaje de programación JAVA la cual contiene clases y
métodos que permiten al programador ofrecer servicios de localización en interiores
evaluando los patrones de señales electromagnéticas percibidas por un cliente móvil
dentro de un edificio. Dado a que hoy en día existen un gran número de frecuencias
electromagnéticas a nuestro alrededor, pero no todas usadas por el individuo común,
se decidió utilizar señales electromagnéticas propias de las tecnologías de
comunicación inalámbrica más comunes: Wi-Fi™, Bluetooth y RFID, pretendiendo de
esta forma lograr una implementación económica, sencilla y escalable funcionando de
esta manera como base para futuros proyectos en los cuales se necesiten servicios de
localización en interiores.




1
    http://en.wikipedia.org/wiki/I,_Robot (Recuperado el 2 de noviembre del 2011)
2
    http://en.wikipedia.org/wiki/The_Minority_Report (Recuperado el 2 de noviembre del 2011)

Capítulo 1 -- Introducción                                                                     Página 2
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



1.2. Problema

La determinación de la posición de un individuo u objeto dentro de un edificio es de
gran importancia en la evaluación de diferentes tópicos como puede ser la seguridad,
navegación, y asistencia personal, los sistemas que atienden este tipo de tópicos son
y/o necesitan de hardware muy costoso [Papapostolou, 2009]. Las soluciones de
software basadas en hardware de comunicación (como puntos de acceso Wi-Fi™ o
Bluetooth que se encuentran en el mercado) que se encuentran actualmente en el
mercado brindan soluciones generales que no pueden ser adaptadas a todo tipo de
escenario sin mencionar la falta de compatibilidad con aplicaciones de terceros.


1.3 Objetivo principal

Como se podrá apreciar en futuros capítulos, actualmente existen múltiples opciones,
técnicas, algoritmos y métodos para obtener la posición aproximada de un individuo u
objeto dentro de un escenario de tipo interior (indoor). Aquellos que son
implementados como una solución computacional son realizados de forma monolítica
o poco escalable. Por lo tanto: El objetivo de esta tesis es desarrollar métodos de
localización en interiores basados en evaluación de señales electromagnéticas y
encapsularlos dentro de clases que a su vez formarían librerías de programación de
forma tal que al ser implementada, el programador que utilice la API pueda obtener
como resultado de la ejecución de un método la información de localización de un
individuo determinado dentro de un área de localización haciendo de esto un proceso
rápido, económico y casi transparente para el programador.


1.4 Estructura del documento

Este documento de tesis se encuentra distribuido en siete capítulos en los cuales se
presentan en una primera parte los conceptos básicos y metodologías de localización
que le permiten al lector extender el panorama y vocabulario necesario para
comprender los capítulos sustánciales de la tesis en los cuales se describe el
modelado, codificación, implementación y pruebas de los métodos de localización en
interiores productos de esta investigación. Por último, el lector se encontrará con las
conclusiones obtenidas por el autor al finalizar el proceso de investigación, desarrollo e
implementación, como también un capítulo en el cual se encuentran los documentos
anexos como lo son documentación de la API, imágenes y un artículo presentado en
un congreso internacional producto derivado de la investigación desarrollada en el
proceso de investigación de esta tesis.

El listado de capítulos que a continuación se muestra atiende a la estructura que se ha
establecido para la publicación de este documento.

En el capítulo 1. Introducción y descripción general del tema de investigación. El
capítulo 2 muestra un marco conceptual en el cual se definen conceptos que son


Capítulo 1 -- Introducción                                                                 Página 3
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


utilizados en el resto del documento. El capítulo 3 corresponde a la descripción del
estado del arte relacionado a los procesos de localización en interiores utilizando
tecnología Wi-Fi ™, Bluetooth y RFID. El capítulo 4 contiene el modelado y descripción
de la API propuesta en esta tesis. En el capítulo 5 se encuentran registradas las
pruebas realizadas para comprobar el grado de presión de los algoritmos
desarrollados y codificados en métodos y clases pertenecientes a la API. El capítulo 6
contiene las conclusiones generales a las que se ha llegado después de realizar el
proceso de investigación, desarrollo e implementación de las ideas planteadas en esta
tesis. El capítulo 7 muestra las referencias bibliográficas Y por último, el capítulo 8
contiene los documentos anexos a esta investigación.




Capítulo 1 -- Introducción                                                                 Página 4
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                                                            Capítulo 2
                                                     Marco conceptual




Capítulo 2 -- Marco conceptual                                                             Página 5
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



2.1 Introducción

Tecnologías de comunicación inalámbrica, identificación por radio frecuencia, sistemas
de localización en interiores y magnitudes electromagnéticas pueden ser términos
extraños para un lector no “iniciado” o ajeno a los términos relacionados e incluidos en
este documento de tesis. En este capítulo se encuentran las definiciones básicas que
permitirán al lector contar con las bases para comprender los escenarios, propuestas y
desarrollos realizados en el resto de este documento.




2.2. RFID

RFID (Identificación por Radiofrecuencia) es un método de almacenamiento y
recuperación remota de datos, basado en el empleo de etiquetas o “tags” en las que
se encuentra almacenada información. RFID se basa en un concepto similar al del
sistema de código de barras; la principal diferencia entre ambos reside en que el
segundo utiliza señales ópticas para transmitir los datos entre la etiqueta y el lector, y
RFID, en cambio, emplea señales de radiofrecuencia (en diferentes bandas
dependiendo del tipo de sistema, típicamente 125 KHz, 13,56 MHz, 433-860-960 MHz
y 2,45 GHz).

Los sistemas RFID se componen principalmente de cuatro elementos:

       Una etiqueta RFID, también llamada tag o transpondedor (transmisor y
        receptor). La etiqueta se inserta o adhiere en un objeto, animal o persona. Esta
        etiqueta cuenta con un código numérico que la identifica, ya sea un TAGID o
        un código electrónico del producto (EPC). En este contexto, la palabra “objeto”
        se utiliza en su más amplio sentido: puede ser un vehículo, una tarjeta, una
        llave, un paquete, un producto, una planta, etc. Consta de un microchip que
        almacena los datos y una pequeña antena que habilita la comunicación por
        radiofrecuencia con el lector.
       Un lector o interrogador, se encarga de transmitir una señal de radio
        frecuencia que recibe el tag, esta señal es transformada por la antena del tag
        en voltaje para energizar el chip, una vez que se energiza el tag, este es capaz
        de enviar su código de identificación. El lector consta de un módulo de
        radiofrecuencia (transmisor y receptor), una unidad de control y una antena
        para interrogar los tags vía radiofrecuencia. Los lectores están equipados con
        interfaces estándar de comunicación que permiten enviar los datos recibidos de
        la etiqueta a un subsistema de procesamiento de datos, como puede ser una
        computadora personal que gestiona una base de datos. Algunos lectores llevan
        integrado un programador que añade a su capacidad de lectura la habilidad
        para escribir información en las etiquetas. A lo largo del presente estudio,
        cuando hablemos de lector, se considerará que es un dispositivo capaz de leer
        la etiqueta, independientemente de si puede sólo leer, o leer y escribir.



Capítulo 2 -- Marco conceptual                                                             Página 6
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


       Una computadora, que desarrolla la aplicación RFID. Recibe la información de
        uno o varios lectores y se la comunica al sistema de información. También es
        capaz de transmitir órdenes al lector.
       Adicionalmente, un middleware (aplicación que hace posible el funcionamiento
        de aplicaciones distribuidas sobre plataformas heterogéneas); ejecutándose en
        segundo plano un sistema ERP (sistema de planificación de servicios
        empresariales) de gestión de sistemas IT son necesarios para recoger, filtrar
        y manejar los datos. [Portillo, 2008]




2.3. IEEE 802.11

Es un conjunto de estándares para redes inalámbricas de área local que utilizan las
bandas de frecuencia de 2.4 GHz, 3.6 GHz y 5 GHz. [Kerry, 2008] El conjunto de
estándares define el uso de los dos niveles inferiores del modelo OSI (Open System
Interconnection), en estas definiciones se encuentran descritos la arquitectura y el uso
de protocolos de acceso al medio como también formatos y tipos de frames (paquetes)
usados para la intercomunicación de terminales, el contenido de cada frame se
encuentra definido por el tipo al que pertenece, estos pueden ser de control (Control
frames), de datos (Data frame) o de gestión (Management frames).


2.4. API (Application Program Interface)

Es un conjunto de convenciones internacionales que definen cómo debe llamarse a
una determinada función de un programa desde una aplicación [NEODIGIT 09]. Las
funciones o métodos, según sea el paradigma de programación, se encuentran en
archivos individuales encapsulados dentro de un paquete o librería. La idea principal
de implementación de una API es reducir la cantidad de código escrito agrupando las
funciones o métodos que se utiliza en repetidas ocasiones en el cuerpo del programa.
Las funciones o métodos agrupados se escriben y guardan en archivos individuales
que son cargados al inicio del código del programa y las funciones que contienen son
llamas dentro del cuerpo del programa. Por lo general las APIs se agrupan según el
servicio que ofrecen sus funciones, por ejemplo: API de RED, API de servicios de
recomendación, API de comunicación de procesos entre otras.


2.5. LLRP (Low Level Reader Protocol)

Es el protocolo de comunicación utilizado por algunos lectores RFID, en el se
describen las interfaces de red utilizadas para la comunicación entre el lector RFID y
software de control o hardware [PW1]. Las interfaces permiten al software controlador
enviar señales al lector para iniciar el proceso de lectura de EPCs de las etiquetas, o
ejecutar otros comandos como “kill” el cual hace “callar” la señal de un tag una vez


Capítulo 2 -- Marco conceptual                                                             Página 7
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


leído su EPC o “lock” la cual impide la modificación de la información contenida en el
tag. La comunicación se establece como se describe en la siguiente imagen.




                            Figura 2.1 Modelo de objetos de protocolo LLRP

En el modelo anterior se describe el escenario de comunicación donde un cliente
LLRP que puede ser un software que usa el protocolo mediante una API envía
solicitudes al lector LLRP, este es un lector RFID que cuenta con la capacidad de
utilizar el protocolo LLRP para comunicaciones. Para realizar la comunicación entre
cliente y lector es necesario enviar los mensajes en cierto formato, para ello existen
dos alternativas:


         Comunicación mediante archivos XML, el cliente envía al lector un archivo XML
          en el cual se encuentran los comandos LLRP para que el lector realice una
          tarea específica, una vez realizada la tarea, el lector llena los campos del
          archivo XML con la información solicitada y es enviado al cliente. A
          continuación se muestra un ejemplo de un archivo XML usado para la
          comunicación entre cliente y lector:



<?xml version="1.0" encoding="UTF-8"?>

<llrp:ADD_ROSPEC
xmlns:llrp="http://www.llrp.org/ltk/schema/core/encoding/xml/1.0"
Version="1" MessageID="4">

  <llrp:ROSpec>

        <llrp:ROSpecID>1</llrp:ROSpecID>


Capítulo 2 -- Marco conceptual                                                             Página 8
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




     <llrp:Priority>0</llrp:Priority>

     <llrp:CurrentState>Disabled</llrp:CurrentState>

     <llrp:ROBoundarySpec>

        <llrp:ROSpecStartTrigger>


<llrp:ROSpecStartTriggerType>Null</llrp:ROSpecStartTriggerType>

        </llrp:ROSpecStartTrigger>

        <llrp:ROSpecStopTrigger>

           <llrp:ROSpecStopTriggerType>Null</llrp:ROSpecStopTriggerType>

           <llrp:DurationTriggerValue>0</llrp:DurationTriggerValue>

        </llrp:ROSpecStopTrigger>

     </llrp:ROBoundarySpec>

     <llrp:AISpec>

        <llrp:AntennaIDs>0</llrp:AntennaIDs>

        <llrp:AISpecStopTrigger>

           <llrp:AISpecStopTriggerType>Null</llrp:AISpecStopTriggerType>

           <llrp:DurationTrigger>0</llrp:DurationTrigger>

        </llrp:AISpecStopTrigger>

        <llrp:InventoryParameterSpec>


<llrp:InventoryParameterSpecID>9</llrp:InventoryParameterSpecID>

           <llrp:ProtocolID>EPCGlobalClass1Gen2</llrp:ProtocolID>

        </llrp:InventoryParameterSpec>

     </llrp:AISpec>

     <llrp:ROReportSpec>


<llrp:ROReportTrigger>Upon_N_Tags_Or_End_Of_AISpec</llrp:ROReportTrigg
er>

        <llrp:N>1</llrp:N>

        <llrp:TagReportContentSelector>

           <llrp:EnableROSpecID>1</llrp:EnableROSpecID>



Capítulo 2 -- Marco conceptual                                                             Página 9
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




            <llrp:EnableSpecIndex>1</llrp:EnableSpecIndex>


<llrp:EnableInventoryParameterSpecID>1</llrp:EnableInventoryParameterS
pecID>

            <llrp:EnableAntennaID>1</llrp:EnableAntennaID>

            <llrp:EnableChannelIndex>1</llrp:EnableChannelIndex>

            <llrp:EnablePeakRSSI>1</llrp:EnablePeakRSSI>


<llrp:EnableFirstSeenTimestamp>1</llrp:EnableFirstSeenTimestamp>

            <llrp:EnableLastSeenTimestamp>1</llrp:EnableLastSeenTimestamp>

            <llrp:EnableTagSeenCount>1</llrp:EnableTagSeenCount>

            <llrp:EnableAccessSpecID>1</llrp:EnableAccessSpecID>

            <llrp:C1G2EPCMemorySelector>

              <llrp:EnableCRC>1</llrp:EnableCRC>

              <llrp:EnablePCBits>1</llrp:EnablePCBits>

            </llrp:C1G2EPCMemorySelector>

          </llrp:TagReportContentSelector>

        </llrp:ROReportSpec>

  </llrp:ROSpec>

</llrp:ADD_ROSPEC>


Segmento de código 1: Código XML de un mensaje ROSPEC (mensaje de comunicación entre software de
gestión y lector RFID.


         Otra opción es la comunicación directa de mensajes entre el cliente y el lector
          sin necesidad de uso de un archivo intermediario, para ello es necesario que el
          lector cuente con esta capacidad. La aplicación cliente envía y recibe los
          mensajes mediante el uso de una API del protocolo LLRP.


2.6. Sistema de localización en interiores

[Bernardos, 2008] También conocidos como ILS (Indoor Location System) por sus
siglas en ingles, son sistemas que tienen como fin localizar a un usuario (cliente)
dentro de un edificio. Estos sistemas son la base para sistemas de recomendación y
guiado.

Los ILS pueden clasificarse en dos categorías:


Capítulo 2 -- Marco conceptual                                                            Página 10
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


       Sistemas de localización basado en tags o etiquetas, en los cuales el
        equipo sólo es capaz de detectar y por lo tanto localizar, a aquellos elementos
        que porten un dispositivo conocido como tag y por consiguiente al elemento
        etiquetado.


       Sistemas de localización de sondeo, este tipo de sistema de localización
        utiliza una señal o frecuencia específica para realizar el proceso de
        localización. En este tipo de sistemas, un dispositivo dentro de un edificio o
        área específica irradia un tipo de señal previamente caracterizada, esta señal
        es captada por una red de sensores distribuidos en todo el edificio o área
        específica y en base a algoritmos de triangulación (algoritmos que
        determinan la posición de un elemento dentro de un área determinada por tres
        puntos en diferentes coordenadas) ofrecer una posición del edificio dentro del
        área sondeada.




2.7. Bluetooth

Es una especificación industrial para Redes Inalámbricas de Área Personal (WPANs)
que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un
enlace por radiofrecuencia en la banda ISM de los 2,4 GHz.3 Los principales objetivos
que se pretenden conseguir con esta norma son:

       Facilitar las comunicaciones entre equipos móviles y fijos.
       Eliminar cables y conectores entre éstos.
       Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la
        sincronización de datos entre equipos personales.


Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a
sectores de las telecomunicaciones y la informática personal, como PDA, teléfonos
móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras
digitales.

La arquitectura descrita por el estándar 802.15 se puede mostrar como un conjunto de
capas superpuestas, cada una de ellas con un funcionamiento especifico que se
describe a continuación en la figura 2.




3
  Descripción de tecnología bluetooth recuperada de los documentos oficiales publicados en la página
de internet oficial : http://www.bluetooth.com

Capítulo 2 -- Marco conceptual                                                             Página 11
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




Figura 6 Arquitectura de transporte de datos de Bluetooth(http://www.bluetooth.com/Pages/Basics.aspx)




Capítulo 2 -- Marco conceptual                                                                 Página 12
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                                                                Capítulo 3
                                                            Estado del arte




Capítulo 3 -- Estado del arte                                                             Página 13
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



3.1 Introducción

Hoy en día se pueden encontrar una gran cantidad de aportes en cuanto a tópicos de
servicios de localización en interiores se refiere, algunos muestran técnicas
completamente innovadoras, otros aportan nuevos métodos a técnicas ya
desarrolladas. Este capítulo muestra una breve descripción de las investigaciones
relacionadas a la desarrollada en este trabajo de tesis que ha servido como bases
teóricas y prácticas para el desarrollo e implementación de ideas descritas en los
próximos capítulos.



3.2. An Indoor Positioning System (IPS) using Grid Model [Muttitanon,
2007]

El artículo muestra los resultados de la implementación de un sistema de localización
en interiores cuyo método para la determinación de la posición del usuario se basa en
el cálculo de las intensidades de señal recibidas por un dispositivo cliente dentro de
una red de puntos de acceso IEEE 802.11x.

El sistema tiene un arquitectura cliente-servidor en donde el servidor ofrece una base
de datos de los perfiles de cada uno de los puntos de acceso IEEE 802.11x, el cliente
por su parte, se ejecuta en el dispositivo móvil que desea ser localizado, cabe
mencionar que el sistema se encuentra limitado a la plataforma Windows Mobile por
haber sido desarrollado en Visual Basic.net. La metodología de localización es la
siguiente:

       Obtener de una base de datos los perfiles de ubicación de los puntos de
        acceso dentro del edificio. Los perfiles de cada punto de acceso permiten la
        creación de un mapa con la ubicación de cada punto de acceso en el edificio,
        sobre el mapa de ubicación de puntos de acceso el sistema dibuja una
        cuadricula (GRID) donde a cada celda le corresponde un valor de intensidad de
        señal de cada punto de acceso.


       Iniciar el proceso de censado de señales de puntos de acceso inalámbricos en
        el medio, esto es, obtener la intensidad de señal, dirección MAC y BSSID de
        cada punto de acceso que se encuentre a su alcance en ese momento.


       Localizar dentro del GRID (cuadrícula) la ubicación del dispositivo que ha
        censado el medio, esto en base a un algoritmo probabilístico que usa como
        entrada la intensidad de señal de cada punto de acceso censado y proporciona
        como resultado la localización del dispositivo cliente dentro de un mapa del
        edificio.




Capítulo 3 -- Estado del arte                                                             Página 14
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


La figura 3 muestra en un esquema de capas los elementos y procesos involucrados
en la localización del dispositivo cliente descritos anteriormente.




   Figura 7- Esquema de capas los elementos y procesos involucrados en la localización del dispositivo
   cliente




3.3. Local positioning system using WiFi networks [Ferreira, 2007]
Este trabajo describe un sistema de localización de interiores desde su fase de
creación y desarrollo hasta su implementación. El sistema es capaz de recuperar la
posición de un dispositivo inalámbrico de tipo IEEE 802.11x implementando para ello
una solución de software, sin necesidad de algún tipo de hardware especializado. El
motor de posicionamiento usa una red neuronal artificial para describir el
comportamiento de un canal de propagación. El entrenamiento de la red neuronal se


Capítulo 3 -- Estado del arte                                                                     Página 15
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


basa en los datos de variación de frecuencias obtenidos por el dispositivo que se
localizará.

Arquitectura

La arquitectura del sistema se basa en la red de puntos de acceso IEEE 802.11 del
edificio y un servidor que tiene asociados todos los puntos de acceso, este servidor
mantiene una bitácora de las actividades de cada punto de acceso como asociación y
des-asociación de nodos y su dirección MAC. En el mismo servidor se encuentra
implementada la red neuronal encargada de la localización de los dispositivos móviles.
La Figura 4 describe la arquitectura del sistema de localización.




                             Figura 8.- Arquitectura del sistema de localización




La metodología de localización se basa en dos etapas: macro-localización y micro-
localización

En la etapa de macro-localización se localiza a grande escala la posición del
dispositivo en base a las bitácoras de los puntos de acceso, de estas bitácoras se
recupera el identificador del punto de acceso al cual se encuentra asociado el
dispositivo móvil, de esta forma, la localización del dispositivo móvil se reduce al área
de cobertura del punto de acceso al cual se encuentra asociado.

En la etapa de micro-localización se utiliza el método llamado radiofrecuencia
fingerprintig que no es más que la recuperación de todas las señales de
radiofrecuencia (Beacon frames) captadas por el cliente. Entre los datos capturados se
encuentra la intensidad de señal de cada punto de acceso, esta es la entrada que
necesita la red neuronal para realizar el cálculo de posición del dispositivo móvil. Una
vez que la red neuronal ha calculado la ubicación se envía una notificación al
dispositivo móvil acompañada de un mapa del sitio donde se muestra su ubicación con
un margen de error de 2 metros.


Capítulo 3 -- Estado del arte                                                             Página 16
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



3.4.- Internal Location Based System For Mobile Devices Using
Passive RFID And Wireless Technology [Potgantwar, 2009]
Este artículo describe la implementación de un sistema de localización en interiores en
base a la lectura de etiquetas RFID que identifican cada una de las secciones de cada
área del edificio.

La arquitectura del sistema es de tipo cliente-servidor, el cliente se ejecuta en un
dispositivo móvil con la capacidad de lectura de etiquetas RFID y conexión inalámbrica
de tipo IEEE 802.11, esta última es utilizada para la comunicación entre el cliente y el
servidor como se aprecia en la figura 5. El servidor cuenta con una base de datos en
donde se encuentra almacenados mapas de distribución del edificio, cada mapa tiene
asociado IDs de tags que representan cada una de las áreas del mapa.




                                 Figura 3.3 .- Modelo de comunicación del sistema




La metodología implementada por el sistema se basa en cuatro etapas:

1.- El dispositivo cliente sondea en una determinada cantidad de segundos el medio,
obteniendo la información de cada etiqueta RFID que se encuentre a su alcance.

2.- La información obtenida del sondeo es enviada al servidor de mapas vía HTTP.

3.- El servidor obtiene el paquete y en base a la potencia de señal de cada etiqueta
leída estima la posición del cliente.

4.- El servidor recupera de la base de datos el mapa donde se encuentra el
identificador de la etiqueta RFID y se envía al dispositivo cliente.

La siguiente imagen muestra una simulación de la aplicación en la cual se ha obtenido
la posición del dispositivo (cubículo 4).


Capítulo 3 -- Estado del arte                                                             Página 17
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                       Figura 9.- Simulación de la aplicación en la cual se ha obtenido
                                   la posición del dispositivo (cubículo 4)




3.5. A Patient Identification System using RFID and IEEEE 802.11b
Wireless Networks [Aguilar, 2007]
Esta tesis de maestría describe la implementación de un sistema cliente/servidor para
la identificación de pacientes de un hospital en base a la lectura de etiquetas RFID
usando la infraestructura de red inalámbrica IEEE 802.11b para la comunicación entre
el dispositivo cliente y el servidor.

Arquitectura:

El sistema se compone de terminales clientes con capacidad de lectura de etiquetas
RFID, estas terminales ejecutan una aplicación que recupera el identificador de
etiquetas RFID, envía la información al servidor y cuando éste retorna una respuesta
es desplegada por la aplicación ejecutada en el dispositivo mostrando la información
asociada a la etiqueta leída. El servidor se compone de:

       Una base de datos donde se encuentra la información de pacientes asociada a
        un único identificador de etiqueta RFID.


       Una aplicación encargada de procesar la información envidada por el cliente,
        esto es, recuperar de la base de datos la información asociada al identificador
        de etiqueta RFID recibida y enviarla al cliente.


Capítulo 3 -- Estado del arte                                                             Página 18
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



3.6 Localización y seguimiento de terminales móviles en entornos
indoor. [Atrain, 2006]
En este trabajo se presenta un método de localización basado en la combinación de
valores de potencia recibida y de un sistema de inferencia difuso para determinar la
posición del usuario.

Cada dispositivo móvil debe disponer de un interfaz WiFi, que es la que permitirá
medir el nivel de señal recibido de cada punto de acceso de la red. Con la ayuda de un
sistema de inferencia difuso se obtiene un conjunto de reglas de tipo SI-ENTONCES
que permite estimar la localización de los dispositivos de modo preciso. Estas reglas
se obtienen mediante el conocimiento de la ubicación de los puntos de acceso y el
aprendizaje de una red neuronal de los niveles de señal recibidos por las terminales en
cada una de las coordenadas del escenario.

En esta investigación se considera una red inalámbrica tipo IEEE 802.11, que presta
servicio de comunicación entre terminales inalámbricas sobre el escenario de estudio y
que no requiere ningún tipo de modificación para ser empleada como mecanismo de
localización de dispositivos móviles.

Para llevar a cabo el proceso de localización cada dispositivo móvil que desee obtener
su ubicación dentro de una red de puntos de acceso IEEE 802.11 debe de conocer
previamente la distribución de dichos puntos de acceso, esto es, obtener de una base
de datos los perfiles de distribución. Una vez obtenidos los perfiles el dispositivo móvil
realiza un censo de las señales de puntos de acceso IEEE 802.11 que pueda percibir.
Los datos de potencia obtenidos del censo y los perfiles de los puntos de acceso IEEE
802.11 son ingresados a una red neuronal y ésta, en base a un conjunto de reglas de
lógica difusa genera una respuesta que es el punto de localización del dispositivo
móvil.

La siguiente imagen muestra una de las reglas usadas para la evaluación difusa de
localización, en ella interviene la calidad de la señal de cuatro puntos de acceso (AP)
y obtiene como resultado la zona en la que se encuentra el cliente.




      Figura 10.- Reglas usadas para la evaluación difusa de localización, en ella interviene la calidad
      de la señal de 4 puntos de acceso ( AP) y obtiene como resultado la zona en la que se encuentra
      el cliente




Capítulo 3 -- Estado del arte                                                                      Página 19
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



3.7 Servicios de localización conscientes del contexto aplicando
perfiles de movilidad y tecnologías de localización heterogéneas
[ Arjona, 2009]

En esta tesis se describe el desarrollo de la aplicación T-Guide. Actualmente el
sistema cuenta con una arquitectura cliente-servidor. Es necesario resaltar que el
dispositivo cliente debe de cumplir con las siguientes características:

       Contar con sistema operativo Android
       Contar con una cámara
       Contar con lector RFID

Entre los servicios que ofrece la aplicación T-Guide se encuentra el servicio de guiado
en interiores en base a la lectura de tags RFID, cada vez que el cliente censa un tag
RFID asignado a un área dentro del edificio, el cliente actualiza su estado y posición,
la nueva información es desplegada en pantalla. La Figura 8 muestra el diagrama de
flujo del proceso de guiado por RFID.




            Figura 3.6 Diagrama de flujo de proceso de guiado en base a lectura de tags RFID




Capítulo 3 -- Estado del arte                                                                  Página 20
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


El despliegue de información se aprecia en el dispositivo móvil como se muestra en la figura 9:




          Figura 3.6 Pantallas involucradas en el proceso de guiado en base a lectura de tags RFID




Capítulo 3 -- Estado del arte                                                                    Página 21
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




                                                                         Capítulo 4
                                                                          CHAMAN




Capítulo 4 -- CHAMAN                                                                      Página 22
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode



4.1 Introducción

En el capítulo 4 se revisaron los métodos utilizados por los sistemas de localización en
interiores (ILS) para ofrecer servicios de localización y seguimiento de usuarios u
objetos que se desplacen libremente dentro del área donde se presta el servicio de
localización. En la conclusión del mismo capítulo se propone el método de fingerprint o
huella de señal como el método de localización más adecuado para escenarios
complejos, en los cuales, el tráfico de entidades físicas (personas y objetos) y la
distribución arquitectónica del edificio hace poco viable la implementación de modelos
predictivos de propagación de señales electromagnéticas como base para el desarrollo
de métodos de localización.

En este capítulo se presenta y describe el diseño y la funcionalidad de una API la cual
contiene clases y métodos que permiten el desarrollo completo o modular de un
sistema de localización en interiores utilizando el método de localización fingerprint.
Esta API a la cual se hará referencia con el nombre de CHAMAN4 está escrita en Java.
Sus clases y métodos fueron modelados y desarrollados para ofrecer servicios de
localización en interiores de edificios tipo campus, se utilizan tres tecnologías para la
localización: 1) se señales electromagnéticas, 2) la asociación de lugares con
marcadores bidimensionales (QRCodes) y 3) TAGs RFID.

En las secciones correspondientes a los motores de localización se describen a
profundidad el funcionamiento y la secuencia de estados de cada uno de los
algoritmos de localización en interiores implementados como métodos de la API que
se desarrollaron para probar las hipótesis planteadas en esta tesis y soportar los casos
de estudio que se comentan en el capítulo 6.

La versión actual de CHAMAN integra métodos de localización en interiores basados
en la evaluación del contexto de tecnología Wi-Fi™, Bluetooth y RFID, de igual forma
permite la identificación por asociación de marcadores de tipo QRCode. Brevemente
se describen los métodos contenidos en la API:

       Permiten identificar y localizar usuarios u objetos etiquetados con una etiqueta
        RFID pasiva dentro de un edificio que cuente con un despliegue de antenas. La
        localización se realizará a no más de 5 metros alrededor de la antena RFID.

       Permiten localizar dispositivos clientes evaluando su contexto de señales Wi-
        Fi™ y Bluetooth.

       Permiten identificar la posición de un usuario según el identificador
        decodificado de un marcador de tipo QRCode.

       Permiten crear, guardar y consultar un historial de eventos de localización



4
 Del idioma tungu, de Siberia, xaman o schaman, y éste del verbo scha, "saber", es un individuo al que
se le atribuye la capacidad de modificar la realidad, de comunicarse con los espíritus y de presentar
habilidades visionarias y adivinatorias.

Capítulo 4 -- CHAMAN                                                                      Página 23
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


A continuación se comentan los objetivos funcionales de la API CHAMAN, se describe
su diseño general y se profundiza en la funcionalidad de cada una de las capas de
interacción que componen la API. Por último se muestra el diagrama de clases y sus
métodos que pueden ser instanciados.


4.2 Método de localización en interiores basados en huella de
    señal (Fingerprint)

[Bernardos, 2008] El proceso de localización basado en el uso de huella o fingerprint
es una técnica de reconocimiento de patrones que se fundamenta en la existencia de
una huella de potencia de señal recibida construida durante un proceso de calibración
(fase offline), previo al de determinación de la posición en tiempo real (fase online).
Dicha huella se convierte en el patrón con el que comparar las medidas tomadas en
tiempo real. La forma en la que se diseña y almacena la huella (qué medidas se
almacenan y cómo) y la definición de la distancia con la que operar en tiempo real son
dos aspectos clave que determinan la calidad del funcionamiento del algoritmo.

Las técnicas fundamentales de fingerprint son de dos tipos:

a) deterministas, que son aquellas que representan la medida de potencia de señal
recibida con un escalar (por ejemplo, la potencia media recibida) y utilizan métodos no
estadísticos para estimar la posición del usuario.

b) las probabilísticas, que almacenan información acerca de la función de distribución
de las medidas de potencia de señal en un radiopmapa y utilizan técnicas estadísticas
para calcular la posición


4.3 Descripción de general de la API

CHAMAN se encuentra formada por seis paquetes que siguen la nomenclatura
cenidet.chaman.api.indoor.* en la cual se agrupan clases y métodos según su
funcionalidad. Cada paquete representa un tipo de interacción con el sistema aislando
un tarea específica, de esta forma el programador que implemente CHAMAN para el
desarrollo de un sistema de localización en interiores puede implementar total o
parcialmente las clases dentro de la API para obtener soluciones en el contexto de
localización según sea la granularidad de precisión que busque el desarrollador del
sistema.

La implementación de CHAMAN en un ILS propone un proceso de localización por
etapas haciendo uso de múltiples tecnologías de identificación y comunicación para
llevar a cabo el proceso de ubicación de un objeto o individuo dentro de un edificio o
área de localización determinada por el administrador del sistema. Para llevar a cabo
tal tarea los métodos que componen la API deben ser llamados en un orden
determinado y se debe contar con ciertas precondiciones, primero se requiere un
entrenamiento del sistema para crear radio-mapas de señales, después se debe


Capítulo 4 -- CHAMAN                                                                      Página 24
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


etiquetar personas y objetos con tags RFID pasivos y finalmente, se requiere una
adecuada distribución de puntos de acceso (AP) tanto Wi-Fi™ como Bluetooth. Los
métodos de CHAMAN en conjunto con un repositorio relacional (base de datos)
permiten crear un radio-mapa de las zonas en las que se prestará el servicio de
localización (ILS). Se realiza un proceso de localización llamada “entrenamiento”,
posteriormente haciendo uso de algoritmos de localización codificados en métodos de
localización dentro de la API el ILS que implemente CHAMAN puede determinar la
ubicación de un individuo y objeto etiquetado con tags RFID o portador de dispositivos
con interfaz Wi-Fi™ que permitan obtener el contexto de señales para enviarlas vía
TCP a un servicio de localización que implementa los métodos de servicio de
información (localización, historial y seguimiento) contenidos en CHAMAN.

Como se comentó en el capítulo 3, los sistemas de localización en interiores que
basan sus métodos de localización en la técnica fingerprint, realizan un mapeo
completo del área en la cual se prestará el servicio de localización, esto puede ser un
inconveniente en escenarios donde la distribución espacial de la zona puede
modificarse según la necesidad de los usuarios, esta técnica de localización es
ineficiente cuando el mapa generado previamente cambia, es decir, si la distribución
espacial de los AP se modifica, o hay modificaciones estructurales en el interior del
edificio. Para solucionar situaciones como ésta CHAMAN propone un modelo de
entrenamiento por zonas funcionales o áreas de localización limitadas por muros
sólidos imposibles de mover dentro de la arquitectura del edificio, de esta forma, en
caso de existir un cambio en la distribución espacial del edificio o zona específica sólo
se deberá crear de nuevo el mapa de señales de la zona modificada.

Cada método de CHAMAN fue diseñado para retornar información específica dentro
del proceso de localización de forma tal que el programador puede hacer uso de
CHAMAN en combinación con otras APIs o seguir la implementación sugerida en esta
tesis para realizar las pruebas de funcionamiento de la API.

CHAMAN puede ser modelada como una estructura compuesta por capas ordenadas
jerárquicamente en la cual la capa de nivel inferior es la encargada de brindar métodos
abstractos de comunicación directa con el hardware involucrado en el proceso de
localización en interiores (ILS) mediante diferentes protocolos que son transparentes
para el programador final, siguiendo el modelo, de manera ascendente se encuentran
con métodos de cifrado y descifrado de paquetes utilizados para la comunicación con
dispositivos hardware, métodos de filtrado de información, métodos de procesamiento
de datos recibidos hasta llegar al paquete que contiene los métodos abstractos de
servicios que le permiten a un programador obtener información estructurada del
repositorio relacional.

Los paquetes que integran CHAMAN, se clasifican según su funcionalidad, permiten al
programador que los implemente funcionalidades tales como:

       Paquete de red: conectar y obtener datos en crudo o cifrados de hardware
        utilizado en el proceso de localización como puntos de acceso Wi-Fi™,
        Bluetooth y portales RFID que implementen el protocolo LLRP o SMNP5.

5
 El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management
Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de

Capítulo 4 -- CHAMAN                                                                      Página 25
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




           Paquete de interpretación: leer y traducir mensajes en formato JSON6 o
            LLRP ROSpec7 recibidos directamente del hardware de localización para
            utilizar los datos en el proceso de localización

           Paquete de filtrado: identificar el hardware, áreas de localización, objetos y
            usuarios involucrados en el proceso de localización.

           Paquete de procesamiento: procesar los datos de contexto de señales
            inalámbricas para crear radio-mapas o determinar la posición de un objeto o
            usuario.

           Paquete de conexión: permitir conexión, consultar y alterar el contenido de
            repositorios relacionales que funcionan como repositorio de datos de contexto
            de localización.

           Paquete de servicios: retornar información sobre la posición de un usuario u
            objeto dentro de un área de localización así como el historial de posiciones
            dentro del área de localización de estos.


La comunicación entre métodos de CHAMAN se realiza por “paso de parámetros”
utilizando datos de tipo String. La comunicación que ofrecen los métodos incluidos en
el paquete de red utilizar cadenas de String codificadas en formatos JSON y XML
(utilizado para los mensajes ROSPECT) para entablar comunicación con el hardware
involucrado en el proceso de localización.




4.4 Funcionalidades

Como se mencionó en la sección anterior, CHAMAN se compone por seis paquetes
que de forma conceptual se pueden modelar como una estructura compuesta por
capas o niveles, en donde cada nivel contiene clases y métodos con un fin específico
dentro del proceso de localización de los ILS que utilizan la técnica fingerprint. Los
métodos de cada paquete pueden retornar un valor tipo String que puede ser utilizado
por el programador para fines particulares e independientes de los sugeridos en la
utilización de la API o puede utilizar los datos retornados para enviarlos como
parámetros a los métodos necesarios para lograr un proceso de localización correcto


administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los
administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su
crecimiento. Recuperado de http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol
6
 JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un
subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.. Recuperado de
http://en.wikipedia.org/wiki/JSON
7
    ROSpec (Reader Operations Specification) Es el cojunto de especificaciones de operación de un portal RFID que
soporta el protocolo LLRP. Recuperado de    http://wiki.rifidi.org/index.php/LLRP_Reader

Capítulo 4 -- CHAMAN                                                                                     Página 26
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


utilizando todos los métodos provistos por CHAMAN (ver anexos para la sugerencia de
uso de métodos). En caso de que el programador opte por la última opción deberá
seguir un proceso jerárquico para la instancia de cada una de las clases necesarias
desde la conexión con los dispositivos de localización hasta la consulta a los servicios
de localización.

El proceso jerárquico de instancias de clases involucra todos los paquetes (o capas)
de la API en la siguiente secuencia:

    1. Obtener los datos proporcionados por los dispositivos de localización, para este
       caso plataformas Smartphone, lectores RFID, AP (WiFi y Bluetooth) y
       Marcadores visuales. Para ello se utilizan los métodos del paquete de red que
       permiten crear serversockets8 para recibir la información enviada por los
       dispositivos por medio del protocolo TCP, estos métodos retornar la
       información en crudo enviada por los dispositivos la cual se envía como
       parámetro a métodos del paquete encargado de la interpretación.

    2. Los métodos localizados en el paquete de interpretación contienen referencias
       a clases que permiten decodificar la información recibida en formato JSON y
       XML, esta información se encontrará disponible para utilizarla como parámetro
       para los métodos de filtrado

    3. Los métodos pertenecientes al paquete de filtrado permiten diferenciar el tipo
       de información recibida y realizar la acción correspondiente con ella, puede ser
       de entrenamiento o de consulta, en ambos casos se utiliza la información
       recibida para instanciar los métodos del paquete de procesamiento.

    4. Las clases dentro del paquete de procesamiento permiten realizar el proceso
       de entrenamiento de radio-mapas o determinar la localización de un objeto o
       individuo en base a los datos obtenidos en el proceso de filtrado, estas clases
       utilizan de forma implícita clases que permiten la conexión con el repositorio
       relacional utilizado por CHAMAN.

    5. Los métodos del paquete de conexión con el repositorio relacional permiten la
       conexión al manejado de base de datos MySQL™ utilizando para ello la librería
       MySQL.JDBC. Estos métodos también permiten iniciar la conexión para
       realizar consultas permitiendo la creación de historial de eventos de
       localización.

    6. Los métodos de servicios permiten retornar la información del historial de
       posiciones de usuarios u objetos, solicitadas en los parámetros de instancia de
       los métodos.




8
  Instancia de una clases de Java.net que permite crear un socket con un número determinado por el
programador el cual se mapeará como un puerto TCP abierto en modo escucha hasta que la instancia
sea cancelada por medios de programación.

Capítulo 4 -- CHAMAN                                                                      Página 27
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


La figura 10 muestra de forma gráfica el modelo en capas de CHAMAN y la interacción
de cada una de los paquetes que la componen, representadas como capas de un
diagrama modular.




             Figura 4.1 Diagrama de funcionalidades de las capas que componen a CHAMAN



4.5 Modelo y arquitectura de la API para servicios de localización
en interiores utilizando tecnología Wi-Fi™, Bluetooth, RFID y
QRCode.

CHAMAN es una API que contiene métodos utilizados para ofrecer servicio de
localización en interiores basados en la evaluación del contexto de señales de tipo Wi-
Fi™, Bluetooth o RFID utilizando el método fingerprint. Como se describió en el
capítulo 3 el método fingerprint consta de dos etapas: entrenamiento y localización,
CHAMAN contiene clases y métodos abstractos que permiten al programador crear
funciones de entrenamiento y brindar servicios de localización de usuarios u objetos
con interfaces Wi-Fi™, Bluetooth o etiquetados con tags RFID siguiendo los
metodología fingerprint. CHAMAN utiliza un repositorio de datos relacional para
garantizar la persistencia de los datos y poder ofrecer el servicio de consulta de
históricos de localización.

En las siguientes secciones se describe el proceso de localización implementado en
los métodos de la API como también el modelo entidad relación que da forma al
esquema de almacenamiento de datos persistentes utilizado para ofrecer los servicios
de localización en interiores.



Capítulo 4 -- CHAMAN                                                                      Página 28
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




4.5.1 Modelo del proceso de localización implementado en la API


El proceso de localización que puede ser implementado mediante el uso de métodos
de la API se puede resumir como un proceso de “obtener-almacenar-comparar”, la
idea es relativamente simple, si se compara con métodos complejos de localización
que utilizan modelos de propagación lineal; este proceso resulta más efectivo en
escenarios complejos. Para implementar la idea “obtener-almacenar-comparar” se
implementó un procesamiento similar a la metodología fingerprint del cual requiere dos
fases para llevar a cabo el proceso de localización. CHAMAN contiene métodos que
permiten realizar la fase previa de entrenamiento del sistema como también la fase de
localización.

El proceso de localización se puede describir de la siguiente forma:

Fase de entrenamiento:

    1. Crear un catálogo de áreas de localización, puntos de acceso y portales RFID
       para su posterior consulta en la formación del radio-mapa y consulta de
       localización de usuarios/objetos.

    2. Crear un radio-mapa virtual de las señales captadas en cada una de las zonas
       donde se ofrecerá el servicio de localización.


    3. Asignar la posición de los lectores o antenas RFID a las zonas de localización
       en las que se encuentran físicamente.

Fase de localización:

    1. Recibir la información de puntos de acceso y las potencias asignadas a cada
       uno de ellos.

    2. Iniciar el procesamiento de los datos recibidos buscando (incluyendo un
       margen de error en decibelios) mediante algoritmos de localización la zona de
       localización en la cual se pueda encontrar el objeto o usuario que ha enviado
       la información de puntos de acceso o el portal/antena RFID que leyó por última
       vez una etiqueta determinada.

    3. Obtener el conjunto de resultados de zonas de localización candidatas


    4. Iniciar el proceso de filtrado de zonas candidatas y presentar el resultado
       mostrando así la zona de localización en la cual se encuentra el objeto o
       usuario que ha solicitado el servicio.

La figura 11 muestra de forma gráfica el proceso de localización en interiores
utilizando las tecnologías Wi-Fi™, Bluetooth y RFID, el cliente que solicita el servicio

Capítulo 4 -- CHAMAN                                                                      Página 29
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


de localización se encuentra representado por un dispositivo móvil de tipo Smartphone
con plataforma Android™.




 Figura 4.2 Modelo del proceso de localización utilizando el contexto de señales Wi-Fi™ , Bluetooth y RFID




4.5.2 Reglas de inferencia utilizadas por CHAMAN en el proceso de
localización en interiores


Las reglas para determinar la posición de un objeto dentro del área de localización es
la parte fundamental en el proceso de localización, en esta sección se describen las
reglas de inferencia y el algoritmo a seguir para obtener la localización de usuarios y
objetos en base a la lectura de señales IEEE 802.11 y etiquetas RFID.

Las reglas de inferencia que a continuación se describen se implementaran en los
métodos de localización dentro de las clases de la API para servicios de localización.

Definición de términos


Una zona de localización (ZL) es una zona física en la cual se presta el servicio de
localización, la zona se encuentra distribuida en celdas que describen una cuadricula.

Una celda (C) es el elemento mínimo dentro de la cuadricula que comprende una
zona geográfica dentro de la zona donde se prestará el servicio de localización.

Una celda entrenada (CE) se encuentra formada por un identificador de celda y un
matriz donde se encuentran identificados los puntos de acceso que pueden captarse si

Capítulo 4 -- CHAMAN                                                                            Página 30
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


un cliente se posiciona en la celda y la magnitud de la potencia de cada uno de los
puntos de acceso. La siguiente tabla representa de forma gráfica una celda entrenada.




                                       Tabla 1 Celda Entrenada




Un Radiomapa (Rm) es el conjunto de CE que describen la zona de localización (ZL).

Un paquete enviado por el cliente (PE) se encuentra compuesto por un identificador
del cliente que envía el paquete y una matriz en la que se encuentra los identificadores
de los puntos de acceso que puede captar en un punto determinado y la magnitud de
señal de cada uno de ellos. La siguiente tabla representa de forma gráfica un paquete
enviado por el cliente.




                   Tabla 2 Contenido de paquete de información enviado por el cliente


Una Antena es un componente de un portal RFID que se encuentra conectada a la
computadora del portal. La antena es la encargada de enviar la señal de excitación a
las etiquetas RFID y se encarga de leer el código EPC emitido por las etiquetas una
vez excitadas.


Reglas de inferencia para localización de clientes en base a la lectura de la magnitud
de los puntos de acceso


Si los valores de los elementos descritos en la matriz de un    son iguales a los
elementos de la matriz de      del RM entonces el usuario se encuentra en la zona
delimitada por    .

Si de los elementos de la matriz de      son un subconjunto de los valores de la
matriz     del RM entonces el usuario se encuentra en la zona delimitada por .




Capítulo 4 -- CHAMAN                                                                      Página 31
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


Si el valor de las magnitudes de señal de los puntos de acceso de la matriz de
tiene un margen de error de ± 4 y son un subconjunto de los valores de la matriz
del RM entonces el usuario se encuentra en la zona delimitada por    .


Reglas de inferencia para localización de códigos EPC


La función             describe la función de lectura de la antena “a” en un tiempo “t”.
La antena se encuentra localizada en una       correspondiente a una ZL, la función
recibe como parámetro un código EPC identificado por

Si                  y                          cuando t1 < t2 entonces el objeto marcado
con        se encuentra en         .




4.6.2 Modelo entidad relación del esquema utilizado para la
persistencia de datos utilizados para el proceso de localización


CHAMAN propone el uso de un repositorio relacional (bitácora o logfile) para
almacenar los eventos de localización, que permitirán posteriormente analizar el
comportamiento de movilidad de los usuarios o incluso se podrían minar patrones de
esta información. El repositorio relacional se encuentra formado por entidades
definidas por atributos reales y particulares de cada entidad, como también una clave
única que permite la identificación de cada instancia en el repositorio (personas y
objetos). La finalidad del repositorio es almacenar el catálogo de zonas de localización
y la relación entre éstas, por ejemplo: el área de localización primer piso puede
estar compuesta en su totalidad por un conjunto de aulas, estas a su vez pueden
estar compuestas por n cuadrantes, de forma tal que se puede establecer una
relación de tipo: el cuadrante m se encuentra en el aula k que a su vez se
encuentra en el piso 1. De igual forma es posible almacenar el histórico de los
eventos de localización solicitados por el ILS.

Los catálogos del repositorio relacional almacenan la información y relación de las
zonas de localización, usuarios, objetos e infraestructura de localización como lo son
puntos de acceso Wi-Fi™, Bluetooth, portales o antenas autónomas RFID.

Las zonas de localización a las cuales se hace mención son las áreas en las que se
prestará el servicio de localización. CHAMAN se diseño para brindar servicios de
localización en interiores de edificios tipo campus (ILS), es por ello que las zonas de
localización propuestas para describir este tipo de escenarios son las siguientes:
campus, edificio, piso (edificios multinivel), zona y celda. Estas zonas se encuentran
relacionadas y contenidas una dentro de la otra de forma tal que el conjunto de zonas
de localización de área pequeña forman una zona de localización de área más grande,
para lograr esto se propusieron las siguientes relaciones: un campus contiene uno o
más edificios, un edificio contiene uno o más pisos, en un piso se encuentran una o


Capítulo 4 -- CHAMAN                                                                      Página 32
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


más zonas (lugares funcionales delimitados físicamente por muros, por ejemplo:
habitaciones, pasillos, oficinas,… etc.), a cada zona se le asocia un conjunto de
celdas, de esta forma se definen las zonas de localización embebidas unas dentro de
otras como se aprecia en la figura 12 que describe una formación tipo “Matryoshka9”,
el componente más básico es la celda, un conjunto de celdas se encapsula en la zona,
un conjunto de zonas se encapsula en un piso, y así sucesivamente, hasta conformar
un campus.




                   Figura 4.3 Definición de zonas utilizando formación “Matryoshka”

Dentro del repositorio relacional existen otros catálogos llamados catálogos de
infraestructura, estos corresponden a las listas de hardware utilizado en el proceso de
localización y su relación con la zona de localización en la que se encuentra. En estos
catálogos es donde se puede almacenar la información de los puntos de acceso (AP)
utilizando su dirección MAC como identificador único para su posterior procesamiento.
De igual forma se permite relacionar un lector RFID a múltiples antenas y estas a una
zona de localización de forma tal que se pueda determinar la zona en la que se
encuentra un usuario u objeto etiquetado con un tag RFID a partir de la antena que ha
realizado la lectura del mismo. La figura 13 muestra el diagrama entidad relación del
esquema del repositorio relacional.




 La matrioska o muñeca rusa (ruso: Матрёшка /mʌˈtrʲoʂkə/)
9

son muñecas tradicionales rusas creadas en 1890, cuya originalidad consiste en que se
encuentran huecas por dentro, de tal manera que en su interior albergan una nueva muñeca, y
ésta a su vez a otra, y ésta a su vez otra, en un número variable que puede ir desde cinco
hasta el número que se desee. Recuperado de http://es.wikipedia.org/wiki/Matrioska

Capítulo 4 -- CHAMAN                                                                      Página 33
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode




   Figura 4.4 Diagrama Entidad - Relación del esquema del repositorio de datos utilizado por CHAMAN




Capítulo 4 -- CHAMAN                                                                       Página 34
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


4.6.3 Arquitectura de capas de la API para servicios de localización en
interiores.


Los paquetes que conforman CHAMAN pueden ser representados en un modelo
gráfico para comprender mejor su arquitectura, cada paquete puede ser modelado
como una capa modular y a su vez cada capa puede ser modelada como el conjunto
de interfaces que le permiten al programador la implementación de los métodos de
CHAMAN.



CHAMAN se conforma de seis paquetes que contiene clases, métodos e interfaces
con propósitos diferentes dentro del proceso de localización en interiores, para
referencias gráficas y comodidad de lectura y futuras referencias a la arquitectura de la
API en la figura 14 se propone el uso de un diagrama modular para mostrar el
contenido y las acciones que realizan cada una de las clases que se encuentran en
cada módulo o capa.




                        Figura 4.5 Diagrama de capas que componen CHAMAN




La figura 14 muestra de forma gráfica la distribución arquitectónica de CHAMAN, en
ella se puede apreciar la composición de la API por medio de capas, cada capa

Capítulo 4 -- CHAMAN                                                                      Página 35
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


contiene métodos de tipo interfaz que reciben como parámetros al menos un objeto de
al menos un método de la capa anterior para iniciar su funcionamiento. En la imagen
se muestran en forma de pequeños bloques los servicios que pueden ser llamados por
las interfaces de cada una de las clases en las diversas capas del modelo (o paquetes
de la API).


4.7 Diseño de capas de la API

CHAMAN fue diseñada para soportar el desarrollo de sistemas de localización en
interiores utilizando la técnica fingerprint. Como se describió en capítulos anteriores,
esta técnica de localización necesita ciertas precondiciones para iniciar el proceso de
localización (como la creación de catálogos de zonas de localización y la creación de
un radio-mapa de señales) y ciertos requerimientos en tiempo de ejecución (como
filtrado de información en tiempo real), esta es la razón que justifica la API CHAMAN,
que es un conjunto clases y métodos que permite realizar las tareas necesarias para
completar satisfactoriamente cada una de las etapas del proceso de localización (ILS).
Cada paquete cuenta con métodos de procesamiento “protegidos” y métodos públicos
de tipo interface que utilizan los métodos de procesamiento, de esta forma el
programador sólo necesita hacer una instancia de los métodos de tipo interface.
Tomando en cuenta futuros desarrollos de funcionalidades de la API, el desarrollo
modular de CHAMAN sigue el principio KISS10.

Las siguientes secciones describen la función, clases y métodos contenidos en cada
uno de los paquetes, representados por capas de un modelo modular siguiendo el
modelo gráfico de capas mostrado en la figura 14, que forman CHAMAN, para obtener
más detalles de parámetros de entrada y objetos de retorno de cada método se puede
consultar el anexo 7.3 CHAMAN JavaDoc.

4.7.1 Capa de conexión física


En esta capa se imprentaron las clases y los métodos que permiten la comunicación
con los diferentes dispositivos (hardware) involucrados en el proceso de localización
en interiores, los métodos de las clases de conexión física permiten la creación de
“puertos en modo escucha” utilizando instancias de la clase serversockets que utiliza
el protocolo TCP para crear un canal de comunicación entre las clases de la API y el
hardware de localización. La abstracción de estos métodos permite al programador
crear instancias de puertos abiertos utilizando como parámetro el número de puerto
que se desea usar. De forma similar a la instancia de serversockets se realiza la
comunicación y gestión de portales RFID utilizando el protocolo LLRP. La capa de
conexión física hereda características y métodos de las clases contenidas en la API



10
  Este término es un acrónimo que corresponde a la frase en inglés «Mantenlo simple, estúpido» (KeepIt
Simple, Stupid). Para evitar ser tosco, el acrónimo se hace corresponder con otras expresiones tales
como «Manténgalo breve y simple» («KeepIt Short and Simple») u otras similares, pero que mantienen
la misma idea del principio. Recuperado de http://en.wikipedia.org/wiki/KISS_principle

Capítulo 4 -- CHAMAN                                                                       Página 36
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode


ltkjava-1.0.0.6.jar11 que permite la gestión de portales RFID que soporten el protocolo
LLRP, de esta forma CHAMAN ofrece métodos abstractos de comunicación con los
portales RFID haciendo transparente para el programador la configuración de estos.

Dentro de la capa de conexión física también se encuentran los métodos que permiten
iniciar la recepción de paquetes provenientes de dispositivos cliente con interfaz Wi-
Fi™ que se utilizan en el proceso de entrenamiento o que solicitan el servicio de
localización. Lo métodos encargados del procesamiento de las conexiones entre
portales RFID, dispositivos móviles con interfaz Wi-Fi™ y los servicios de localización
ofrecidos por la API se encuentran inaccesibles al programador, para hacer uso de los
servicios que ofrecen los métodos de la capa de conexión física se deben realizar
instancias de los métodos de tipo interfaz. La figura 15 muestra el diagrama de clases
correspondiente a las clases interfaz del paquete (capa) de conexión física.




     Figura 4.6 Representación UML de las clases y métodos de tipo interfaz de la clase de conexión física




4.7.1.1 Clase RFIDReaderLLRPConnection


En esta clase se implementaron los métodos que permiten establecer comunicación
con los lectores RFID utilizando el protocolo de comunicación LLRP. Los métodos de
la clase permiten configurar e iniciar el proceso de lectura de eventos captados por los
lectores RFID, el método encargado de esto es startReadEvent. De igual forma se
ofrece un servicio para detener la lectura de los eventos lanzados en el lector RFID
mediante el método stopReadEvent. Ambos métodos retornan datos al servidor que
envió los mensajes de inicio o fin de evento (startReadEvent o stopReadEvent) al
lector RFID. Ambos métodos retornan al host que ha invocado los métodos objetos
serializados de forma tal que pueden ser usados por otros métodos de CHAMAN. La
clase contiene un tercer método que regresa la información de un evento sensado por
el lector en forma de un mensaje con estructura XML.

11
 http://sourceforge.net/projects/llrp-toolkit/

Capítulo 4 -- CHAMAN                                                                               Página 37
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode

Más contenido relacionado

Similar a API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode

Foro atica-gsi-noviembre2010 3
Foro atica-gsi-noviembre2010 3Foro atica-gsi-noviembre2010 3
Foro atica-gsi-noviembre2010 3
Ulises Cortés
 
Paper urbana etcc2010
Paper urbana etcc2010Paper urbana etcc2010
Paper urbana etcc2010
jaragu
 
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
jaragu
 
Generador de perfiles de usuarios para servicios basados en localización
Generador de perfiles de usuarios para servicios basados en localizaciónGenerador de perfiles de usuarios para servicios basados en localización
Generador de perfiles de usuarios para servicios basados en localización
kamui002
 
Trabajo danis.pdf
Trabajo danis.pdfTrabajo danis.pdf
Trabajo danis.pdf
adaura
 
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIALINTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
adaura
 

Similar a API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode (20)

Foro atica-gsi-noviembre2010 3
Foro atica-gsi-noviembre2010 3Foro atica-gsi-noviembre2010 3
Foro atica-gsi-noviembre2010 3
 
Memorias del Campus Party Quito 2013
Memorias del Campus Party Quito 2013Memorias del Campus Party Quito 2013
Memorias del Campus Party Quito 2013
 
Paper urbana etcc2010
Paper urbana etcc2010Paper urbana etcc2010
Paper urbana etcc2010
 
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
Sistema Pervasivo de Computación Urbana para Entornos Turísticos en el Zool...
 
"Una propuesta para etiquetar Entornos Conscientes del Contexto" presentada p...
"Una propuesta para etiquetar Entornos Conscientes del Contexto" presentada p..."Una propuesta para etiquetar Entornos Conscientes del Contexto" presentada p...
"Una propuesta para etiquetar Entornos Conscientes del Contexto" presentada p...
 
Memorias del Campus Party Quito 2014
Memorias del Campus Party Quito 2014Memorias del Campus Party Quito 2014
Memorias del Campus Party Quito 2014
 
Thesis Khamis Thesis Khamis Thesis Khamis.pdf
Thesis Khamis Thesis Khamis Thesis Khamis.pdfThesis Khamis Thesis Khamis Thesis Khamis.pdf
Thesis Khamis Thesis Khamis Thesis Khamis.pdf
 
Algoritmo rsa
Algoritmo rsaAlgoritmo rsa
Algoritmo rsa
 
Hoja de Vida Colciencias - Ferley Sierra Jaimes
Hoja de Vida Colciencias - Ferley Sierra JaimesHoja de Vida Colciencias - Ferley Sierra Jaimes
Hoja de Vida Colciencias - Ferley Sierra Jaimes
 
Computación Urbana, Urban computing
Computación Urbana, Urban computingComputación Urbana, Urban computing
Computación Urbana, Urban computing
 
Tendencias informáticas y sus incidencias
Tendencias informáticas y sus incidenciasTendencias informáticas y sus incidencias
Tendencias informáticas y sus incidencias
 
PAT Colectivo CURN
PAT Colectivo CURNPAT Colectivo CURN
PAT Colectivo CURN
 
ERIKA SANCHEZ (1).pdf
ERIKA SANCHEZ (1).pdfERIKA SANCHEZ (1).pdf
ERIKA SANCHEZ (1).pdf
 
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
 
Generador de perfiles de usuarios para servicios basados en localización
Generador de perfiles de usuarios para servicios basados en localizaciónGenerador de perfiles de usuarios para servicios basados en localización
Generador de perfiles de usuarios para servicios basados en localización
 
Tic y su influencia en la reingeniería
Tic y su influencia en la reingenieríaTic y su influencia en la reingeniería
Tic y su influencia en la reingeniería
 
Informática en el futuro
Informática en el futuroInformática en el futuro
Informática en el futuro
 
Trabajo danis.pdf
Trabajo danis.pdfTrabajo danis.pdf
Trabajo danis.pdf
 
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIALINTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
INTELIGÈNCIA I PERCEPCIÓ ARTIFICIAL
 
Avanceshci;info
Avanceshci;infoAvanceshci;info
Avanceshci;info
 

Más de Gabriel Gonzalez Serna

Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Gabriel Gonzalez Serna
 
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct... Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
Gabriel Gonzalez Serna
 
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Gabriel Gonzalez Serna
 
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
Gabriel Gonzalez Serna
 
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gabriel Gonzalez Serna
 
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
Gabriel Gonzalez Serna
 
Personalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologíasPersonalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologías
Gabriel Gonzalez Serna
 
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Gabriel Gonzalez Serna
 
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Gabriel Gonzalez Serna
 
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Gabriel Gonzalez Serna
 

Más de Gabriel Gonzalez Serna (20)

Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
 
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct... Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
 
Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)
 
Context-Aware Recommender System
Context-Aware Recommender System�Context-Aware Recommender System�
Context-Aware Recommender System
 
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
 
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
API SMS para el Procesamiento de Consultas Georeferenciadas / No Georeferenci...
 
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
 
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
Herramienta para la Generación de Estilos Definidos por el Usuario para su As...
 
Generador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWLGenerador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWL
 
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
 
Personalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologíasPersonalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologías
 
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
 
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
 
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
 
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
 
Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...
 
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
 
Examen ngf2012
Examen ngf2012Examen ngf2012
Examen ngf2012
 
Hoas
HoasHoas
Hoas
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode

  • 1. Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode presentada por Miguel Angel Yris Pastor Lic. En Ciencias de la computación por la Universidad Juárez Autónoma de Tabasco como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Juan Gabriel González Serna Jurado: Dr. Máximo López Sánchez – Presidente Dr. Guillermo Rodríguez Ortiz – Secretario Dra. Azucena Montes Rendón – Vocal Dr. Juan Gabriel González Serna – Vocal Suplente Cuernavaca, Morelos, México. 28 de febrero de 2012
  • 2.
  • 3.
  • 4. La investigación aquí plasmada fue desarrollada gracias al apoyo del Consejo Nacional de Ciencia y Tecnología (CONACyT), el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) y el grupo AUTOLOG de la Universidad de Castilla-La Mancha, España.
  • 5. Dedicatoria Si desarrollar y redactar todo este conjunto de ideas me permite tener cierta propiedad sobre ellas me gustaría dedicarlas a todos aquellos que directa o indirectamente aportaron un granito de arena o una playa completa para iniciar y finalizar esta aventura. Mencionarlos a todos me haría ocupar 5 o 6 veces el volumen de esta tesis, pero estoy seguro de haberlo hecho en su momento y que ellos se dieron por enterados, aún así, si por azares del destino o por el bibliotecario local te encuentras leyendo este documento … Gracias. Miguel Angel Yris Pastor, México DF. 4 de febrero de 2012
  • 6. Agradecimientos En una opinión muy personal, creo que son muy pocas las actividades o empresas de las cuales un hombre o mujer se puede enorgullecer de haberlas realizado sin ayuda de alguien más; Este no es el caso. Gracias … a Mamá, Karen Mariel Nájera, Normita Bolio, Juan Carlos Yris, José Antonio Yris. Luis David Yris Pastor, Claudia Vara, Marbella Pastor, Salvador Galván, Gabriel González, Máximo López, Azucena Montes, Guillermo Rodriguez, Ricardo Estrada, Hugo Estrada, Alicia Martínez, Mónica Pichardo, Alejandra Ramírez, Julia Arana, Andrés García, Pablo García, Javier de las Morenas, Francisco Carreño, Rafel Otal, Arturo Bejar, Blanca Vargas, Bea Escobar, Ainoa Castillo, Cesar Villatoro, al equipo Autolog Ciudad Real, al equipo Autolog Cuenca, equipo de mecánica de la escuela de ingenieros. …. A las incontables Dulcineas y Sanchos que contestaron de una forma u otra la solicitud de “acorredme en las innumerables afrentas que a este avasallado intelecto se le ofrecían” A todos ellos … Gracias (a pesar de mi necedad, nada de esto se hubiese logrado)
  • 7. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode ABSTRACT The next generation of mobile services is presumed to be highly adaptive to the user’s personal features and to his environmental, physical and technological condition and subsequent consequences. This ‘context-aware paradigm’, which originates from the vision of ‘ubiquitous computing’ and is supposed to drive the design of future commercial mobile services, still presents a lot of technological, social and business challenges. [Bernardos, 2008] One these challenge is to obtain the position of a user within a specific area.Today there are indoor location systems, which allow determining the position of an object within an area.To achieve its purpose, these systems use pattern recognition techniques such asthermal, visual or electromagnetic pattern recognition. Systems using electromagnetic patterns are the basis of this thesis. in this research report we propose, model, develop and implement methods for indoor location based on signal patterns as Wi-Fi, Bluetooth or RFID.These methods are encoded within an API written in Java. The main chapters of this thesis show the modeling, development and implementation of an API that contains the methods needed to develop indoor location services using a client-server architecture using context evaluation of electromagneticpatterns.In the development of client server architecture has been proposed to the client as mobile device with Wi-Fi interfaces and Bluetooth ™, or an object / individual identified by a passive RFID tag.The last three chapters of this document show the tests performed to obtain the degree of assertiveness of the methods developed in the context of varying signals scenarios.
  • 8. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode RESUMEN A las siguientes generaciones de servicios móviles se les presupone un alto grado de adaptación a la identidad, objetivos, situación física y tecnológica de sus usuarios. Este paradigma de diseño de servicios, que aprovecha el conocimiento del “contexto” de las entidades inmersas en el entorno, y que se considera derivado y habilitador del concepto de computación ubicua, presenta aún numerosos retos tecnológicos, sociales y de negocio para su puesta en operación y posterior generalización de uso. [Bernardos, 2008]. Uno de los retos de los cuales hace mención Norma Bernardos en el párrafo anterior es la determinación de la posición de un usuario en un área específica de grandes dimensiones o multinivel. Conocidos como indoor location systems (sistemas de localización en interiores por sus siglas en inglés ILS) son sistemas evaluadores del contexto de una persona o dispositivo móvil dentro de un área de localización para determinar su posición dentro de la misma. Estos sistemas se basan (e incluso se pueden llegar a clasificar por ellas) en diferentes técnicas de evaluación (o sensado) del medio para determinar la posición de un objeto con respecto a un punto previamente identificado. Por nombrar algunos se pueden mencionar aquellos que se basan en las huellas de temperatura de ciertos objetos, reconocimiento de patrones visuales, velocidad de tráfico y desplazamiento o reconocimiento de magnitudes de señales electromagnéticas. Estos últimos son los que ocupan el objetivo de esta tesis, que, a modo de sistematización de ciertos procesos, propone, modela, desarrolla, implementa y evalúa métodos de localización en interiores basados en la evaluación de señales electromagnéticas de tipo Wi-Fi™, Bluetooth y RFID. Para fines prácticos y de implementación los métodos de localización fueron automatizados dentro de métodos y clases de programación a modo de “librería de funciones”. Esta librería fue desarrollada en el lenguaje de programación JAVA para garantizar la compatibilidad de las funciones sobre cualquier plataforma (sistema operativo) que permita la ejecución de una maquina virtual java (JVM, Java Virtual Machine). Los capítulos nucleares de esta tesis muestran el modelado, desarrollo e implementación de una API que contiene los métodos necesarios para desarrollar servicios de localización en interiores utilizando una arquitectura cliente-servidor mediante la evaluación del contexto de señales electromagnéticas. En el desarrollo de la arquitectura cliente servidor se ha propuesto al cliente como un dispositivo móvil con interfaces Wi-Fi™ y Bluetooth, o a un objeto/individuo identificado por una etiqueta RFID pasiva. Los tres últimos capítulos de este documento muestran las pruebas realizadas para obtener el grado de asertividad de los métodos desarrollados en escenarios de contexto de señales variables. El último capítulo de este documento muestra la descripción en formato JAVADoc de cada uno de los métodos que componen la API desarrollada para ofrecer servicios de localización en interiores basados en tecnología Wi-Fi™, Bluetooh y RFID. De igual manera se encuentra una copia de un artículo de investigación publicado en el congreso internacional RFIDSystech 2011 producto de un desarrollo e investigación relacionada a lo mostrado en este documento.
  • 9. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Tablas de contenidos Índice de capítulos Capítulo 1 -- Introducción 1.1. Introducción ______________________________________________________ 2 1.2. Problema _________________________________________________________ 3 1.3 Objetivo principal___________________________________________________ 3 1.4 Estructura del documento ____________________________________________ 3 Capítulo 2 -- Marco conceptual 2.1 Introducción _______________________________________________________ 6 2.2. RFID _____________________________________________________________ 6 2.3. IEEE 802.11 _______________________________________________________ 7 2.4. API (Application Program Interface) ___________________________________ 7 2.5. LLRP (Low Level Reader Protocol) _____________________________________ 7 2.6. Sistema de localización en interiores __________________________________ 10 2.7. Bluetooth ________________________________________________________ 11 Capítulo 3 -- Estado del arte 3.1 Introducción ______________________________________________________ 14 3.2. An Indoor Positioning System (IPS) using Grid Model _____________________ 14 3.3. Local positioning system using WiFi networks __________________________ 15 3.4.- Internal Location Based System For Mobile Devices Using Passive RFID And Wireless Technology __________________________________________________ 17 3.5. A Patient Identification System using RFID and IEEEE 802.11b Wireless Networks ___________________________________________________________________ 18 3.6 Localización y seguimiento de terminales móviles en entornos indoor. _______ 19
  • 10. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 3.7 Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas ________________________________ 20 Capítulo 4 -- CHAMAN 4.1 Introducción ______________________________________________________ 23 4.2 Método de localización en interiores basados en huella de señal (Fingerprint) _ 24 4.3 Descripción de general de la API ______________________________________ 24 4.4 Funcionalidades ___________________________________________________ 26 4.5 Modelo y arquitectura de la API para servicios de localización en interiores utilizando tecnología Wi-Fi™, Bluetooth, RFID y QRCode. _____________________ 28 4.5.1 Modelo del proceso de localización implementado en la API __________________ 29 4.5.2 Reglas de inferencia utilizadas por CHAMAN en el proceso de localización en interiores ________________________________________________________________ 30 4.6.2 Modelo entidad relación del esquema utilizado para la persistencia de datos utilizados para el proceso de localización ______________________________________ 32 4.6.3 Arquitectura de capas de la API para servicios de localización en interiores. ______ 35 4.7 Diseño de capas de la API ___________________________________________ 36 4.7.1 Capa de conexión física ________________________________________________ 36 4.7.1.1 Clase RFIDReaderLLRPConnection _____________________________________________ 37 4.7.1.2 Clase RFIDReaderSMNPConnection ____________________________________________ 38 4.7.1.3 Clase WiFiClientConnection __________________________________________________ 38 4.7.2 Capa de traducción de datos ____________________________________________ 39 4.7.2.1 Clase TranslateRawData ____________________________________________________ 41 4.7.2.2 Clase trainingRadioMap _____________________________________________________ 41 4.7.2.3 Clase locationPackage ______________________________________________________ 41 4.7.2.4 Clase ROSPEC_Event ________________________________________________________ 42 4.7.3 Capa de filtrado de datos _______________________________________________ 42 4.7.3.1 Clase LocationAreaIdentification ______________________________________________ 43 4.7.3.2 Clase RFIDIdentification _____________________________________________________ 43 4.7.3.3 Clase PlayersIdentiffication __________________________________________________ 43 4.7.4 Capa de procesamiento de datos ________________________________________ 43 4.7.4.1 Subcapa de entrenamiento __________________________________________________ 44 4.7.4.3 Subcapa de localización _____________________________________________________ 45 Microlocalización ________________________________________________________________ 47 Macrolocalización ________________________________________________________________ 49 Localización utilizando contexto de tecnologías RFID o NFC ______________________________ 49 Localización utilizando QRCodes ____________________________________________________ 50
  • 11. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 4.7.4.4 Capa de conexión a repositorios relacionales _____________________________ 51 4.7.4.5 Capa de servicios ____________________________________________________ 52 4.8 Diagrama de clases ________________________________________________ 53 Capítulo 5 -- Casos de estudio 5.1 Introducción ______________________________________________________ 55 5.2 Caso de estudio 1: Localización en interiores utilizando contexto de tecnologías Wi-Fi™ y Bluetooth____________________________________________________ 55 5.2.1 Descripción del escenario_______________________________________________ 55 5.2.2 Entrenamiento _______________________________________________________ 57 5.2.2.1 Implementación del método de localización fingerprint ___________________________ 57 5.2.2.2 Diseño de un “grid” virtual sobre el área de localización ___________________________ 57 5.2.2.3 Creación de “radiomapa” de áreas de localización ________________________________ 60 5.3 Localización en interiores en un medio no controlado _________________________ 63 5.3.1 Microlocalización ____________________________________________________________ 63 5.3.2 Macrolocalización ___________________________________________________________ 81 5.3.3 Resultados _________________________________________________________________ 91 5.4 Caso de estudio 2: Localización en interiores utilizando contexto de tecnología RFID _______________________________________________________________ 91 5.4.1 Escenario 1: acceso a una zona de localización ______________________________ 92 Descripción del escenario __________________________________________________________ 92 Pruebas ________________________________________________________________________ 93 5.4.2 Escenario 2: localización en edificio multinivel ______________________________ 94 Descripción del escenario __________________________________________________________ 94 Pruebas ________________________________________________________________________ 94 Resultado de pruebas ______________________________________________________ 95 Capítulo 6 -- Conclusiones 6.1 Conclusiones ______________________________________________________ 97 6.2 Trabajos futuros ___________________________________________________ 98
  • 12. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Capítulo 7 -- Referencias 7. Referencias _______________________________________________________ 102 Capítulo 8 -- Anexos 8.1 Introducción _____________________________________________________ 105 8.2 Application to a warehouse environment of a tracking system based on RFID and free software _______________________________________________________ 105 8.3 Especificaciones técnicas de instrumentos utilizados en el proceso de localización __________________________________________________________________ 113 8.3.1 Puntos de acceso ____________________________________________________ 113 Punto de Acceso Linksys WRT54GL _________________________________________________ 113 Punto de Acceso Linksys WRT120N _________________________________________________ 114 Punto de Acceso DLink 2440t _______________________________________________ 115 8.3.2 Portal RFID _________________________________________________________ 117 Lector RFID Impinj Speedway ______________________________________________________ 117 8.3.3 Dispositivo móvil cliente ______________________________________________ 119
  • 13. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Índice de figuras Figura 2.1 Modelo de objetos de protocolo LLRP 8 Figura 1 Arquitectura de transporte de datos de Bluetooth 12 Figura 2- Esquema de capas los elementos y procesos involucrados en la localización del dispositivo cliente 15 Figura 3.- Arquitectura del sistema de localización 16 Figura 3.3 .- Modelo de comunicación del sistema 17 Figura 4.- Simulación de la aplicación en la cual se ha obtenido la posición del dispositivo (cubículo 4) 18 Figura 5.- Reglas usadas para la evaluación difusa de localización, en ella interviene la calidad de la señal de 4 puntos de acceso ( AP) y obtiene como 19 resultado la zona en la que se encuentra el cliente Figura 3.6 Diagrama de flujo de proceso de guiado en base a lectura de tags RFID 20 Figura 3.6 Pantallas involucradas en el proceso de guiado en base a lectura de tags RFID 21 Figura 4.1 Diagrama de funcionalidades de las capas que componen a CHAMAN 28 Figura 4.2 Modelo del proceso de localización utilizando el contexto de señales Wi-Fi™ , Bluetooth y RFID 30 Figura 4.3 Definición de zonas utilizando formación “Matryoshka” 33 Figura 4.4 Diagrama Entidad - Relación del esquema del repositorio de datos utilizado por CHAMAN 34 Figura 4.5 Diagrama de capas que componen CHAMAN 35 Figura 4.6 Representación UML de las clases y métodos de tipo interfaz de la clase de conexión física 37 Figura 4.7 Diagrama de clases correspondiente a la capa de traducción de datos Figura 4.8 Diagrama de clases de la capa de filtrado de datos 41 Figura 4.8 Diagrama de clases de la capa de filtrado de datos 42 Figura 4.9 Diagrama de clases de la capa de procesamiento de datos 44 Figura 4.10 (a) radiomapa entrenado vista repositorio relacional, (b) representación gráfica de un radiomapa entrenado 45 Figura 4.11 Modelo secuencial del proceso de localización utilizando el contexto 47 de tecnologías Wi-Fi™ y Bluetooth
  • 14. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Figura 4.12 Proceso de microlocalización 48 Figura 4.13 Proceso de macrolocalización 49 Figura 4.14 Proceso de localización utilizando tecnología RFID 50 Figura 4.15 Proceso de localización utilizando la tecnología QRCode. 51 Figura 4.16 Diagrama de clases de la API CHAMAN 53 Figura 5.1 Mapa de distribución arquitectónica de la planta baja del edificio del 56 departamento de ciencias de la computación (CENIDET) Figura 5.2 Secuencia de comunicación de la aplicación cliente con el repositorio relacional en fase de entrenamiento de radiomapa 62 Figura 5.3 Muestra de celdas entrenadas en el repositorio relacional (a) y representación gráfica de un radiomapa entrenado (b) 62 Figura 5.4 Celdas evaluadas 64 Figura 5.5 celdas candidatas resultantes al implementar el algoritmo de localización en la celda J10 66 Figura 5.6 celdas resultantes al implementar el algoritmo de localización en la celda E1 68 Figura 5.7 Resultado de implementar el algoritmo de localización en la celda H7 71 Figura 5.8 Resultado de implementar el algoritmo de localización en la celda 9D 73 Figura 5.9 Resultado de implementar el algoritmo de localización en la celda 11B 76 Figura 5.10 Resultado de implementar el algoritmo de localización en la celda 6B 78 Figura 5.11 Resultado de implementar el algoritmo de localización en la celda 8C 80 Figura 5.12 Conjunto de celdas candidatas (vecindad) en una zona de 81 localización Figura 5.13 Resultado de la implementación del algoritmo de localización en la zona entrada al edificio 83 Figura 5.14 Resultado de la implementación del algoritmo de localización en la zona Laboratorio de Ingenieria de software 84 Figura 5.15 Resultado de la implementación del algoritmo de localización en la 85 zona Laboratorio de Inteligencia Artificial Figura 5.16 Resultado de la implementación del algoritmo de localización en la zona Cubo Central 86 Figura 5.17 Resultado de la implementación del algoritmo de localización en la zona Aula 2 87 Figura 5.18 Resultado de la implementación del algoritmo de localización en la 88 zona Aula 3
  • 15. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Figura 5.19 Resultado de la implementación del algoritmo de localización en la zona Aula 1 89 Figura 5.20 Resultado de la implementación del algoritmo de localización en la zona Laboratorio de Sistemas Distribuidos 90 Figura 5.21 Distribución de infraestructura RFID en el edificio del DCC 92 Figura 5.22 Diagrama de disposición de antenas en escenario de entrada y salida controlado por antenas RFID 93 Figura 5.23 Distribución de antenas RFID en la zona de escaleras del edificio del DCC 94 Figura 6.1 Diagrama de implementación de CHAMAN y un sistema visor de posición en interiores en un dispositivo móvil 99 Figura 6.2 Diagrama de propuesta de implementación e interoperabilidad en el internet de las cosas entre CHAMAN , fosstrak y hardware Arduino 99
  • 16. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Capítulo 1 Introducción Capítulo 1 -- Introducción Página 1
  • 17. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 1.1. Introducción En 1950 Isac Assimov (visionario con todas y cada una de las letras de la palabra) escribió una novela titulada Yo, Robot1 (I, Robot), si bien la temática de la historia transcurría sobre términos éticos e inteligencia artificial, Assimov no escatimo en detalles sobre el contexto en el cual se desarrolla la historia, en más de una ocasión se describe la gran variedad de servicios ofrecidos a un humano según el lugar en donde se encontraba (ahora le llamamos contex-aware). Años más tarde, en 1956, Philip K. Dick publica “The minority report”2 en donde narra las vivencias de John Anderton. Nuevamente el autor no deja a la imaginación del lector detalles del contexto de cada aventura, pero esta vez, se describe lo que al parecer es un “dispositivo rastreador” que, tal vez, en aquel tiempo por ser lo más avanzado en tecnología, se describía su funcionamiento como ondas de radio. Tuvieron que pasar más de 30 años de aquellas publicaciones para que se pudiese llevar a la realidad, tal vez, inspirados en aquellas viejas historias u orillados a evolucionar hacia el grado de comodidad descrito en tales historias; nacen los primeros sistemas de localización para uso no militar, los cuales, no han parado de evolucionar, llegando así a la actual tecnología de sistemas de posicionamiento global (GPS por sus siglas en inglés) que proporciona una gran precisión en escenarios urbanos, pero es de muy poca ayuda en escenarios donde el individuo u objeto a localizar se encuentra dentro de un edificio, esto se debe a la interferencia o atenuación de señal que producen los elementos arquitectónicos del edificio. Como respuesta a esta necesidad se desarrollaron (y continúan en constante desarrollo) sistemas de localización en interiores que tienen como fin determinar la posición de un objeto dentro de un área de localización cerrada. A partir de esta idea, se han desarrollado múltiples soluciones que incluyen tecnologías que pueden ir desde el reconocimiento de patrones visuales hasta el reconocimiento de patrones electromagnéticos. Estos últimos, son el punto de partida y atención de este trabajo de investigación el cual plantea, modela, desarrolla, prueba y muestra una API escrita en lenguaje de programación JAVA la cual contiene clases y métodos que permiten al programador ofrecer servicios de localización en interiores evaluando los patrones de señales electromagnéticas percibidas por un cliente móvil dentro de un edificio. Dado a que hoy en día existen un gran número de frecuencias electromagnéticas a nuestro alrededor, pero no todas usadas por el individuo común, se decidió utilizar señales electromagnéticas propias de las tecnologías de comunicación inalámbrica más comunes: Wi-Fi™, Bluetooth y RFID, pretendiendo de esta forma lograr una implementación económica, sencilla y escalable funcionando de esta manera como base para futuros proyectos en los cuales se necesiten servicios de localización en interiores. 1 http://en.wikipedia.org/wiki/I,_Robot (Recuperado el 2 de noviembre del 2011) 2 http://en.wikipedia.org/wiki/The_Minority_Report (Recuperado el 2 de noviembre del 2011) Capítulo 1 -- Introducción Página 2
  • 18. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 1.2. Problema La determinación de la posición de un individuo u objeto dentro de un edificio es de gran importancia en la evaluación de diferentes tópicos como puede ser la seguridad, navegación, y asistencia personal, los sistemas que atienden este tipo de tópicos son y/o necesitan de hardware muy costoso [Papapostolou, 2009]. Las soluciones de software basadas en hardware de comunicación (como puntos de acceso Wi-Fi™ o Bluetooth que se encuentran en el mercado) que se encuentran actualmente en el mercado brindan soluciones generales que no pueden ser adaptadas a todo tipo de escenario sin mencionar la falta de compatibilidad con aplicaciones de terceros. 1.3 Objetivo principal Como se podrá apreciar en futuros capítulos, actualmente existen múltiples opciones, técnicas, algoritmos y métodos para obtener la posición aproximada de un individuo u objeto dentro de un escenario de tipo interior (indoor). Aquellos que son implementados como una solución computacional son realizados de forma monolítica o poco escalable. Por lo tanto: El objetivo de esta tesis es desarrollar métodos de localización en interiores basados en evaluación de señales electromagnéticas y encapsularlos dentro de clases que a su vez formarían librerías de programación de forma tal que al ser implementada, el programador que utilice la API pueda obtener como resultado de la ejecución de un método la información de localización de un individuo determinado dentro de un área de localización haciendo de esto un proceso rápido, económico y casi transparente para el programador. 1.4 Estructura del documento Este documento de tesis se encuentra distribuido en siete capítulos en los cuales se presentan en una primera parte los conceptos básicos y metodologías de localización que le permiten al lector extender el panorama y vocabulario necesario para comprender los capítulos sustánciales de la tesis en los cuales se describe el modelado, codificación, implementación y pruebas de los métodos de localización en interiores productos de esta investigación. Por último, el lector se encontrará con las conclusiones obtenidas por el autor al finalizar el proceso de investigación, desarrollo e implementación, como también un capítulo en el cual se encuentran los documentos anexos como lo son documentación de la API, imágenes y un artículo presentado en un congreso internacional producto derivado de la investigación desarrollada en el proceso de investigación de esta tesis. El listado de capítulos que a continuación se muestra atiende a la estructura que se ha establecido para la publicación de este documento. En el capítulo 1. Introducción y descripción general del tema de investigación. El capítulo 2 muestra un marco conceptual en el cual se definen conceptos que son Capítulo 1 -- Introducción Página 3
  • 19. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode utilizados en el resto del documento. El capítulo 3 corresponde a la descripción del estado del arte relacionado a los procesos de localización en interiores utilizando tecnología Wi-Fi ™, Bluetooth y RFID. El capítulo 4 contiene el modelado y descripción de la API propuesta en esta tesis. En el capítulo 5 se encuentran registradas las pruebas realizadas para comprobar el grado de presión de los algoritmos desarrollados y codificados en métodos y clases pertenecientes a la API. El capítulo 6 contiene las conclusiones generales a las que se ha llegado después de realizar el proceso de investigación, desarrollo e implementación de las ideas planteadas en esta tesis. El capítulo 7 muestra las referencias bibliográficas Y por último, el capítulo 8 contiene los documentos anexos a esta investigación. Capítulo 1 -- Introducción Página 4
  • 20. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Capítulo 2 Marco conceptual Capítulo 2 -- Marco conceptual Página 5
  • 21. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 2.1 Introducción Tecnologías de comunicación inalámbrica, identificación por radio frecuencia, sistemas de localización en interiores y magnitudes electromagnéticas pueden ser términos extraños para un lector no “iniciado” o ajeno a los términos relacionados e incluidos en este documento de tesis. En este capítulo se encuentran las definiciones básicas que permitirán al lector contar con las bases para comprender los escenarios, propuestas y desarrollos realizados en el resto de este documento. 2.2. RFID RFID (Identificación por Radiofrecuencia) es un método de almacenamiento y recuperación remota de datos, basado en el empleo de etiquetas o “tags” en las que se encuentra almacenada información. RFID se basa en un concepto similar al del sistema de código de barras; la principal diferencia entre ambos reside en que el segundo utiliza señales ópticas para transmitir los datos entre la etiqueta y el lector, y RFID, en cambio, emplea señales de radiofrecuencia (en diferentes bandas dependiendo del tipo de sistema, típicamente 125 KHz, 13,56 MHz, 433-860-960 MHz y 2,45 GHz). Los sistemas RFID se componen principalmente de cuatro elementos:  Una etiqueta RFID, también llamada tag o transpondedor (transmisor y receptor). La etiqueta se inserta o adhiere en un objeto, animal o persona. Esta etiqueta cuenta con un código numérico que la identifica, ya sea un TAGID o un código electrónico del producto (EPC). En este contexto, la palabra “objeto” se utiliza en su más amplio sentido: puede ser un vehículo, una tarjeta, una llave, un paquete, un producto, una planta, etc. Consta de un microchip que almacena los datos y una pequeña antena que habilita la comunicación por radiofrecuencia con el lector.  Un lector o interrogador, se encarga de transmitir una señal de radio frecuencia que recibe el tag, esta señal es transformada por la antena del tag en voltaje para energizar el chip, una vez que se energiza el tag, este es capaz de enviar su código de identificación. El lector consta de un módulo de radiofrecuencia (transmisor y receptor), una unidad de control y una antena para interrogar los tags vía radiofrecuencia. Los lectores están equipados con interfaces estándar de comunicación que permiten enviar los datos recibidos de la etiqueta a un subsistema de procesamiento de datos, como puede ser una computadora personal que gestiona una base de datos. Algunos lectores llevan integrado un programador que añade a su capacidad de lectura la habilidad para escribir información en las etiquetas. A lo largo del presente estudio, cuando hablemos de lector, se considerará que es un dispositivo capaz de leer la etiqueta, independientemente de si puede sólo leer, o leer y escribir. Capítulo 2 -- Marco conceptual Página 6
  • 22. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode  Una computadora, que desarrolla la aplicación RFID. Recibe la información de uno o varios lectores y se la comunica al sistema de información. También es capaz de transmitir órdenes al lector.  Adicionalmente, un middleware (aplicación que hace posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas); ejecutándose en segundo plano un sistema ERP (sistema de planificación de servicios empresariales) de gestión de sistemas IT son necesarios para recoger, filtrar y manejar los datos. [Portillo, 2008] 2.3. IEEE 802.11 Es un conjunto de estándares para redes inalámbricas de área local que utilizan las bandas de frecuencia de 2.4 GHz, 3.6 GHz y 5 GHz. [Kerry, 2008] El conjunto de estándares define el uso de los dos niveles inferiores del modelo OSI (Open System Interconnection), en estas definiciones se encuentran descritos la arquitectura y el uso de protocolos de acceso al medio como también formatos y tipos de frames (paquetes) usados para la intercomunicación de terminales, el contenido de cada frame se encuentra definido por el tipo al que pertenece, estos pueden ser de control (Control frames), de datos (Data frame) o de gestión (Management frames). 2.4. API (Application Program Interface) Es un conjunto de convenciones internacionales que definen cómo debe llamarse a una determinada función de un programa desde una aplicación [NEODIGIT 09]. Las funciones o métodos, según sea el paradigma de programación, se encuentran en archivos individuales encapsulados dentro de un paquete o librería. La idea principal de implementación de una API es reducir la cantidad de código escrito agrupando las funciones o métodos que se utiliza en repetidas ocasiones en el cuerpo del programa. Las funciones o métodos agrupados se escriben y guardan en archivos individuales que son cargados al inicio del código del programa y las funciones que contienen son llamas dentro del cuerpo del programa. Por lo general las APIs se agrupan según el servicio que ofrecen sus funciones, por ejemplo: API de RED, API de servicios de recomendación, API de comunicación de procesos entre otras. 2.5. LLRP (Low Level Reader Protocol) Es el protocolo de comunicación utilizado por algunos lectores RFID, en el se describen las interfaces de red utilizadas para la comunicación entre el lector RFID y software de control o hardware [PW1]. Las interfaces permiten al software controlador enviar señales al lector para iniciar el proceso de lectura de EPCs de las etiquetas, o ejecutar otros comandos como “kill” el cual hace “callar” la señal de un tag una vez Capítulo 2 -- Marco conceptual Página 7
  • 23. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode leído su EPC o “lock” la cual impide la modificación de la información contenida en el tag. La comunicación se establece como se describe en la siguiente imagen. Figura 2.1 Modelo de objetos de protocolo LLRP En el modelo anterior se describe el escenario de comunicación donde un cliente LLRP que puede ser un software que usa el protocolo mediante una API envía solicitudes al lector LLRP, este es un lector RFID que cuenta con la capacidad de utilizar el protocolo LLRP para comunicaciones. Para realizar la comunicación entre cliente y lector es necesario enviar los mensajes en cierto formato, para ello existen dos alternativas:  Comunicación mediante archivos XML, el cliente envía al lector un archivo XML en el cual se encuentran los comandos LLRP para que el lector realice una tarea específica, una vez realizada la tarea, el lector llena los campos del archivo XML con la información solicitada y es enviado al cliente. A continuación se muestra un ejemplo de un archivo XML usado para la comunicación entre cliente y lector: <?xml version="1.0" encoding="UTF-8"?> <llrp:ADD_ROSPEC xmlns:llrp="http://www.llrp.org/ltk/schema/core/encoding/xml/1.0" Version="1" MessageID="4"> <llrp:ROSpec> <llrp:ROSpecID>1</llrp:ROSpecID> Capítulo 2 -- Marco conceptual Página 8
  • 24. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode <llrp:Priority>0</llrp:Priority> <llrp:CurrentState>Disabled</llrp:CurrentState> <llrp:ROBoundarySpec> <llrp:ROSpecStartTrigger> <llrp:ROSpecStartTriggerType>Null</llrp:ROSpecStartTriggerType> </llrp:ROSpecStartTrigger> <llrp:ROSpecStopTrigger> <llrp:ROSpecStopTriggerType>Null</llrp:ROSpecStopTriggerType> <llrp:DurationTriggerValue>0</llrp:DurationTriggerValue> </llrp:ROSpecStopTrigger> </llrp:ROBoundarySpec> <llrp:AISpec> <llrp:AntennaIDs>0</llrp:AntennaIDs> <llrp:AISpecStopTrigger> <llrp:AISpecStopTriggerType>Null</llrp:AISpecStopTriggerType> <llrp:DurationTrigger>0</llrp:DurationTrigger> </llrp:AISpecStopTrigger> <llrp:InventoryParameterSpec> <llrp:InventoryParameterSpecID>9</llrp:InventoryParameterSpecID> <llrp:ProtocolID>EPCGlobalClass1Gen2</llrp:ProtocolID> </llrp:InventoryParameterSpec> </llrp:AISpec> <llrp:ROReportSpec> <llrp:ROReportTrigger>Upon_N_Tags_Or_End_Of_AISpec</llrp:ROReportTrigg er> <llrp:N>1</llrp:N> <llrp:TagReportContentSelector> <llrp:EnableROSpecID>1</llrp:EnableROSpecID> Capítulo 2 -- Marco conceptual Página 9
  • 25. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode <llrp:EnableSpecIndex>1</llrp:EnableSpecIndex> <llrp:EnableInventoryParameterSpecID>1</llrp:EnableInventoryParameterS pecID> <llrp:EnableAntennaID>1</llrp:EnableAntennaID> <llrp:EnableChannelIndex>1</llrp:EnableChannelIndex> <llrp:EnablePeakRSSI>1</llrp:EnablePeakRSSI> <llrp:EnableFirstSeenTimestamp>1</llrp:EnableFirstSeenTimestamp> <llrp:EnableLastSeenTimestamp>1</llrp:EnableLastSeenTimestamp> <llrp:EnableTagSeenCount>1</llrp:EnableTagSeenCount> <llrp:EnableAccessSpecID>1</llrp:EnableAccessSpecID> <llrp:C1G2EPCMemorySelector> <llrp:EnableCRC>1</llrp:EnableCRC> <llrp:EnablePCBits>1</llrp:EnablePCBits> </llrp:C1G2EPCMemorySelector> </llrp:TagReportContentSelector> </llrp:ROReportSpec> </llrp:ROSpec> </llrp:ADD_ROSPEC> Segmento de código 1: Código XML de un mensaje ROSPEC (mensaje de comunicación entre software de gestión y lector RFID.  Otra opción es la comunicación directa de mensajes entre el cliente y el lector sin necesidad de uso de un archivo intermediario, para ello es necesario que el lector cuente con esta capacidad. La aplicación cliente envía y recibe los mensajes mediante el uso de una API del protocolo LLRP. 2.6. Sistema de localización en interiores [Bernardos, 2008] También conocidos como ILS (Indoor Location System) por sus siglas en ingles, son sistemas que tienen como fin localizar a un usuario (cliente) dentro de un edificio. Estos sistemas son la base para sistemas de recomendación y guiado. Los ILS pueden clasificarse en dos categorías: Capítulo 2 -- Marco conceptual Página 10
  • 26. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode  Sistemas de localización basado en tags o etiquetas, en los cuales el equipo sólo es capaz de detectar y por lo tanto localizar, a aquellos elementos que porten un dispositivo conocido como tag y por consiguiente al elemento etiquetado.  Sistemas de localización de sondeo, este tipo de sistema de localización utiliza una señal o frecuencia específica para realizar el proceso de localización. En este tipo de sistemas, un dispositivo dentro de un edificio o área específica irradia un tipo de señal previamente caracterizada, esta señal es captada por una red de sensores distribuidos en todo el edificio o área específica y en base a algoritmos de triangulación (algoritmos que determinan la posición de un elemento dentro de un área determinada por tres puntos en diferentes coordenadas) ofrecer una posición del edificio dentro del área sondeada. 2.7. Bluetooth Es una especificación industrial para Redes Inalámbricas de Área Personal (WPANs) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz.3 Los principales objetivos que se pretenden conseguir con esta norma son:  Facilitar las comunicaciones entre equipos móviles y fijos.  Eliminar cables y conectores entre éstos.  Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales. Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de las telecomunicaciones y la informática personal, como PDA, teléfonos móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras digitales. La arquitectura descrita por el estándar 802.15 se puede mostrar como un conjunto de capas superpuestas, cada una de ellas con un funcionamiento especifico que se describe a continuación en la figura 2. 3 Descripción de tecnología bluetooth recuperada de los documentos oficiales publicados en la página de internet oficial : http://www.bluetooth.com Capítulo 2 -- Marco conceptual Página 11
  • 27. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Figura 6 Arquitectura de transporte de datos de Bluetooth(http://www.bluetooth.com/Pages/Basics.aspx) Capítulo 2 -- Marco conceptual Página 12
  • 28. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Capítulo 3 Estado del arte Capítulo 3 -- Estado del arte Página 13
  • 29. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 3.1 Introducción Hoy en día se pueden encontrar una gran cantidad de aportes en cuanto a tópicos de servicios de localización en interiores se refiere, algunos muestran técnicas completamente innovadoras, otros aportan nuevos métodos a técnicas ya desarrolladas. Este capítulo muestra una breve descripción de las investigaciones relacionadas a la desarrollada en este trabajo de tesis que ha servido como bases teóricas y prácticas para el desarrollo e implementación de ideas descritas en los próximos capítulos. 3.2. An Indoor Positioning System (IPS) using Grid Model [Muttitanon, 2007] El artículo muestra los resultados de la implementación de un sistema de localización en interiores cuyo método para la determinación de la posición del usuario se basa en el cálculo de las intensidades de señal recibidas por un dispositivo cliente dentro de una red de puntos de acceso IEEE 802.11x. El sistema tiene un arquitectura cliente-servidor en donde el servidor ofrece una base de datos de los perfiles de cada uno de los puntos de acceso IEEE 802.11x, el cliente por su parte, se ejecuta en el dispositivo móvil que desea ser localizado, cabe mencionar que el sistema se encuentra limitado a la plataforma Windows Mobile por haber sido desarrollado en Visual Basic.net. La metodología de localización es la siguiente:  Obtener de una base de datos los perfiles de ubicación de los puntos de acceso dentro del edificio. Los perfiles de cada punto de acceso permiten la creación de un mapa con la ubicación de cada punto de acceso en el edificio, sobre el mapa de ubicación de puntos de acceso el sistema dibuja una cuadricula (GRID) donde a cada celda le corresponde un valor de intensidad de señal de cada punto de acceso.  Iniciar el proceso de censado de señales de puntos de acceso inalámbricos en el medio, esto es, obtener la intensidad de señal, dirección MAC y BSSID de cada punto de acceso que se encuentre a su alcance en ese momento.  Localizar dentro del GRID (cuadrícula) la ubicación del dispositivo que ha censado el medio, esto en base a un algoritmo probabilístico que usa como entrada la intensidad de señal de cada punto de acceso censado y proporciona como resultado la localización del dispositivo cliente dentro de un mapa del edificio. Capítulo 3 -- Estado del arte Página 14
  • 30. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode La figura 3 muestra en un esquema de capas los elementos y procesos involucrados en la localización del dispositivo cliente descritos anteriormente. Figura 7- Esquema de capas los elementos y procesos involucrados en la localización del dispositivo cliente 3.3. Local positioning system using WiFi networks [Ferreira, 2007] Este trabajo describe un sistema de localización de interiores desde su fase de creación y desarrollo hasta su implementación. El sistema es capaz de recuperar la posición de un dispositivo inalámbrico de tipo IEEE 802.11x implementando para ello una solución de software, sin necesidad de algún tipo de hardware especializado. El motor de posicionamiento usa una red neuronal artificial para describir el comportamiento de un canal de propagación. El entrenamiento de la red neuronal se Capítulo 3 -- Estado del arte Página 15
  • 31. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode basa en los datos de variación de frecuencias obtenidos por el dispositivo que se localizará. Arquitectura La arquitectura del sistema se basa en la red de puntos de acceso IEEE 802.11 del edificio y un servidor que tiene asociados todos los puntos de acceso, este servidor mantiene una bitácora de las actividades de cada punto de acceso como asociación y des-asociación de nodos y su dirección MAC. En el mismo servidor se encuentra implementada la red neuronal encargada de la localización de los dispositivos móviles. La Figura 4 describe la arquitectura del sistema de localización. Figura 8.- Arquitectura del sistema de localización La metodología de localización se basa en dos etapas: macro-localización y micro- localización En la etapa de macro-localización se localiza a grande escala la posición del dispositivo en base a las bitácoras de los puntos de acceso, de estas bitácoras se recupera el identificador del punto de acceso al cual se encuentra asociado el dispositivo móvil, de esta forma, la localización del dispositivo móvil se reduce al área de cobertura del punto de acceso al cual se encuentra asociado. En la etapa de micro-localización se utiliza el método llamado radiofrecuencia fingerprintig que no es más que la recuperación de todas las señales de radiofrecuencia (Beacon frames) captadas por el cliente. Entre los datos capturados se encuentra la intensidad de señal de cada punto de acceso, esta es la entrada que necesita la red neuronal para realizar el cálculo de posición del dispositivo móvil. Una vez que la red neuronal ha calculado la ubicación se envía una notificación al dispositivo móvil acompañada de un mapa del sitio donde se muestra su ubicación con un margen de error de 2 metros. Capítulo 3 -- Estado del arte Página 16
  • 32. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 3.4.- Internal Location Based System For Mobile Devices Using Passive RFID And Wireless Technology [Potgantwar, 2009] Este artículo describe la implementación de un sistema de localización en interiores en base a la lectura de etiquetas RFID que identifican cada una de las secciones de cada área del edificio. La arquitectura del sistema es de tipo cliente-servidor, el cliente se ejecuta en un dispositivo móvil con la capacidad de lectura de etiquetas RFID y conexión inalámbrica de tipo IEEE 802.11, esta última es utilizada para la comunicación entre el cliente y el servidor como se aprecia en la figura 5. El servidor cuenta con una base de datos en donde se encuentra almacenados mapas de distribución del edificio, cada mapa tiene asociado IDs de tags que representan cada una de las áreas del mapa. Figura 3.3 .- Modelo de comunicación del sistema La metodología implementada por el sistema se basa en cuatro etapas: 1.- El dispositivo cliente sondea en una determinada cantidad de segundos el medio, obteniendo la información de cada etiqueta RFID que se encuentre a su alcance. 2.- La información obtenida del sondeo es enviada al servidor de mapas vía HTTP. 3.- El servidor obtiene el paquete y en base a la potencia de señal de cada etiqueta leída estima la posición del cliente. 4.- El servidor recupera de la base de datos el mapa donde se encuentra el identificador de la etiqueta RFID y se envía al dispositivo cliente. La siguiente imagen muestra una simulación de la aplicación en la cual se ha obtenido la posición del dispositivo (cubículo 4). Capítulo 3 -- Estado del arte Página 17
  • 33. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Figura 9.- Simulación de la aplicación en la cual se ha obtenido la posición del dispositivo (cubículo 4) 3.5. A Patient Identification System using RFID and IEEEE 802.11b Wireless Networks [Aguilar, 2007] Esta tesis de maestría describe la implementación de un sistema cliente/servidor para la identificación de pacientes de un hospital en base a la lectura de etiquetas RFID usando la infraestructura de red inalámbrica IEEE 802.11b para la comunicación entre el dispositivo cliente y el servidor. Arquitectura: El sistema se compone de terminales clientes con capacidad de lectura de etiquetas RFID, estas terminales ejecutan una aplicación que recupera el identificador de etiquetas RFID, envía la información al servidor y cuando éste retorna una respuesta es desplegada por la aplicación ejecutada en el dispositivo mostrando la información asociada a la etiqueta leída. El servidor se compone de:  Una base de datos donde se encuentra la información de pacientes asociada a un único identificador de etiqueta RFID.  Una aplicación encargada de procesar la información envidada por el cliente, esto es, recuperar de la base de datos la información asociada al identificador de etiqueta RFID recibida y enviarla al cliente. Capítulo 3 -- Estado del arte Página 18
  • 34. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 3.6 Localización y seguimiento de terminales móviles en entornos indoor. [Atrain, 2006] En este trabajo se presenta un método de localización basado en la combinación de valores de potencia recibida y de un sistema de inferencia difuso para determinar la posición del usuario. Cada dispositivo móvil debe disponer de un interfaz WiFi, que es la que permitirá medir el nivel de señal recibido de cada punto de acceso de la red. Con la ayuda de un sistema de inferencia difuso se obtiene un conjunto de reglas de tipo SI-ENTONCES que permite estimar la localización de los dispositivos de modo preciso. Estas reglas se obtienen mediante el conocimiento de la ubicación de los puntos de acceso y el aprendizaje de una red neuronal de los niveles de señal recibidos por las terminales en cada una de las coordenadas del escenario. En esta investigación se considera una red inalámbrica tipo IEEE 802.11, que presta servicio de comunicación entre terminales inalámbricas sobre el escenario de estudio y que no requiere ningún tipo de modificación para ser empleada como mecanismo de localización de dispositivos móviles. Para llevar a cabo el proceso de localización cada dispositivo móvil que desee obtener su ubicación dentro de una red de puntos de acceso IEEE 802.11 debe de conocer previamente la distribución de dichos puntos de acceso, esto es, obtener de una base de datos los perfiles de distribución. Una vez obtenidos los perfiles el dispositivo móvil realiza un censo de las señales de puntos de acceso IEEE 802.11 que pueda percibir. Los datos de potencia obtenidos del censo y los perfiles de los puntos de acceso IEEE 802.11 son ingresados a una red neuronal y ésta, en base a un conjunto de reglas de lógica difusa genera una respuesta que es el punto de localización del dispositivo móvil. La siguiente imagen muestra una de las reglas usadas para la evaluación difusa de localización, en ella interviene la calidad de la señal de cuatro puntos de acceso (AP) y obtiene como resultado la zona en la que se encuentra el cliente. Figura 10.- Reglas usadas para la evaluación difusa de localización, en ella interviene la calidad de la señal de 4 puntos de acceso ( AP) y obtiene como resultado la zona en la que se encuentra el cliente Capítulo 3 -- Estado del arte Página 19
  • 35. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 3.7 Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas [ Arjona, 2009] En esta tesis se describe el desarrollo de la aplicación T-Guide. Actualmente el sistema cuenta con una arquitectura cliente-servidor. Es necesario resaltar que el dispositivo cliente debe de cumplir con las siguientes características:  Contar con sistema operativo Android  Contar con una cámara  Contar con lector RFID Entre los servicios que ofrece la aplicación T-Guide se encuentra el servicio de guiado en interiores en base a la lectura de tags RFID, cada vez que el cliente censa un tag RFID asignado a un área dentro del edificio, el cliente actualiza su estado y posición, la nueva información es desplegada en pantalla. La Figura 8 muestra el diagrama de flujo del proceso de guiado por RFID. Figura 3.6 Diagrama de flujo de proceso de guiado en base a lectura de tags RFID Capítulo 3 -- Estado del arte Página 20
  • 36. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode El despliegue de información se aprecia en el dispositivo móvil como se muestra en la figura 9: Figura 3.6 Pantallas involucradas en el proceso de guiado en base a lectura de tags RFID Capítulo 3 -- Estado del arte Página 21
  • 37. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Capítulo 4 CHAMAN Capítulo 4 -- CHAMAN Página 22
  • 38. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 4.1 Introducción En el capítulo 4 se revisaron los métodos utilizados por los sistemas de localización en interiores (ILS) para ofrecer servicios de localización y seguimiento de usuarios u objetos que se desplacen libremente dentro del área donde se presta el servicio de localización. En la conclusión del mismo capítulo se propone el método de fingerprint o huella de señal como el método de localización más adecuado para escenarios complejos, en los cuales, el tráfico de entidades físicas (personas y objetos) y la distribución arquitectónica del edificio hace poco viable la implementación de modelos predictivos de propagación de señales electromagnéticas como base para el desarrollo de métodos de localización. En este capítulo se presenta y describe el diseño y la funcionalidad de una API la cual contiene clases y métodos que permiten el desarrollo completo o modular de un sistema de localización en interiores utilizando el método de localización fingerprint. Esta API a la cual se hará referencia con el nombre de CHAMAN4 está escrita en Java. Sus clases y métodos fueron modelados y desarrollados para ofrecer servicios de localización en interiores de edificios tipo campus, se utilizan tres tecnologías para la localización: 1) se señales electromagnéticas, 2) la asociación de lugares con marcadores bidimensionales (QRCodes) y 3) TAGs RFID. En las secciones correspondientes a los motores de localización se describen a profundidad el funcionamiento y la secuencia de estados de cada uno de los algoritmos de localización en interiores implementados como métodos de la API que se desarrollaron para probar las hipótesis planteadas en esta tesis y soportar los casos de estudio que se comentan en el capítulo 6. La versión actual de CHAMAN integra métodos de localización en interiores basados en la evaluación del contexto de tecnología Wi-Fi™, Bluetooth y RFID, de igual forma permite la identificación por asociación de marcadores de tipo QRCode. Brevemente se describen los métodos contenidos en la API:  Permiten identificar y localizar usuarios u objetos etiquetados con una etiqueta RFID pasiva dentro de un edificio que cuente con un despliegue de antenas. La localización se realizará a no más de 5 metros alrededor de la antena RFID.  Permiten localizar dispositivos clientes evaluando su contexto de señales Wi- Fi™ y Bluetooth.  Permiten identificar la posición de un usuario según el identificador decodificado de un marcador de tipo QRCode.  Permiten crear, guardar y consultar un historial de eventos de localización 4 Del idioma tungu, de Siberia, xaman o schaman, y éste del verbo scha, "saber", es un individuo al que se le atribuye la capacidad de modificar la realidad, de comunicarse con los espíritus y de presentar habilidades visionarias y adivinatorias. Capítulo 4 -- CHAMAN Página 23
  • 39. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode A continuación se comentan los objetivos funcionales de la API CHAMAN, se describe su diseño general y se profundiza en la funcionalidad de cada una de las capas de interacción que componen la API. Por último se muestra el diagrama de clases y sus métodos que pueden ser instanciados. 4.2 Método de localización en interiores basados en huella de señal (Fingerprint) [Bernardos, 2008] El proceso de localización basado en el uso de huella o fingerprint es una técnica de reconocimiento de patrones que se fundamenta en la existencia de una huella de potencia de señal recibida construida durante un proceso de calibración (fase offline), previo al de determinación de la posición en tiempo real (fase online). Dicha huella se convierte en el patrón con el que comparar las medidas tomadas en tiempo real. La forma en la que se diseña y almacena la huella (qué medidas se almacenan y cómo) y la definición de la distancia con la que operar en tiempo real son dos aspectos clave que determinan la calidad del funcionamiento del algoritmo. Las técnicas fundamentales de fingerprint son de dos tipos: a) deterministas, que son aquellas que representan la medida de potencia de señal recibida con un escalar (por ejemplo, la potencia media recibida) y utilizan métodos no estadísticos para estimar la posición del usuario. b) las probabilísticas, que almacenan información acerca de la función de distribución de las medidas de potencia de señal en un radiopmapa y utilizan técnicas estadísticas para calcular la posición 4.3 Descripción de general de la API CHAMAN se encuentra formada por seis paquetes que siguen la nomenclatura cenidet.chaman.api.indoor.* en la cual se agrupan clases y métodos según su funcionalidad. Cada paquete representa un tipo de interacción con el sistema aislando un tarea específica, de esta forma el programador que implemente CHAMAN para el desarrollo de un sistema de localización en interiores puede implementar total o parcialmente las clases dentro de la API para obtener soluciones en el contexto de localización según sea la granularidad de precisión que busque el desarrollador del sistema. La implementación de CHAMAN en un ILS propone un proceso de localización por etapas haciendo uso de múltiples tecnologías de identificación y comunicación para llevar a cabo el proceso de ubicación de un objeto o individuo dentro de un edificio o área de localización determinada por el administrador del sistema. Para llevar a cabo tal tarea los métodos que componen la API deben ser llamados en un orden determinado y se debe contar con ciertas precondiciones, primero se requiere un entrenamiento del sistema para crear radio-mapas de señales, después se debe Capítulo 4 -- CHAMAN Página 24
  • 40. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode etiquetar personas y objetos con tags RFID pasivos y finalmente, se requiere una adecuada distribución de puntos de acceso (AP) tanto Wi-Fi™ como Bluetooth. Los métodos de CHAMAN en conjunto con un repositorio relacional (base de datos) permiten crear un radio-mapa de las zonas en las que se prestará el servicio de localización (ILS). Se realiza un proceso de localización llamada “entrenamiento”, posteriormente haciendo uso de algoritmos de localización codificados en métodos de localización dentro de la API el ILS que implemente CHAMAN puede determinar la ubicación de un individuo y objeto etiquetado con tags RFID o portador de dispositivos con interfaz Wi-Fi™ que permitan obtener el contexto de señales para enviarlas vía TCP a un servicio de localización que implementa los métodos de servicio de información (localización, historial y seguimiento) contenidos en CHAMAN. Como se comentó en el capítulo 3, los sistemas de localización en interiores que basan sus métodos de localización en la técnica fingerprint, realizan un mapeo completo del área en la cual se prestará el servicio de localización, esto puede ser un inconveniente en escenarios donde la distribución espacial de la zona puede modificarse según la necesidad de los usuarios, esta técnica de localización es ineficiente cuando el mapa generado previamente cambia, es decir, si la distribución espacial de los AP se modifica, o hay modificaciones estructurales en el interior del edificio. Para solucionar situaciones como ésta CHAMAN propone un modelo de entrenamiento por zonas funcionales o áreas de localización limitadas por muros sólidos imposibles de mover dentro de la arquitectura del edificio, de esta forma, en caso de existir un cambio en la distribución espacial del edificio o zona específica sólo se deberá crear de nuevo el mapa de señales de la zona modificada. Cada método de CHAMAN fue diseñado para retornar información específica dentro del proceso de localización de forma tal que el programador puede hacer uso de CHAMAN en combinación con otras APIs o seguir la implementación sugerida en esta tesis para realizar las pruebas de funcionamiento de la API. CHAMAN puede ser modelada como una estructura compuesta por capas ordenadas jerárquicamente en la cual la capa de nivel inferior es la encargada de brindar métodos abstractos de comunicación directa con el hardware involucrado en el proceso de localización en interiores (ILS) mediante diferentes protocolos que son transparentes para el programador final, siguiendo el modelo, de manera ascendente se encuentran con métodos de cifrado y descifrado de paquetes utilizados para la comunicación con dispositivos hardware, métodos de filtrado de información, métodos de procesamiento de datos recibidos hasta llegar al paquete que contiene los métodos abstractos de servicios que le permiten a un programador obtener información estructurada del repositorio relacional. Los paquetes que integran CHAMAN, se clasifican según su funcionalidad, permiten al programador que los implemente funcionalidades tales como:  Paquete de red: conectar y obtener datos en crudo o cifrados de hardware utilizado en el proceso de localización como puntos de acceso Wi-Fi™, Bluetooth y portales RFID que implementen el protocolo LLRP o SMNP5. 5 El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de Capítulo 4 -- CHAMAN Página 25
  • 41. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode  Paquete de interpretación: leer y traducir mensajes en formato JSON6 o LLRP ROSpec7 recibidos directamente del hardware de localización para utilizar los datos en el proceso de localización  Paquete de filtrado: identificar el hardware, áreas de localización, objetos y usuarios involucrados en el proceso de localización.  Paquete de procesamiento: procesar los datos de contexto de señales inalámbricas para crear radio-mapas o determinar la posición de un objeto o usuario.  Paquete de conexión: permitir conexión, consultar y alterar el contenido de repositorios relacionales que funcionan como repositorio de datos de contexto de localización.  Paquete de servicios: retornar información sobre la posición de un usuario u objeto dentro de un área de localización así como el historial de posiciones dentro del área de localización de estos. La comunicación entre métodos de CHAMAN se realiza por “paso de parámetros” utilizando datos de tipo String. La comunicación que ofrecen los métodos incluidos en el paquete de red utilizar cadenas de String codificadas en formatos JSON y XML (utilizado para los mensajes ROSPECT) para entablar comunicación con el hardware involucrado en el proceso de localización. 4.4 Funcionalidades Como se mencionó en la sección anterior, CHAMAN se compone por seis paquetes que de forma conceptual se pueden modelar como una estructura compuesta por capas o niveles, en donde cada nivel contiene clases y métodos con un fin específico dentro del proceso de localización de los ILS que utilizan la técnica fingerprint. Los métodos de cada paquete pueden retornar un valor tipo String que puede ser utilizado por el programador para fines particulares e independientes de los sugeridos en la utilización de la API o puede utilizar los datos retornados para enviarlos como parámetros a los métodos necesarios para lograr un proceso de localización correcto administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. Recuperado de http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol 6 JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.. Recuperado de http://en.wikipedia.org/wiki/JSON 7 ROSpec (Reader Operations Specification) Es el cojunto de especificaciones de operación de un portal RFID que soporta el protocolo LLRP. Recuperado de http://wiki.rifidi.org/index.php/LLRP_Reader Capítulo 4 -- CHAMAN Página 26
  • 42. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode utilizando todos los métodos provistos por CHAMAN (ver anexos para la sugerencia de uso de métodos). En caso de que el programador opte por la última opción deberá seguir un proceso jerárquico para la instancia de cada una de las clases necesarias desde la conexión con los dispositivos de localización hasta la consulta a los servicios de localización. El proceso jerárquico de instancias de clases involucra todos los paquetes (o capas) de la API en la siguiente secuencia: 1. Obtener los datos proporcionados por los dispositivos de localización, para este caso plataformas Smartphone, lectores RFID, AP (WiFi y Bluetooth) y Marcadores visuales. Para ello se utilizan los métodos del paquete de red que permiten crear serversockets8 para recibir la información enviada por los dispositivos por medio del protocolo TCP, estos métodos retornar la información en crudo enviada por los dispositivos la cual se envía como parámetro a métodos del paquete encargado de la interpretación. 2. Los métodos localizados en el paquete de interpretación contienen referencias a clases que permiten decodificar la información recibida en formato JSON y XML, esta información se encontrará disponible para utilizarla como parámetro para los métodos de filtrado 3. Los métodos pertenecientes al paquete de filtrado permiten diferenciar el tipo de información recibida y realizar la acción correspondiente con ella, puede ser de entrenamiento o de consulta, en ambos casos se utiliza la información recibida para instanciar los métodos del paquete de procesamiento. 4. Las clases dentro del paquete de procesamiento permiten realizar el proceso de entrenamiento de radio-mapas o determinar la localización de un objeto o individuo en base a los datos obtenidos en el proceso de filtrado, estas clases utilizan de forma implícita clases que permiten la conexión con el repositorio relacional utilizado por CHAMAN. 5. Los métodos del paquete de conexión con el repositorio relacional permiten la conexión al manejado de base de datos MySQL™ utilizando para ello la librería MySQL.JDBC. Estos métodos también permiten iniciar la conexión para realizar consultas permitiendo la creación de historial de eventos de localización. 6. Los métodos de servicios permiten retornar la información del historial de posiciones de usuarios u objetos, solicitadas en los parámetros de instancia de los métodos. 8 Instancia de una clases de Java.net que permite crear un socket con un número determinado por el programador el cual se mapeará como un puerto TCP abierto en modo escucha hasta que la instancia sea cancelada por medios de programación. Capítulo 4 -- CHAMAN Página 27
  • 43. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode La figura 10 muestra de forma gráfica el modelo en capas de CHAMAN y la interacción de cada una de los paquetes que la componen, representadas como capas de un diagrama modular. Figura 4.1 Diagrama de funcionalidades de las capas que componen a CHAMAN 4.5 Modelo y arquitectura de la API para servicios de localización en interiores utilizando tecnología Wi-Fi™, Bluetooth, RFID y QRCode. CHAMAN es una API que contiene métodos utilizados para ofrecer servicio de localización en interiores basados en la evaluación del contexto de señales de tipo Wi- Fi™, Bluetooth o RFID utilizando el método fingerprint. Como se describió en el capítulo 3 el método fingerprint consta de dos etapas: entrenamiento y localización, CHAMAN contiene clases y métodos abstractos que permiten al programador crear funciones de entrenamiento y brindar servicios de localización de usuarios u objetos con interfaces Wi-Fi™, Bluetooth o etiquetados con tags RFID siguiendo los metodología fingerprint. CHAMAN utiliza un repositorio de datos relacional para garantizar la persistencia de los datos y poder ofrecer el servicio de consulta de históricos de localización. En las siguientes secciones se describe el proceso de localización implementado en los métodos de la API como también el modelo entidad relación que da forma al esquema de almacenamiento de datos persistentes utilizado para ofrecer los servicios de localización en interiores. Capítulo 4 -- CHAMAN Página 28
  • 44. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 4.5.1 Modelo del proceso de localización implementado en la API El proceso de localización que puede ser implementado mediante el uso de métodos de la API se puede resumir como un proceso de “obtener-almacenar-comparar”, la idea es relativamente simple, si se compara con métodos complejos de localización que utilizan modelos de propagación lineal; este proceso resulta más efectivo en escenarios complejos. Para implementar la idea “obtener-almacenar-comparar” se implementó un procesamiento similar a la metodología fingerprint del cual requiere dos fases para llevar a cabo el proceso de localización. CHAMAN contiene métodos que permiten realizar la fase previa de entrenamiento del sistema como también la fase de localización. El proceso de localización se puede describir de la siguiente forma: Fase de entrenamiento: 1. Crear un catálogo de áreas de localización, puntos de acceso y portales RFID para su posterior consulta en la formación del radio-mapa y consulta de localización de usuarios/objetos. 2. Crear un radio-mapa virtual de las señales captadas en cada una de las zonas donde se ofrecerá el servicio de localización. 3. Asignar la posición de los lectores o antenas RFID a las zonas de localización en las que se encuentran físicamente. Fase de localización: 1. Recibir la información de puntos de acceso y las potencias asignadas a cada uno de ellos. 2. Iniciar el procesamiento de los datos recibidos buscando (incluyendo un margen de error en decibelios) mediante algoritmos de localización la zona de localización en la cual se pueda encontrar el objeto o usuario que ha enviado la información de puntos de acceso o el portal/antena RFID que leyó por última vez una etiqueta determinada. 3. Obtener el conjunto de resultados de zonas de localización candidatas 4. Iniciar el proceso de filtrado de zonas candidatas y presentar el resultado mostrando así la zona de localización en la cual se encuentra el objeto o usuario que ha solicitado el servicio. La figura 11 muestra de forma gráfica el proceso de localización en interiores utilizando las tecnologías Wi-Fi™, Bluetooth y RFID, el cliente que solicita el servicio Capítulo 4 -- CHAMAN Página 29
  • 45. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode de localización se encuentra representado por un dispositivo móvil de tipo Smartphone con plataforma Android™. Figura 4.2 Modelo del proceso de localización utilizando el contexto de señales Wi-Fi™ , Bluetooth y RFID 4.5.2 Reglas de inferencia utilizadas por CHAMAN en el proceso de localización en interiores Las reglas para determinar la posición de un objeto dentro del área de localización es la parte fundamental en el proceso de localización, en esta sección se describen las reglas de inferencia y el algoritmo a seguir para obtener la localización de usuarios y objetos en base a la lectura de señales IEEE 802.11 y etiquetas RFID. Las reglas de inferencia que a continuación se describen se implementaran en los métodos de localización dentro de las clases de la API para servicios de localización. Definición de términos Una zona de localización (ZL) es una zona física en la cual se presta el servicio de localización, la zona se encuentra distribuida en celdas que describen una cuadricula. Una celda (C) es el elemento mínimo dentro de la cuadricula que comprende una zona geográfica dentro de la zona donde se prestará el servicio de localización. Una celda entrenada (CE) se encuentra formada por un identificador de celda y un matriz donde se encuentran identificados los puntos de acceso que pueden captarse si Capítulo 4 -- CHAMAN Página 30
  • 46. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode un cliente se posiciona en la celda y la magnitud de la potencia de cada uno de los puntos de acceso. La siguiente tabla representa de forma gráfica una celda entrenada. Tabla 1 Celda Entrenada Un Radiomapa (Rm) es el conjunto de CE que describen la zona de localización (ZL). Un paquete enviado por el cliente (PE) se encuentra compuesto por un identificador del cliente que envía el paquete y una matriz en la que se encuentra los identificadores de los puntos de acceso que puede captar en un punto determinado y la magnitud de señal de cada uno de ellos. La siguiente tabla representa de forma gráfica un paquete enviado por el cliente. Tabla 2 Contenido de paquete de información enviado por el cliente Una Antena es un componente de un portal RFID que se encuentra conectada a la computadora del portal. La antena es la encargada de enviar la señal de excitación a las etiquetas RFID y se encarga de leer el código EPC emitido por las etiquetas una vez excitadas. Reglas de inferencia para localización de clientes en base a la lectura de la magnitud de los puntos de acceso Si los valores de los elementos descritos en la matriz de un son iguales a los elementos de la matriz de del RM entonces el usuario se encuentra en la zona delimitada por . Si de los elementos de la matriz de son un subconjunto de los valores de la matriz del RM entonces el usuario se encuentra en la zona delimitada por . Capítulo 4 -- CHAMAN Página 31
  • 47. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Si el valor de las magnitudes de señal de los puntos de acceso de la matriz de tiene un margen de error de ± 4 y son un subconjunto de los valores de la matriz del RM entonces el usuario se encuentra en la zona delimitada por . Reglas de inferencia para localización de códigos EPC La función describe la función de lectura de la antena “a” en un tiempo “t”. La antena se encuentra localizada en una correspondiente a una ZL, la función recibe como parámetro un código EPC identificado por Si y cuando t1 < t2 entonces el objeto marcado con se encuentra en . 4.6.2 Modelo entidad relación del esquema utilizado para la persistencia de datos utilizados para el proceso de localización CHAMAN propone el uso de un repositorio relacional (bitácora o logfile) para almacenar los eventos de localización, que permitirán posteriormente analizar el comportamiento de movilidad de los usuarios o incluso se podrían minar patrones de esta información. El repositorio relacional se encuentra formado por entidades definidas por atributos reales y particulares de cada entidad, como también una clave única que permite la identificación de cada instancia en el repositorio (personas y objetos). La finalidad del repositorio es almacenar el catálogo de zonas de localización y la relación entre éstas, por ejemplo: el área de localización primer piso puede estar compuesta en su totalidad por un conjunto de aulas, estas a su vez pueden estar compuestas por n cuadrantes, de forma tal que se puede establecer una relación de tipo: el cuadrante m se encuentra en el aula k que a su vez se encuentra en el piso 1. De igual forma es posible almacenar el histórico de los eventos de localización solicitados por el ILS. Los catálogos del repositorio relacional almacenan la información y relación de las zonas de localización, usuarios, objetos e infraestructura de localización como lo son puntos de acceso Wi-Fi™, Bluetooth, portales o antenas autónomas RFID. Las zonas de localización a las cuales se hace mención son las áreas en las que se prestará el servicio de localización. CHAMAN se diseño para brindar servicios de localización en interiores de edificios tipo campus (ILS), es por ello que las zonas de localización propuestas para describir este tipo de escenarios son las siguientes: campus, edificio, piso (edificios multinivel), zona y celda. Estas zonas se encuentran relacionadas y contenidas una dentro de la otra de forma tal que el conjunto de zonas de localización de área pequeña forman una zona de localización de área más grande, para lograr esto se propusieron las siguientes relaciones: un campus contiene uno o más edificios, un edificio contiene uno o más pisos, en un piso se encuentran una o Capítulo 4 -- CHAMAN Página 32
  • 48. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode más zonas (lugares funcionales delimitados físicamente por muros, por ejemplo: habitaciones, pasillos, oficinas,… etc.), a cada zona se le asocia un conjunto de celdas, de esta forma se definen las zonas de localización embebidas unas dentro de otras como se aprecia en la figura 12 que describe una formación tipo “Matryoshka9”, el componente más básico es la celda, un conjunto de celdas se encapsula en la zona, un conjunto de zonas se encapsula en un piso, y así sucesivamente, hasta conformar un campus. Figura 4.3 Definición de zonas utilizando formación “Matryoshka” Dentro del repositorio relacional existen otros catálogos llamados catálogos de infraestructura, estos corresponden a las listas de hardware utilizado en el proceso de localización y su relación con la zona de localización en la que se encuentra. En estos catálogos es donde se puede almacenar la información de los puntos de acceso (AP) utilizando su dirección MAC como identificador único para su posterior procesamiento. De igual forma se permite relacionar un lector RFID a múltiples antenas y estas a una zona de localización de forma tal que se pueda determinar la zona en la que se encuentra un usuario u objeto etiquetado con un tag RFID a partir de la antena que ha realizado la lectura del mismo. La figura 13 muestra el diagrama entidad relación del esquema del repositorio relacional. La matrioska o muñeca rusa (ruso: Матрёшка /mʌˈtrʲoʂkə/) 9 son muñecas tradicionales rusas creadas en 1890, cuya originalidad consiste en que se encuentran huecas por dentro, de tal manera que en su interior albergan una nueva muñeca, y ésta a su vez a otra, y ésta a su vez otra, en un número variable que puede ir desde cinco hasta el número que se desee. Recuperado de http://es.wikipedia.org/wiki/Matrioska Capítulo 4 -- CHAMAN Página 33
  • 49. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode Figura 4.4 Diagrama Entidad - Relación del esquema del repositorio de datos utilizado por CHAMAN Capítulo 4 -- CHAMAN Página 34
  • 50. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode 4.6.3 Arquitectura de capas de la API para servicios de localización en interiores. Los paquetes que conforman CHAMAN pueden ser representados en un modelo gráfico para comprender mejor su arquitectura, cada paquete puede ser modelado como una capa modular y a su vez cada capa puede ser modelada como el conjunto de interfaces que le permiten al programador la implementación de los métodos de CHAMAN. CHAMAN se conforma de seis paquetes que contiene clases, métodos e interfaces con propósitos diferentes dentro del proceso de localización en interiores, para referencias gráficas y comodidad de lectura y futuras referencias a la arquitectura de la API en la figura 14 se propone el uso de un diagrama modular para mostrar el contenido y las acciones que realizan cada una de las clases que se encuentran en cada módulo o capa. Figura 4.5 Diagrama de capas que componen CHAMAN La figura 14 muestra de forma gráfica la distribución arquitectónica de CHAMAN, en ella se puede apreciar la composición de la API por medio de capas, cada capa Capítulo 4 -- CHAMAN Página 35
  • 51. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode contiene métodos de tipo interfaz que reciben como parámetros al menos un objeto de al menos un método de la capa anterior para iniciar su funcionamiento. En la imagen se muestran en forma de pequeños bloques los servicios que pueden ser llamados por las interfaces de cada una de las clases en las diversas capas del modelo (o paquetes de la API). 4.7 Diseño de capas de la API CHAMAN fue diseñada para soportar el desarrollo de sistemas de localización en interiores utilizando la técnica fingerprint. Como se describió en capítulos anteriores, esta técnica de localización necesita ciertas precondiciones para iniciar el proceso de localización (como la creación de catálogos de zonas de localización y la creación de un radio-mapa de señales) y ciertos requerimientos en tiempo de ejecución (como filtrado de información en tiempo real), esta es la razón que justifica la API CHAMAN, que es un conjunto clases y métodos que permite realizar las tareas necesarias para completar satisfactoriamente cada una de las etapas del proceso de localización (ILS). Cada paquete cuenta con métodos de procesamiento “protegidos” y métodos públicos de tipo interface que utilizan los métodos de procesamiento, de esta forma el programador sólo necesita hacer una instancia de los métodos de tipo interface. Tomando en cuenta futuros desarrollos de funcionalidades de la API, el desarrollo modular de CHAMAN sigue el principio KISS10. Las siguientes secciones describen la función, clases y métodos contenidos en cada uno de los paquetes, representados por capas de un modelo modular siguiendo el modelo gráfico de capas mostrado en la figura 14, que forman CHAMAN, para obtener más detalles de parámetros de entrada y objetos de retorno de cada método se puede consultar el anexo 7.3 CHAMAN JavaDoc. 4.7.1 Capa de conexión física En esta capa se imprentaron las clases y los métodos que permiten la comunicación con los diferentes dispositivos (hardware) involucrados en el proceso de localización en interiores, los métodos de las clases de conexión física permiten la creación de “puertos en modo escucha” utilizando instancias de la clase serversockets que utiliza el protocolo TCP para crear un canal de comunicación entre las clases de la API y el hardware de localización. La abstracción de estos métodos permite al programador crear instancias de puertos abiertos utilizando como parámetro el número de puerto que se desea usar. De forma similar a la instancia de serversockets se realiza la comunicación y gestión de portales RFID utilizando el protocolo LLRP. La capa de conexión física hereda características y métodos de las clases contenidas en la API 10 Este término es un acrónimo que corresponde a la frase en inglés «Mantenlo simple, estúpido» (KeepIt Simple, Stupid). Para evitar ser tosco, el acrónimo se hace corresponder con otras expresiones tales como «Manténgalo breve y simple» («KeepIt Short and Simple») u otras similares, pero que mantienen la misma idea del principio. Recuperado de http://en.wikipedia.org/wiki/KISS_principle Capítulo 4 -- CHAMAN Página 36
  • 52. API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode ltkjava-1.0.0.6.jar11 que permite la gestión de portales RFID que soporten el protocolo LLRP, de esta forma CHAMAN ofrece métodos abstractos de comunicación con los portales RFID haciendo transparente para el programador la configuración de estos. Dentro de la capa de conexión física también se encuentran los métodos que permiten iniciar la recepción de paquetes provenientes de dispositivos cliente con interfaz Wi- Fi™ que se utilizan en el proceso de entrenamiento o que solicitan el servicio de localización. Lo métodos encargados del procesamiento de las conexiones entre portales RFID, dispositivos móviles con interfaz Wi-Fi™ y los servicios de localización ofrecidos por la API se encuentran inaccesibles al programador, para hacer uso de los servicios que ofrecen los métodos de la capa de conexión física se deben realizar instancias de los métodos de tipo interfaz. La figura 15 muestra el diagrama de clases correspondiente a las clases interfaz del paquete (capa) de conexión física. Figura 4.6 Representación UML de las clases y métodos de tipo interfaz de la clase de conexión física 4.7.1.1 Clase RFIDReaderLLRPConnection En esta clase se implementaron los métodos que permiten establecer comunicación con los lectores RFID utilizando el protocolo de comunicación LLRP. Los métodos de la clase permiten configurar e iniciar el proceso de lectura de eventos captados por los lectores RFID, el método encargado de esto es startReadEvent. De igual forma se ofrece un servicio para detener la lectura de los eventos lanzados en el lector RFID mediante el método stopReadEvent. Ambos métodos retornan datos al servidor que envió los mensajes de inicio o fin de evento (startReadEvent o stopReadEvent) al lector RFID. Ambos métodos retornan al host que ha invocado los métodos objetos serializados de forma tal que pueden ser usados por otros métodos de CHAMAN. La clase contiene un tercer método que regresa la información de un evento sensado por el lector en forma de un mensaje con estructura XML. 11 http://sourceforge.net/projects/llrp-toolkit/ Capítulo 4 -- CHAMAN Página 37