Upload
gabriel-gonzalezserna
View
1.051
Download
17
Embed Size (px)
DESCRIPTION
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. 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 paradeterminar su posición dentro de la misma. Estos sistemas se basan (e incluso sepueden 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 laejecució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 etiquetaRFID 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.
Citation preview
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 resultado la zona en la que se encuentra el cliente
19
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 de tecnologías Wi-Fi™ y Bluetooth
47
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 departamento de ciencias de la computación (CENIDET)
56
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 localización
81
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 zona Laboratorio de Inteligencia Artificial
85
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 zona Aula 3
88
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 Página 1
Capítulo 1 Introducción
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 1 -- Introducción Página 2
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)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 1 -- Introducción Página 3
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 1 -- Introducción Página 4
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 5
Capítulo 2 Marco conceptual
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 6
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 7
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 8
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>
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 9
<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>
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 10
<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:
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 11
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 2 -- Marco conceptual Página 12
Figura 6 Arquitectura de transporte de datos de Bluetooth(http://www.bluetooth.com/Pages/Basics.aspx)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 13
Capítulo 3 Estado del arte
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 14
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 15
La figura 3 muestra en un esquema de capas los elementos y procesos involucrados
en la localización del dispositivo cliente descritos anteriormente.
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
Figura 7- Esquema de capas los elementos y procesos involucrados en la localización del dispositivo
cliente
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 16
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.
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.
Figura 8.- Arquitectura del sistema de localización
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 17
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.
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).
Figura 3.3 .- Modelo de comunicación del sistema
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 18
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.
Figura 9.- Simulación de la aplicación en la cual se ha obtenido
la posición del dispositivo (cubículo 4)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 19
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 20
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 3 -- Estado del arte Página 21
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 22
Capítulo 4 CHAMAN
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 23
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 24
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 25
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.
5El 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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 26
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 27
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 28
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.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 29
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 30
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 31
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 .
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 32
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 33
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.
9 La matrioska o muñeca rusa (ruso: Матрёшка /mʌˈtrʲoʂkə/)
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 34
Figura 4.4 Diagrama Entidad - Relación del esquema del repositorio de datos utilizado por CHAMAN
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 35
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 36
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
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 37
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/
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 38
4.7.1.2 Clase RFIDReaderSMNPConnection
Los métodos de esta clase permiten al programador entablar comunicación con
lectores RFID que permitan ser administrados utilizando el protocolo de red SMNP.
Los métodos contenidos en la clase son similares a los propios de la clase
RFIDReaderLLRPConnection; de igual forma el programador debe crear una instancia
de los métodos de interfaz proporcionando la dirección IP del lector RFID que soporte
el protocolo SMNP. La clase cuenta con métodos que permiten controlar el inicio y fin
de la lectura de eventos en el lector RFID obteniendo de cada una de estas acciones
una cadena “tokenizada” de retorno por parte del lector RFID. La cadena retornada
contiene las especificaciones del evento obtenido por el portal RFID cuyos valores
pueden ser:
En caso de lectura de etiquetas RFID: EPC capturado, fecha del evento y hora
del evento.
En caso de solicitud de inicio de lectura: Fecha y hora de inicio de lectura.
En caso de solicitud de fin de lectura: Fecha y hora de solicitud de lectura
4.7.1.3 Clase WiFiClientConnection
La clase WiFiClienteConnection contiene los métodos que permiten al programador
crear procedimientos que permitan recibir información del contexto de los clientes con
interfaz WiFi™ para determinar su posición dentro de una localidad. Los métodos
permiten la comunicación en dos vías (Full dúplex) entre la aplicación servidora y el
cliente, para ello se debe implementa el método createReceptionSocket que permite
realizar instancias se ServerSockets12 las mismas que permitirán la recepción de
datos por parte de dispositivos móviles, para instanciarlos el programador sólo debe
ingresar como parámetro el número de puerto que se utilizará para recibir la
información de los clientes. El método retorna un objeto que permite acceder
directamente al flujo de datos que llega al puerto.
El método senClientPosition tiene la capacidad de enviar los datos de localización al
cliente, éste establece una comunicación vía protocolo TCP con un cliente
determinado, la identidad del cliente con el cual se desea establecer comunicación se
realiza mediante su dirección IP que debe ser ingresada como parámetro, de igual
forma se debe agregar como parámetro una cadena codificada en formato JSON la
cual contiene los datos de localización del cliente al cual se le notificará su posición.
CHAMAN permite implementar métodos activos de localización de cliente WiFi™, para
ello se implementa el método sedClientinquiry el cual envía una señal para notificar al
cliente que debe enviar la información del contexto de localización en el cual se
encuentra al servidor del cual proviene el mensaje, el método recibe como parámetro
12
http://docs.oracle.com/javase/1.4.2/docs/api/java/net/ServerSocket.html
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 39
la dirección IP del cliente al cual se le debe solicitar el envío de su contexto de
locación.
4.7.2 Capa de traducción de datos
Dentro del paquete que da forma a la capa de traducción se encuentran las clases que
permiten descifrar los datos en crudo obtenidos de los dispositivos utilizados para el
proceso de localización. Dentro de esta capa se encuentran clases que extienden las
funcionalidades de la API google-gson13 que permite, haciendo uso de “clases de tipo
estructura”14 crear instancias de objetos que pueden ser utilizados para su posterior
procesamiento en el proceso de localización. El proceso de traducción permite crear
instancias de objetos de tipo: solicitud de historial de localización por usuario, solicitud
de historia de localización por zona, solicitud de historial de localización de objeto,
paquete de entrenamiento, solicitud de localización de tipo pasivo de cliente móvil con
interfaz Wi-Fi™.
De igual forma que la traducción de formatos JSON a objetos, la capa de traducción
permite obtener el contenido de las etiquetas de formatos XML con un esquema
previamente establecido, esta función se utiliza para mapear los mensajes ROSPEC
enviados por los lectores RFID utilizando el protocolo LLRP. Los métodos de
traducción y extracción de información permiten al programador obtener los datos de
un evento de lectura de una etiqueta RFID a partir del mensaje ROSPEC enviado por
los lectores RFID o antenas autónomas. Las siguientes líneas muestran un fragmento
de un mensaje ROSPEC utilizado para la comunicación entre métodos de CHAMAN y
los dispositivos lectores de etiquetas RFID.
<?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>
<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>
13
http://code.google.com/p/google-gson/downloads/list 14
Clases utilizadas por CHAMAN para crear instancias de objetos a partir de objetos String en formato JSON. Estas clases solo contienen la instancia de tipos de datos y métodos set() y get(), ver el paquete cenidet.api.indoorlocation.eschema.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 40
<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:ROReportTrigger>
<llrp:N>1</llrp:N>
<llrp:TagReportContentSelector>
<llrp:EnableROSpecID>1</llrp:EnableROSpecID>
<llrp:EnableSpecIndex>1</llrp:EnableSpecIndex>
<llrp:EnableInventoryParameterSpecID>1</llrp:EnableInventoryParameterSpecID>
<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>
La figura 16 muestra el diagrama de clases del paquete de traducción de datos. Estas
clases son las encargadas de “descomponer” los objetos recibidos en objetos de tipo
String accesibles por el programador utilizando métodos “get” y “set”.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 41
Figura 4.7 Diagrama de clases correspondiente a la capa de traducción de datos
4.7.2.1 Clase TranslateRawData
La clase TranslateRawData contiene métodos que permiten obtener de forma granular
cada uno de los elementos que se encuentran en el paquete de
entrenamiento/localización enviado por un cliente móvil o un dispositivo lector RFID
para crear la instancia de radio-mapas. El paquete de entrenamiento se encuentra
codificado en formato JSON y contiene información del contexto de locación de un
dispositivo móvil. Los métodos contenidos en la clase TranlateRawData reciben un
objeto tipo String codificado en formato JSON y retorna la instancia de un objeto de
localización según sea el caso del método utilizado. Las opciones de retorno son:
Objeto de tipo trainingRadioMap si la información es enviada por un
dispositivo móvil que evalúa el contexto de señales Wi-Fi™ en el proceso de
creación de radio-mapas de señales Wi-Fi™.
Objeto de tipo locationPackage si la información es enviada por un
dispositivo móvil que solicita el servicio de localización.
Objeto de tipo ROSPEC_Event si la información es enviada por un lector
RFID
4.7.2.2 Clase trainingRadioMap
Esta clase permite crear objetos que contienen información sobre el contexto de
señales Wi-Fi™ que puede percibir un dispositivo cliente en una zona de localización
determinada, mientras se realiza el proceso de entrenamiento y construcción de radio-
mapas. Lo métodos existentes en la clase permiten al programador (y clases de otras
capas de la API) acceder de forma correcta a los datos de entrenamiento enviados por
el dispositivo cliente entrenador utilizando para esto los métodos “get” que retorna el
valor de los atributos del objeto.
4.7.2.3 Clase locationPackage
Esta clase permite crear objetos que contienen información sobre el contexto de
señales Wi-Fi™ que puede percibir un dispositivo cliente en una zona de localización
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 42
determinada en el momento de solicitar activa o proactivamente el servicio de
localización. Los métodos existentes en la clase permiten al programador (y clases de
otras capas de la API) acceder de forma correcta a los datos de entrenamiento
enviados por el dispositivo cliente entrenador utilizando para ellos los métodos “get”
que retorna el valor de los atributos del objeto.
4.7.2.4 Clase ROSPEC_Event
Esta clase permite crear un objeto que contiene la información sobre un evento
serializado en un mensaje ROSPEC enviado por un lector RFID que soporte el
protocolo LLRP. Los métodos “get” de la clase permiten obtener en formato “String” la
información del mensaje ROSPEC para su posterior manipulación por parte del
programador o algún otro método de la API como el motor de localización.
4.7.3 Capa de filtrado de datos
En esta capa se encuentran los métodos encargados de identificar el tipo de
información recibida por los métodos de la capa de conexión física, una vez
identificado el mensaje se traduce por la capa de traducción de datos. Los métodos de
filtrado permiten obtener, según sea el caso, el identificador del portal RFID o de la
antena autónoma, el identificador de un punto de acceso o la sección de radio-mapa
que se debe entrenar con los datos de contexto de señal recibidos. Cabe mencionar
que algunos métodos de filtrado necesitan realizar consultas al repositorio relacional
para comprobar cierta información enviada por parte de los dispositivos utilizados en el
proceso de localización por lo cual algunos métodos de filtrado necesitan recibir un
objeto de tipo conexión con repositorio relacional entre sus parámetros de instancia.
Figura 4.8 Diagrama de clases de la capa de filtrado de datos
+getRFIDReader_DB_Identification(entrada MAC_Address : string) : string
+getAnthena_DB_Identification(entrada RFIDReaderID : string, entrada AnthenaID : string) : string
RFIDIdentification
+getUser_DB_Identification(entrada TAGEPC : string) : string
+getDevice_DB_Identification(entrada MAC_Address : string) : string
+getObject_DB_Identification(entrada TAGEPC : string) : string
PlayersIdentification
+getCell_DB_Identification(entrada X_position : string, entrada Y_postion : string, entrada Floor_number : string) : string
+getQRCode_DB_Identification(entrada QRCodeKey : string) : string
LocationAreaIdentification
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 43
4.7.3.1 Clase LocationAreaIdentification
Los métodos de esta reciben como parámetros Strings que contienen descriptores de
contexto de un tipo de tecnología de localización y en base a un proceso de
evaluación de los datos recibidos retorna la posición del dispositivo cliente quien ha
solicitado el servicio de localización y ha enviado su contexto de señales Wi-Fi™ o el
identificador QRCode correspondiente a la zona en la que se encuentra el dispositivo
que ha escaneado el código.
4.7.3.2 Clase RFIDIdentification
Los métodos de esta clase reciben parámetros obtenidos de los mensajes ROSPEC.
Los métodos retornan la identificación de los actores que se encuentren involucrados
en el proceso de localización basado en tecnología RFID como lo es un lector RFID o
una antena autónoma.
4.7.3.3 Clase PlayersIdentiffication
Los métodos de la clase reciben como parámetro el código numérico de identificación
de un usuario, objeto o dispositivo móvil y retornan el nombre identificador asignado al
dispositivo en el repositorio relacional.
4.7.4 Capa de procesamiento de datos
La capa de procesamiento de datos es en la que se encuentran las clases y métodos
correspondientes al paquete de procesamiento de información para la creación de
instancias de radio-mapas o búsqueda de objetos/usuarios (proceso de localización).
Estos métodos implementan los algoritmos de identificación de patrones utilizados
para llevar a cabo el proceso de localización en interiores según la tecnología utilizada
o el proceso de creación de radio-mapas en la fase de entrenamiento.
Para una disposición más ordenada de los métodos y clases la capa de
procesamiento, ésta se divide en subcapas (que arquitectónicamente pueden ser
concebidas como metapaquetes) que realizan una función específica en el proceso de
localización como: creación de radio-mapas de zonas de localización utilizando el
espectro de propagación Wi-Fi™, creación de radio-mapas de zonas de localización
utilizando el espectro de propagación Bluetooth, localización de objetos o individuos
etiquetados con tags RFID pasivos, localización de usuarios a partir de las paquetes
recibidos que contienen el escalar de potencia de los puntos de acceso Wi-Fi™ o
Bluetooth escaneados en una determinada zona.
Las siguientes subsecciones describen el comportamiento de los métodos y procesos
realizados en las clases contenidas dentro de las capas de entrenamiento y
localización. La figura 9 muestra el diagrama de clases de la capa de procesamiento
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 44
de datos donde se pueden apreciar las clases “motores” utilizadas para el proceso de
localización y el proceso de entrenamiento.
+getIterationNumber(entrada APList : object) : int
+getSortAPList(entrada APList : object) : object
+getMacrolocation(entrada APList| : object, entrada APpxList : object) : object
+getMicrolocation(entrada CandidatesCellsList : object) : object
WiFiIndoorLocationEngine
+getIterationNumber(entrada APList : object) : int
+getSortAPList(entrada APList : object) : object
+getMacrolocation(entrada APList| : object, entrada APpxList : object) : object
+getMicrolocation(entrada CandidatesCellsList : object) : object
BluetoothiIndoorLocationEngine
+setTagPositionToDB(entrada TagEPC : string, entrada AnthenaID : string)
+getCurrentTagPosition(salida currentTagPosition : string)
+getRFIDReaderZone(entrada ReaderID : string) : string
RFIDIndoorLocationEngine
+getZone(entrada QRCodeKey : string) : string
QRCodeIndoorLocationEngine
+setRadioCellData(entrada Cell_DB_ID : string, entrada AP_DB_ID : string, entrada AP_Px : string)
+getAP_DB_ID(entrada AP_MAC_Address : string) : string
RadiomapTrainingEngine
+queryPerZone(entrada ZoneName : string) : object
+queryPerPerson(entrada PersonID : string) : object
IndoorLocationReports
Figura 4.9 Diagrama de clases de la capa de procesamiento de datos
4.7.4.1 Subcapa de entrenamiento
Las clases y métodos contenidos en la capa de entrenamiento permiten crear
instancias de zonas de localización, las cuales en su conjunto forma el “radio-mapa de
señales electromagnéticas” las cuales pueden tener su origen en frecuencias de tipo
Wi-Fi™ o Bluetooth. Las instancias de zonas de localización creadas en el proceso de
entrenamiento son creadas a partir de la información de contexto de señales enviada
por un dispositivo cliente entrenador.
4.7.4.2 Clase RadiomapTrainingEngine
Los métodos de esta clase son los encargados de crear instancias individuales de una
zona de localización entrenada en base a la información enviada desde el dispositivo
cliente. Para realizar este proceso, el método utiliza un objeto que contiene los
atributos de contexto de señal enviados por el cliente, en este objeto se encuentra la
descripción de la zona en la que se encuentra el cliente (campus, edificio, piso, zona y
coordenadas dentro de un mapa) y el listado de los identificadores de señal y sus
magnitudes correspondientes dentro de arreglos de listas (Objeto de tipo ArrayList
perteneciente a la clase java.util). La estructura del objeto utilizado para instanciar la
información enviada por el cliente se muestra en el siguiente recuadro.
String Campus;
String Edificio;
String Piso;
String Zona;
intcoorX;
String coorY;
List<String>MACWiFi = new ArrayList<String>();
List<String>PxWiFi = new ArrayList<String>();
List<String>MACbluetooth = new ArrayList<String>();
List<String>Pxbluetooth = new ArrayList<String>();
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 45
De esta forma los métodos de entrenamiento entrenan en una zona de localización
específica dentro de un radio-mapa a partir de la información recibida, la información
de entrenamiento se almacena permanentemente en el repositorio relacional
mantenido una relación de tipo: zona de localización tiene un punto de acceso con
una potencia determinada en un margen de horario específico. La figura 19(a)
muestra como se encuentran almacenados los datos que componen un radio-mapa
entrenado en el repositorio relacional y en la figura 19(b) la representación gráfica de
los datos de entrenamiento convertidos en un “mapa de calor” representando en tonos
oscuros el lugar donde se encuentra una mejor cobertura de cada punto de acceso, en
los tonos claros las zonas en las que la cobertura es casi nula.
Figura 4.10 (a) radiomapa entrenado vista repositorio relacional, (b) representación gráfica de un radiomapa
entrenado
Una vez completado el proceso de entrenamiento se obtiene de forma relacional en el
repositorio de datos un radio-mapa de señales, en el cual, se basan los métodos de
localización para realizar una estimación de la localización de un individuo u objeto.
4.7.4.3 Subcapa de localización
Los métodos correspondientes a la subcapa de localización contienen la codificación
de los algoritmos utilizados para localizar a un usuario u objeto dentro del área de
localización; implementando tres tipos diferentes de tecnología:
Tecnología de comunicación inalámbrica Wi-Fi™ y Bluetooth.
Tecnología de identificación por radiofrecuencia RFID.
Tecnología de identificación por códigos bidimensionales QRCode.
Los métodos de localización utilizando tecnología Wi-Fi™ y Bluetooth se basan en la
metodología de localización denominada fingerprint, la cual, como se ha mencionado
anteriormente se divide en dos fases: entrenamiento y localización. Las clases y
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 46
métodos contenidos en el paquete de localización le permiten al programador ofrecer
servicios de localización.
Las siguientes secciones describen el funcionamiento de las métodos y algoritmos
utilizados en cada una de las subcapas mencionadas anteriormente, cabe mencionar
que para el correcto funcionamiento de los métodos de localización basados en la
evaluación del contexto de señales inalámbricas y la localización basada en la lectura
de etiquetas RFID o códigos bidimensionales QRCode se debe contar con un
repositorio relacional el cual cumpla con el esquema entidad-relación propuesto en el
desarrollo de esta tesis y se encuentre poblado con datos correspondientes a cada
zona de localización e infraestructura del hardware de localización.
Método de localización utilizando contexto de tecnologías Wi-Fi™ y Bluetooth
Los métodos de localización que utilizan el contexto del espectro electromagnético
(dirección MAC como identificador de dispositivos y potencia en escalar positivo de
decibelios15) de las tecnologías Wi-Fi™ y Bluetooth, implementan dos tipos de
algoritmos de localización, los cuales, le permiten al programador obtener dos niveles
de granularidad diferentes, el primero de ellos se denomina microlocalización, en el
cual, se tiene como zona mínima de localización una celda, el proceso de
microlocalización, retorna el conjunto de celdas candidatas en las que se puede
encontrar el dispositivos que ha solicitado el servicio de localización, al enviar los
datos de contexto de señales Wi-Fi™ y Bluetooth que se encuentran a su alcance. El
segundo nivel de granularidad es proporcionado por el servicio de macrolocalización,
el cual, retorna como respuesta la zona de localización en la que se encuentra el
dispositivos que ha solicitado el servicio de localización, la zona retornada es el
resultado de la evaluación del conjunto de celdas candidatas obtenidas en el proceso
de microlocalización.
El método de localización que se implementó en esta tesis evalúa el contexto de las
señales Wi-Fi™, es decir, realiza una comparación de las muestras de magnitud de
potencia de la señal inalámbrica tomadas por el dispositivo móvil, los datos de lectura
incluyen un identificador único, que corresponde a la dirección MAC del punto de
acceso (BSSID) y la magnitud de potencia que se recibió en el momento y lugar en el
cual se realizó la toma de muestras desde un dispositivo móvil. Los algoritmos de
localización codificados en los métodos de la capa de localización inician la búsqueda
de las celdas candidatas, creando conjuntos de soluciones y realizando operaciones
lógicas sobre ellos como la unión, la intersección y el cálculo de cardinalidad, al final
del proceso de localización se obtiene el conjunto de zonas candidatas en las que
puede encontrarse el dispositivo que ha solicitado el servicio de localización.
15
El decibelio (símbolo dB) es la unidad relativa empleada en acústica, electricidad, telecomunicaciones y otras especialidades para expresar la relación entre dos magnitudes: la magnitud que se estudia y una magnitud de referencia. Con mayor frecuencia se emplea para relacionar magnitudes acústicas, pero también es frecuente encontrar medidas en decibelios de otras magnitudes, por ejemplo las eléctricas o las lumínicas. Recuperado de : http://es.wikipedia.org/wiki/Decibelio
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 47
La figura 20 muestra un modelo gráfico por etapas del proceso de localización,
mediante la evaluación del contexto de señales Wi-Fi™ y Bluetooth. En la primera
etapa, es recomendable contar con una correcta distribución de puntos de acceso
dentro del área donde se prestarán los servicios de localización en interiores, la etapa
dos muestra a un dispositivo cliente, en este caso un dispositivo Smartphone
obteniendo la información de los puntos de acceso y de los dispositivos bluetooth
cercanos, una vez que se tienen la muestra de datos se envía al servidor en formato
JSON. En la etapa tres, el servicio de localización hace uso de los métodos de
CHAMAN y el repositorio relacional para proporcionar el nombre o identificador de la
zona de localización en la cual se encuentra el dispositivo móvil Smartphone.
Figura 4.11 Modelo secuencial del proceso de localización utilizando el contexto de tecnologías Wi-Fi™ y
Bluetooth
En los párrafos anteriores se ha descrito de forma general el proceso de localización
en interiores mediante la evaluación de contexto de señales Wi-Fi™ y Bluetooth, en
las siguientes secciones se describirán los algoritmos utilizados en los procesos de
microlocalización y macrolocalización.
Microlocalización
Basados en la información contenida en el repositorio relacional (instancias de radio-
mapas) los algoritmos de localización codificados en los métodos de microlocalización
permiten retornar la celda o las celdas candidatas en las cuales se encuentra el
dispositivo cliente. Para iniciar el proceso de localización se debe contar con
información de contexto de señales Wi-Fi™ y/o Bluetooth enviadas por un dispositivo
cliente. Esta información debe contener al menos un punto de acceso y la magnitud de
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 48
señal de éste. La microlocalización se define como un proceso iterativo de evaluación
de magnitudes de señales inalámbricas recibidas, comparándolas con magnitudes de
señales almacenadas en el repositorio relacional, estas señales se registraron en el
proceso de entrenamiento. El conjunto de señales y magnitudes enviadas por el
dispositivo cliente es evaluado y ordenado según la magnitud de la señal en orden
ascendente; se realiza la evaluación de identificador y magnitud de la señal con
magnitud menor sobre el repositorio relacional, esta evaluación retorna un conjunto de
celdas en las cuales la señal y magnitud buscadas aparecen, El conjunto resultante es
el conjunto sobre el cual se realizará la nueva iteración utilizando para la segunda
señal con magnitud mayor del conjunto de señales enviadas por el dispositivo cliente.
El número de iteraciones de comparación realizadas depende de la cardinalidad del
conjunto de señales enviadas por el dispositivo cliente. Al finalizar el proceso iterativo
se obtiene el conjunto de celdas candidatas en las cuales se puede localizar el
dispositivo móvil que ha solicitado el servicio de localización. La figura 21 muestra el
proceso iterativo de filtrado y localización de un dispositivo móvil que envía la
información de cuatro señales diferentes, el primer filtrado de celtas retorna un
conjunto de celdas candidatas en las que se puede encontrar el dispositivo, el
segundo filtrado de celdas toma el conjunto sobre el cual se evalúa la segunda señal y
retorna un nuevo conjunto de celdas candidatas que es utilizado por el tercer filtrado
de celdas el cual determina la posible posición del dispositivo cliente en dos celdas
candidatas (Cc3 y Cc4).
Figura 4.12 Proceso de microlocalización
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 49
Macrolocalización
Los métodos contenidos en las clases que definen el proceso de macrolocalización
permiten al programador obtener en base al resultado del proceso de microlocalización
el área de localización de tipo “zona” en la que se encuentra un dispositivo cliente. Los
métodos reciben el conjunto de celdas candidatas en las que puede encontrarse un
dispositivo cliente. Estas son evaluadas y agrupadas en conjuntos según sea la zona a
la cual pertenecen, de esta forma se obtienen diversos conjuntos de zonas candidatas
en las que se puede encontrar el dispositivo cliente, el criterio utilizado para determinar
la zona de localización en la que se encuentra el dispositivo cliente es la cardinalidad
de los conjuntos zonas candidatas; se determina la posición del dispositivo móvil en
aquella zona que se encuentra identificada con el conjunto con mayor cardinalidad de
celdas candidatas. La figura 22 muestra las etapas del proceso de macrolocalización
el cual recibe como entrada un conjunto de celdas candidatas Ccx y proporciona como
salida el área de localización en la cual se encuentra el dispositivo cliente que ha
realizado la solicitud de localización.
Figura 4.13 Proceso de macrolocalización
Localización utilizando contexto de tecnologías RFID o NFC
El proceso de localización en interiores utilizando tecnología RFID o NFC se basa en
la lectura de una etiqueta RFID pasiva por un lector el cual se encuentra asociado a un
área del edificio o instalación de la organización. De esta forma, al ser escaneada una
etiqueta por un lector registrado en el repositorio relacional es posible establecer la
posición del usuario u objeto portador de la etiqueta. Debido a las características
físicas propias de la tecnología RFID el margen de error no es mayor a 1 metro.
Los métodos que formar parte del motor de localización basado en tecnología RFID
utilizan la información enviada por los dispositivos lectores (identificador del lector e
identificador de la etiqueta leída) para determinar la posición del dispositivo cliente u
objeto identificado por una etiqueta RFID. Como precondiciones para el correcto
funcionamiento de estos métodos el repositorio relacional debe contener los registros
de equipos lectores RFID asociados a zonas de localización y códigos de etiquetas
RFID (EPC) asociados a usuarios u objetos, de igual forma, el código obtenido por el
lector al escanear la etiqueta RFID debe existir en el repositorio relacional.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 50
La figura 23 muestra el proceso de localización en interiores utilizando lectores y
etiquetas RFID. La figura describe dos etapas, en la primera, las antenas desplegadas
dentro de las inmediaciones de las instalaciones escanean etiquetas asociadas a
personas y objetos, el código de lectura (EPC) obtenido de cada una de las etiquetas
se utiliza como campo llave para extraer la información asociada a cada uno de estos
del repositorio relacional. Los lectores RFID utilizan mensajes ROSPEC para enviar en
tiempo real información de las etiquetas escaneadas. La etapa dos inicia una vez
recibido el mensaje ROSPEC, éste es filtrado y los datos que lo conforman son
consultados en el repositorio relacional, los métodos del motor de localización RFID
retornan la posición del objeto o usuarios identificado por la etiqueta escaneada cuyo
código identificador (EPC) fue consultado en el repositorio relacional.
Figura 4.14 Proceso de localización utilizando tecnología RFID
Localización utilizando QRCodes
Los métodos del motor de localización basado en el escaneo de códigos QR reciben
como entrada el contenido cifrado dentro de la imagen QRCode, este es consultado en
el repositorio relacional y en caso de encontrar una relación entre contenido de código
y zona esta última es retornada como respuesta del proceso de localización. La figura
24 describe las tres etapas del proceso de localización utilizando códigos QR. En la
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 51
primera de ellas un dispositivo con capacidades de lectura de códigos QR debe
escanear la imagen, mediante la cámara digital del dispositivo, localizado dentro de
una zona del edificio, como precondición para el correcto funcionamiento de los
métodos del motor de localización QRCode, el código escaneado debe existir en el
repositorio relacional y debe estar relacionado con al menos una zona de localización.
La segunda etapa consiste en el envío de la información codificada en el código QR a
un servidor de localización. En la tercera etapa se inicia el proceso de localización
realizando una búsqueda en el repositorio relacional y retorna la zona asociada al
contenido del QRCode Recibido.
Figura 4.15 Proceso de localización utilizando la tecnología QRCode.
4.7.4.4 Capa de conexión a repositorios relacionales
Las clases y los métodos contenidos en el paquete que representa esta clase
extienden las funcionalidades de la API MySQL.JDBC16 la cual permite gestionar
conexiones, realizar consultas, inserciones y alterar el contenido de un repositorio
relacional gestionado por un DBMS17correspondiente a una versión 4.5 o superior de
MySQL. Los métodos de conexión a repositorios relacionales de CHAMAN hacen uso
16
http://dev.mysql.com/doc/refman/5.1/en/connector-j.html 17
Data Base Manager System (sistema administrador de base de datos)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 52
de las funcionalidades de MySQL.JDBC para realizar operaciones de consultas y
modificaciones del contenido de forma semitransparente para el programador que los
utilice, el cual únicamente debe invocar los métodos usando como parámetro un objeto
de tipo conexión (el cual contiene la descripción de la ruta de la base de datos, el
nombre de usuario, contraseña y nombre de la tabla que será afectada) y un objeto de
tipo lista con los parámetros que serán insertados o consultados en el repositorio
relacional.
4.7.4.5 Capa de servicios
La capa de servicios contiene métodos que permiten obtener reportes en tiempo real o
históricos de las ubicaciones de usuarios u objetos dentro de las zonas de localización
mapeadas en el repositorio relacional, de igual forma contiene métodos que invocan a
los procesos de localización en interiores de acuerdo a la tecnología utilizada. Los
métodos pueden recibir como parámetros: identificación del usuario, identificación del
objeto o identificador de zona, en cualquier caso los métodos de reporte retornan la
información solicitada en un objeto de tipo reporte, el cual, contiene listas en las que
se encuentra la información de localización solicitada. La información contenida en el
objeto es fácilmente accesible por medio de métodos “get” los cuales retornan el
contenido del atributo en formato String.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 4 -- CHAMAN Página 53
4.8 Diagrama de clases
La figura 25 muestra en su totalidad el diagrama de clases correspondiente a la API CHAMAN
Figura 4.16 Diagrama de clases de la API CHAMAN
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 54
Capítulo 5 Casos de estudio
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 55
5.1 Introducción
El presente capítulo se muestran las pruebas de asertividad de los algoritmos de
localización en interiores utilizando tecnología Wi-Fi™, Bluetooth y RFID
implementados dentro de la API CHAMAN descrita en el capítulo 4 de este documento
de tesis. Para realizar las pruebas de asertividad se llevaron a cabo 2 desarrollos
paralelos a CHAMAN, uno de ellos es una aplicación servidora (Aplicación del servidor
de localización) desarrollada totalmente en Java SE y ejecutada sobre un servidor
CentOS 5.7, el segundo desarrollo fue una aplicación para dispositivos móviles con
sistema operativo Android® 2.2 o superior, esta última permite al dispositivo obtener el
contexto de señales electromagnéticas de tipo Wi-Fi™ y Bluetooth en el que se
encuentra y enviarlas a la aplicación en el servidor de localización que se encargará,
según sea el caso, de iniciar un entrenamiento de zonas o iniciar el proceso de
localización. Las pruebas de entrenamiento y localización se realizaron en el edificio
del departamento de ciencias de la computación del CENIDET el cual cuenta con dos
plantas, en la planta baja se encuentran los laboratorios y las aulas y en la planta alta
se encuentran las oficinas de profesores y cubículos de estudiantes de doctorado. Las
siguientes secciones muestran el proceso de elaboración de pruebas como también
los resultados obtenidos de ellas.
5.2 Caso de estudio 1: Localización en interiores utilizando
contexto de tecnologías Wi-Fi™ y Bluetooth
El primer caso de estudio se realizó sobre la efectividad del proceso de localización en
interiores evaluando los espectros y magnitudes de señales de tipo Wi-Fi™ y
Bluetooth. Para realizar las pruebas se contó con un arreglo de 7 puntos de acceso
distribuidos de forma aleatoria en el edificio, el sujeto de pruebas y dispositivo móvil
con el cual se realizaron las pruebas de localización fue un teléfono móvil HTC Wildfire
S con sistema operativo Android® 2.3 el cual utilizaba uno de los puntos de acceso del
edificio para establecer comunicación con el servidor de localización.
5.2.1 Descripción del escenario
Como ya se describió y discutió en el capítulo 3 (Estado del arte), existen diversos
métodos de localización en interiores, cada uno de ellos con sus “pros y contras” y
cada uno de ellos con un resultado diferente según el escenario de localización, a
partir de experimentación con tecnología base implementada para localizar a un
usuario u objeto, al tipo de hardware utilizado para llevar a cabo el proceso de
localización, y al análisis de factibilidad para uso del algoritmo de localización en
diversos escenarios, se llegó a la conclusión de implementar un algoritmo basado en
el método de huella de señal (fingerprint-based) , este método se desarrolla en dos
etapas para poder llevar a cabo el proceso de localización. La primera de las etapas
se conoce como fase de entrenamiento o fase Off-line, en ella es necesario realizar un
proceso de mapeo virtual de las señales y sus magnitudes en cada uno de los puntos
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 56
del área (instalación o edificio) en donde se ofrecerá el servicio de localización, la
información capturada se almacena en un repositorio relacional, las relaciones entre
las zonas reales y el mapeo virtual de las magnitudes de señal permite crear un mapa
físico del área donde se prestará el servicio de localización, que a su vez se relaciona
un mapa virtual en el cual se refleja la magnitud de potencia o “huella de potencia” de
cada uno de los dispositivos inalámbricos de los cuales se recibió señal. La segunda
etapa es el proceso de localización en sí mismo, el proceso se inicia al recibir un
vector con identificadores de puntos de acceso y un atributo de potencia de señal, el
cual, corresponde a alguna coordenada física dentro del área donde se presta el
servicio de localización, el conjunto de puntos de acceso y sus correspondientes
potencias son los datos de entrada para el algoritmo de localización, el cual, realiza
una búsqueda e inferencia de posibles zonas candidatas, el proceso compara los
datos de entrada del algoritmo con los datos almacenados en el repositorio relacional,
para obtener el área en donde se encuentra el usuario u objeto que ha enviado los
datos de puntos de acceso y potencia.
El escenario en el cual se realizaron las pruebas de efectividad del algoritmo de
localización fue el edificio del departamento de ciencias computacionales, que se
encuentra en el campus “Cerritus” del Centro Nacional de Investigación y Desarrollo
Tecnológico CENIDET (coordenadas longitud: 18° 52' 35.91”, latitud: 99° 13' 10.58") el
cual cuenta con dos plantas, en la planta baja se encuentran tres aulas, dos sanitarios,
un área de servicio técnico y tres laboratorios. En la segunda planta se distribuyen diez
y seis oficinas en las cuales se encuentran los profesores. La figura 26 muestra en
forma de mapa la distribución de espacios arquitectónicos de la planta baja del edificio
del departamento de ciencias computacionales del CENIDET.
Figura 5.1 Mapa de distribución arquitectónica de la planta baja del edificio del departamento de ciencias de
la computación (CENIDET)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 57
5.2.2 Entrenamiento
En la fase de entrenamiento se construye el mapa de señales del área en donde se
prestará el servicio de localización, para realizar el entrenamiento se requiere
información del área en metros cuadrados del edificio, la ubicación de los puntos de
acceso por piso, la cantidad de materiales y su grado de atenuación que debe
atravesar una onda de propagación de señal Wi-Fi™ o Bluetooth, es decir, la magnitud
de cada una de las señales. La evaluación del escenario de localización determinará el
tamaño de la representación virtual de señales sobre el área donde se prestará el
servicio de localización.
Como se ha mencionado en líneas anteriores, la fase de entrenamiento tiene como
resultado una representación relacional entre un área geográfica/arquitectónica
específica y las magnitudes de potencia de cada uno de los puntos de acceso tanto
Wi-Fi o Bluetooth, para almacenar de manera persistente estas relaciones se utiliza un
repositorio relacional (Capítulo 4), el proceso de población de datos y relaciones se
deja a elección del usuario, para fines de pruebas y evaluación como parte
complementaria al proyecto de tesis, se realizó el desarrollo de una aplicación para
dispositivos móviles con sistema operativo Android® que se conecta con el repositorio
relacional para crear las relaciones entre área y magnitudes de potencia. En las
siguientes secciones se describirá el proceso realizado para la creación de un mapa
de relaciones área-potencia y las consideraciones tomadas para su creación.
5.2.2.1 Implementación del método de localización fingerprint
Como ya se ha descrito anteriormente los métodos de localización en interiores
basados en huellas de potencia (fingerprint-based) necesitan un “previo conocimiento”
de la distribución de las potencias de puntos de acceso dentro del área de localización
para llevar a cabo satisfactoriamente el proceso de localización. En esta tesis
proponemos el uso de un repositorio relacional (capítulo 4) en el cual se almacenan
las relaciones entre áreas y las potencias de cada uno de los puntos de acceso dentro
de ellas.
5.2.2.2 Diseño de un “grid” virtual sobre el área de localización
Pruebas preliminares dieron a conocer que el incremento o decremento de magnitud
de potencia dentro de una misma área de localización puede variar de forma
significativa con respecto a la distancia y posición en la que se encuentre el dispositivo
de sensado del medio18 con respecto al punto de acceso, como se muestra en la tabla
1. En base a los resultados de pruebas e implementando la fórmula que describe la
relación de pérdida de potencia en espacios libres (FSL por sus siglas en inglés) como
18
Dispositivo encargado de recolectar los datos de contexto de señal (identificador de punto de acceso y magnitud de potencia correspondiente) en un punto geográfico o distribución arquitectónica determinada
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 58
se muestra en la fórmula Eq1 donde d es la distancia con respecto al punto de acceso
y f la frecuencia de propagación de la onda. Se propuso que el área mínima de
localización (celda) debería cubrir aproximadamente dos metros cuadrados, en esta
medida se considera el incremento y decremento de potencia según la distancia con
respecto al punto de acceso y la posible atenuación de ± 4 db por contaminación
electromagnética del medio (tomando la contaminación como una constante con
respecto al tiempo).
Muestra Punto de acceso Distancia en metros con respecto a punto de
acceso Potencia
(db)
1 00:13:46:70:68:d6 13 77 2 00:13:46:70:68:d6 15 81 3 00:13:46:70:68:d6 16 83 4 00:13:46:70:68:d6 17 85
Tabla 3 Tabla de variación de potencia con respecto a la distancia de un punto de acceso determinado
Ecuación para el calculo de perdida de potencia en espacios libres basada en el principio de
Huygens19 donde d es la distancia en metros y f la frecuencia en Hz
En base a la información anterior se dividió la superficies del área de localización
“Planta baja del edificio del departamento de ciencias computacionales” en zonas de
localización según la definición presentada en el capítulo 4. Las zonas se dividieron en
celdas de localización con una superficie de 2 metros cuadrados cada una, formado
así una cuadricula o “grid” virtual sobre el área de localización. La distribución de
zonas y celdas correspondientes a la planta baja del edificio del departamento de
ciencias computacionales del CENIDET se describen en la figura 4, en la cual, cada
pequeño rectángulo de color representa una celda de localización y el conjunto de
celdas de localización de un mismo color limitan el área comprendida por una zona de
localización determinada. La nomenclatura de las celdas corresponde a la relación
entre el nombre del segmento del eje al que corresponde la coordenada en la cual se
encuentra la celda, por ejemplo 5A.
19
El principio de Huygens es un método de análisis aplicado a los problemas de propagación de ondas. Afirma que todo punto de un frente de onda inicial puede considerarse como una fuente de ondas esféricas secundarias que se extienden en todas las direcciones con la misma velocidad, frecuencia y longitud de onda que el frente de onda del que proceden. http://en.wikipedia.org/wiki/Huygens%E2%80%93Fresnel_principle Recuperado el 19 de Febrero del 2012
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 59
Coordenada X
12 11 10 9 8 7 6 5 4 3 2 1
Nombre de la zona de localización Símbolo / color
CENIDET.Cerritus.DCC.Aula_1
CENIDET.Cerritus.DCC.Aula_2
CENIDET.Cerritus.DCC.Aula_3
CENIDET.Cerritus.DCC.Laboratorio_Sistemas_Distribuidos
CENIDET.Cerritus.DCC.Laboratorio_Ingenieria_de_software
CENIDET.Cerritus.DCC.Laboratirio_Inteligencia_Artificial
CENIDET.Cerritus.DCC.Soporte_tecnico
CENIDET.Cerritus.DCC.Sanitarios
CENIDET.Cerritus.DCC.Escaleras_planta_baja
CENIDET.Cerritus.DCC.Entrada_al_edificio
CENIDET.Cerritus.DCC.TragaLuz
A
B
A
C
D
E
F
G
H
I
J
K
Co
or
de
na
da
Y
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 60
5.2.2.3 Creación de “radiomapa” de áreas de localización
El proceso inmediato una vez obtenida la distribución virtual de áreas de localización
es la población de datos y relaciones de potencia-zona de localización, a este proceso
de le llama entrenamiento de radiomapa. El radiomapa de cada zona de localización
es la parte fundamental del proceso de localización, es por ello que se deben tomar
ciertas consideraciones al crearlo, todas ellas con respecto a la variación de señal
recibida en un solo punto. La simulación y análisis de un escenario real de localización
arrojaron resultados significativos en el incremento o decremento de la magnitud de
potencia, los atributos evaluados fueron contexto temporal y posición de la toma de
muestra con respecto al punto de acceso. Cabe mencionar que la instancia de
evaluación que aquí se describe tiene como objetivo la localización de dispositivos
móviles con interfaz Wi-Fi™ dentro de un edificio, los dispositivos móviles utilizados
para la evaluación no definen una posición obligatoria (pero si recomendada) para su
uso, razón por la cual, se debe considerar el portador del dispositivo móvil como un
objeto más que puede atenuar la onda de propagación de señal preveniente desde los
puntos de acceso.
El cuerpo humano y sus múltiples variables físicas como peso, masa, índice de grasa
y masa corporal, cantidad de agua y altura representan atributos propios de todos los
portadores de dispositivos móviles y sus magnitudes son tan diversas como cada
usuario de dispositivos móviles, la estrategia implementada para asegurar una mejor
muestra de huella de señal entiende a las siguientes restricciones:
El usuario deberá sujetar el dispositivo móvil como se le indica en el manual de
usuario, respetando la posición de los dedos sobre el dispositivo para evitar en
lo posible atenuación de la interfaz física Wi-Fi® o Bluetooth.
La altura con respecto al suelo a la cual se debe realizar el proceso de
muestras no debe estar fuera del intervalo de 1.10 metros a 1.30 metros.
La toma de muestras por celda se deberá realizar en el centro de la misma y se
deberán realizar 4 instancias de muestras, cada una de ellas girando el cuerpo
y el dispositivo móvil a un punto cardinal diferente.
La tabla 2 muestra la diferencia entre tomas de muestras realizadas en una misma
celda en el proceso de entrenamiento del radio-mapa.
Tabla 4 Muestra del repositorio relacional donde se puede apreciar la variación del campo potencia en un
mismo punto geográfico/arquitectónico
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 61
El tráfico de paquetes de datos y solicitudes de acceso al medio en redes
inalámbricas, varía según la hora en la cual se solicite el servicio, este tipo de
escenarios afecta directamente a la magnitud de potencia de una onda de propagación
en un punto determinado, en diferentes intervalos de tiempo se puede dar el caso en
el cual durante las horas en las que se ofrece el servicio de localización la tasa de
incremento o decremento en la magnitud de potencia de los puntos de acceso en
zonas determinadas no sobrepase un valor de ± 4 decibelios, lo cual, no implica un
cambio radical en el proceso de mapeo, sin embargo, se puede dar el caso en el que
las solicitudes de acceso al medio o la gran afluencia de paquetes pueda llegar a
cambiar el atributo de magnitud de potencia en un punto determinado en más de 15
decibelios. Es por esta razón que se realizó el proceso de entrenamiento en tres
intervalos diferentes de tiempo, cada entrenamiento se realizó en la hora más
significativa de cada intervalo, cada intervalo tiene una duración de 8 horas.
Como se ha mencionado en secciones anteriores el proceso de evaluación
corresponde al proceso de localización en interiores de dispositivos móviles portados
por un individuo. El proceso de entrenamiento debe ser realizado con una interfaz Wi-
Fi™ o Bluetooth con características similares a las que portaran los dispositivos que se
pretender localizar.
De manera particular, en este caso de estudio, se utilizaron dispositivos móviles HTC,
el dispositivo utilizado para el proceso de entrenamiento fue una unidad HTC®
Wildfire S (ver especificaciones de hardware en la sección de Anexos 7.2
Especificaciones técnicas ). Para automatizar el proceso de entrenamiento se
desarrolló una aplicación cliente que permite la comunicación con un servidor de
localización, el cual, implementa un conjunto de programas que permiten ofrecer un
servicio de localización en interiores. La aplicación fue desarrollada para plataformas
Android® en sus versiones 2.1 o posteriores. La aplicación inicia al indicarle la
dirección IP o el nombre del dominio en el cual se encuentran el servidor de
localización y el repositorio relacional. La aplicación recibe un paquete en formato
JSON20 el cual contiene el conjunto de catálogos de áreas de localización, estos datos
son mostrados en pantalla y es deber del agenten entrenador seleccionar el área en la
que se encuentra, una vez seleccionada el área se inicia el proceso de escaneo del
contexto de señales inalámbricas, por un periodo de 3 segundos, los datos obtenidos
se convierten a formato JSON y son enviados al repositorio relacional en el cual se
crean instancias de áreas de localización entrenadas. La figura 27 muestra las
pantallas de la aplicación móvil en orden de aparición en el proceso de entrenamiento,
en una secuencia de imágenes de izquierda a derecha, se muestra el proceso en el
cual el agente entrenador podrá seleccionar el edificio, zona y celdas en las que se
encuentra para luego iniciar el proceso de escaneo del contexto y posteriormente
enviar los datos al repositorio relacional.
20
JSON, acrónimo de JavaScript ObjectNotation, 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 el 7 de septiembre del 2011. http://es.wikipedia.org/wiki/JSON
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 62
Figura 5.2 Secuencia de comunicación de la aplicación cliente con el repositorio relacional en fase de
entrenamiento de radiomapa
Una vez terminado el proceso de entrenamiento se tiene como resultado un radio
mapa entrenado que le permitirá a los algoritmos de localización determinar la posición
de un usuario u objeto según el contexto de señal que perciba en un punto
determinado.
La figura 28 muestra en (a) el contenido de un radio-mapa entrenado en la zona
llamada “Area_traga_luz” en la cual, se muestra en forma de tablas relacionadas la
magnitud de potencia de un punto de acceso determinado en una celda que
corresponde a un área determinada en un piso del edificio , en (b) se muestra una
representación gráfica de la dispersión de la señal de tres puntos de acceso, en la
planta baja de edificio, el degradado de colores muestra la magnitud de las señales de
cada punto de acceso.
Figura 5.3 Muestra de celdas entrenadas en el repositorio relacional (a) y representación gráfica de un
radiomapa entrenado (b)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 63
5.3 Localización en interiores en un medio no controlado
Una vez entrenado el radiomapa es posible inferir la ubicación de un usuario u objeto
en base al contexto de señal que lo rodea. Como se mencionó en el capítulo cuatro en
la sección métodos de localización, el algoritmo de localización propuesto consta de 2
niveles de granularidad llamados Microlocalización y Macrolocalización, en el primero
de ellos el algoritmo de localización permite inferir el conjunto de celdas
(inmediatamente vecinas entre ellas) en las que puede encontrarse la entidad que
solicitó el servicio de localización. El nivel de Macrolocalización determina la zona en
la que se encuentra la entidad que solicitó el servicio de localización.
El handset utilizado para el proceso de localización en esta instancia de evaluación del
algoritmo es una unidad HtcWildfire S (ver descripción en la sección de anexos) que
utiliza una aplicación diseñada para escanear el contexto de señales, encapsular la
información en formato JSON y enviarla al servidor de localización utilizando una
conexión TCP. El proceso de solicitud de localización se realizó siguiendo las mismas
reglas del proceso de entrenamiento prestando especial atención a la forma en la que
se sujeta el dispositivo móvil y su altura con respecto al suelo.
5.3.1 Microlocalización
El proceso de Microlocalización se evaluó con una batería de 70 muestras
correspondientes a la evaluación del proceso en 7 celdas diferentes seleccionadas de
forma aleatoria, en la Figura 29 muestra dentro de un mapa del edificio del
departamento de ciencias computacionales en el cual las figuras rectangulares rojas
marcan las celdas donde se llevó a cabo la solicitud de localización.
Cabe mencionar que todas y cada una de las tomas de muestras descritas en las
siguientes secciones nombradas con la unión de las coordenadas fueron realizadas
por la misma persona asegurando así solo un índice no variable de atenuación por
masa corporal. Las iteraciones del experimento se realizaron repitiendo la altura y
posición del dispositivo móvil cliente en cada una de ellas. El dispositivo móvil siempre
fue el mismo para cada una de las muestras y la disposición de la mano sobre el se
conservó en todos los casos.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 64
Figura 5.4 Celdas evaluadas
Las siguientes tablas muestra los resultados obtenidos en el proceso de evaluación de
cada una de las celdas seleccionadas, los números que aparecen en las columnas
correspondientes al filtrado corresponden al identificador de celda en el repositorio
relacional (ver relaciones en la sección de anexos), al final de cada celda se muestra
un mapa en el cual se señala con una figura de color rojo el punto de evaluación y con
figuras de color naranja los puntos resultantes en el proceso de localización.
Celda J10
La celda J10 se encuentra localizada en la zona de laboratorio de sistemas
distribuidos en el primer piso del edificio del departamento de ciencias
computacionales, se encuentra delimitada por paredes de 2.80 metros compuestas de
hojas de madera compresa y marcos de aluminio, el punto de acceso más cercano es
el localizado en el área de traga luz situado a 2.6 metros sobre el nivel del suelo dentro
de un hexágono de concreto. El centro de la zona del laboratorio de sistemas
distribuidos tiene una separación lineal de 15 metros de línea de vista con respecto a
la localización del punto de acceso más cercano.
La siguiente tabla muestra los resultados de las tomas de muestra realizadas en la
celda J10.
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:50:fc:fc:67:4d : 81
00:02:6f:4e:19:e1 : 87 00:02:72:42:d3:cb :89 00:25:68:e1:28:f3 : 28
∞ 2 00:50:fc:fc:67:4d :81
00:02:6f:4e:19:e1 :87 00:02:72:42:d3:cb :89 00:25:68:e1:28:f3 :28
∞ 3 00:50:fc:fc:67:4d : 73
00:26:5a:09:d4:29 :76 [1, 6, 9, 52, 50, 76, 103, 114,
[103, 116, 125] [125] 4 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 65
00:02:6f:4e:19:e1 : 80 00:02:72:42:d3:cb :93 00:25:68:e1:28:f3 : 32
116, 125, 108, 4, 108, 49]
4 00:50:fc:fc:67:4d : 73 00:26:5a:09:d4:29 :76 00:02:6f:4e:19:e1 : 80 00:02:72:42:d3:cb :93 00:25:68:e1:28:f3 : 32
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125, 103,]
[125] 4 metros
5 00:50:fc:fc:67:4d : 75 00:25:68:e1:28:f3 : 37 00:26:5a:09:d4:29 :74 00:50:fc:fc:67:4d : 78 00:02:6f:4e:19:e1 : 81 00:02:72:42:d3:cb :94 00:25:68:e1:28:f3 : 37
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108]
[103, 116, 125, 103, 116, 125, 103, 116, 125]
[125, 103, 116]
2 metros
6 00:50:fc:fc:67:4d : 75 00:25:68:e1:28:f3 : 37 00:26:5a:09:d4:29 :74 00:50:fc:fc:67:4d : 78 00:02:6f:4e:19:e1 : 81 00:02:72:42:d3:cb :94 00:25:68:e1:28:f3 : 37
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125, 103, 116, 125, 103, 116, 125]
[116, 125, 103, 116]
2 metros
7 00:50:fc:fc:67:4d : 78 00:25:68:e1:28:f3 : 37 00:26:5a:09:d4:29 :75 00:02:6f:4e:19:e1 : 89 00:25:68:e1:28:f3 : 31
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125]
[103, 116, 125] 2 metros
8 00:26:5a:09:d4:29 :77 00:02:6f:4e:19:e1 : 80 00:50:fc:fc:67:4d : 83 00:25:68:e1:28:f3 : 35
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125]
[103, 116, 125] 2 metros
9 00:26:5a:09:d4:29 :77 00:02:6f:4e:19:e1 : 80 00:50:fc:fc:67:4d : 83 00:25:68:e1:28:f3 : 35
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125]
[103, 116, 125]
2 metros
10 00:50:fc:fc:67:4d : 73 00:26:5a:09:d4:29 :76 00:02:6f:4e:19:e1 : 80 00:02:72:42:d3:cb :93 00:25:68:e1:28:f3 : 32
[1, 6, 9, 52, 50, 76, 103, 114,
116, 125, 108, 4]
[103, 116, 125]
[103, 116, 125]
2 metros
Tabla 4 Resultados de evaluación de ubicación en la celda J10
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
2.4444444 metros 100 % 100% Tabla 5 Resumen de resultados de evaluación de la celda J10
La figura 30 muestra el conjunto de celdas candidatas obtenidas a partir de la
implementación del algoritmo, el punto rojo muestra la posición en la cual se realizó la
solicitud de localización y los puntos de color naranja muestran las celdas candidatas
obtenidas a partir del algoritmo de localización. Como se puede apreciar, las celdas
resultantes no se encuentran a mayor distancia que 3 celdas de separación del
epicentro de la lectura. La presencia de celdas candidatas en el área de localización
vecina se presentaron debido a la proximidad entre las celdas candidatas y la celda en
la que se solicitó el proceso de localización.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 66
Figura 5.5 celdas candidatas resultantes al implementar el algoritmo de localización en la celda J10
Celda E1
La celda E1 pertenece a la zona de localización área de entrada al edificio en la primer
planta del edificio del departamento de ciencias computacionales, el punto de acceso
más cercano se encuentra en la zona vecina área de tragaluz a 2.6 metros sobre el
nivel del suelo, el área se encuentra rodeada de paredes de concreto y una escalera
del mismo material utilizada para acceder a, o descender de la segunda planta del
edificio.
La siguiente tabla muestra el resultado de la evaluación del algoritmo de localización
en la celda E1. A partir de la primer iteración en la cuarta columna se puede apreciar
la celtas resultantes y su aparición en la mayoría de los resultados de las iteraciones,
esto se debe a que la variación de las magnitudes de señal en esos puntos son
similares
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:6f:4e:19:e1 : 72
00:26:5a:09:d4:29 :75 00:1f:1f:21:ad:a5 : 88 00:02:72:42:d3:cb :95 00:50:fc:fc:67:4d : 94 00:25:68:e1:28:f3 : 68
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67, 3]
3.6 metros
2 00:02:6f:4e:19:e1 : 72 00:26:5a:09:d4:29 :75 00:1f:1f:21:ad:a5 : 88 00:02:72:42:d3:cb :95 00:50:fc:fc:67:4d : 94 00:25:68:e1:28:f3 : 68
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104,
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67]
3.6 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 67
113, 126, 127, 106, 107, 2, 3]
3 00:02:6f:4e:19:e1 : 74 00:26:5a:09:d4:29 :76 00:1f:1f:21:ad:a5 : 92 00:25:68:e1:28:f3 : 62
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67]
3.6 metros
4 00:02:6f:4e:19:e1 : 77 00:26:5a:09:d4:29 :78 00:13:46:70:68:d6 :90 00:1f:1f:21:ad:a5 : 91 00:02:72:42:d3:cb :90 00:25:68:e1:28:f3 : 62
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67,]
3.6 metros
5 00:02:6f:4e:19:e1 : 69 00:26:5a:09:d4:29 :76 00:13:46:70:68:d6 :92 00:1f:1f:21:ad:a5 : 88 00:26:5a:1a:10:95 :94 00:25:68:e1:28:f3 : 71
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67,]
3.6 metros
6 00:02:6f:4e:19:e1 : 74 00:26:5a:09:d4:29 :75 00:1f:1f:21:ad:a5 : 89 00:25:68:e1:28:f3 : 69
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67]
3.6 metros
7 00:02:6f:4e:19:e1 : 72 00:26:5a:09:d4:29 :72 00:1f:1f:21:ad:a5 : 88 00:02:72:42:d3:cb :93 00:25:68:e1:28:f3 : 71
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 30, 5, 7, 8]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67] 3.6 metros
8 00:26:5a:09:d4:29 :72 00:02:6f:4e:19:e1 : 75 00:1f:1f:21:ad:a5 : 84 00:19:5b:2c:12:c1 :94 00:13:46:70:68:d6 :95 00:25:68:e1:28:f3 : 62
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67] 3.6 metros
9 00:26:5a:09:d4:29 :72 00:02:6f:4e:19:e1 : 75 00:1f:1f:21:ad:a5 : 84 00:19:5b:2c:12:c1 :94 00:13:46:70:68:d6 :95 00:25:68:e1:28:f3 : 62
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127,
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67] 3.6 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 68
106, 107, 2, 3]
10 00:02:6f:4e:19:e1 : 66 00:26:5a:09:d4:29 :73 00:1f:1f:21:ad:a5 : 89 00:13:46:70:68:d6 :91 00:50:fc:fc:67:4d : 97 00:25:68:e1:28:f3 : 63
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[38, 39, 40, 64, 67] 3.6 metros
Tabla 6 Resultados de evaluación de la celda E1
Tabla 7 Resumen de resultados de evaluación de ubicación en la celda E1
La figura 31 muestra las celdas en color naranja las celdas candidatas obtenidas a
partir de la implementación del algoritmo de localización en la celda E1. En la imagen
se puede apreciar una relación de aparición de celdas candidatas sobre una misma
fila en dirección a la localización del punto de acceso. Esto se debe a que no se
encuentra algún obstáculo arquitectónico entre las celdas de la fila E y el foco de la
señal electromagnética más intensa en el punto de solicitud de servicio de localización.
Cabe mencionar que de las 10 muestras solicitadas, solo en dos ocasiones el
dispositivo cliente se encontraba frente al foco de la señal, en el resto de las
iteraciones el dispositivo fue atenuado por el cuerpo del usuario cuando este se
encontraba de espaldas a la fuente o forma ortogonal a ella.
Figura 5.6 celdas resultantes al implementar el algoritmo de localización en la celda E1
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
3.6 metros 100 % 0%
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 69
Celda 7H
La celda 7H se encuentra en el límite entre las zonas área de tragaluz y el laboratorio
de inteligencia artificial, la zona de localización se encuentra en el centro
geográfico/arquitectónico del edificio de ciencias computacionales y con un punto de
acceso dentro de ella situado a 2.6 metros de altura con respecto al suelo.
Los datos de la siguiente tabla fueron obtenidos a partir de la solicitud de localización
realizado en la celda a la que corresponden las coordenadas H7. El experimento se
realizó bajo las mismas condiciones de observación por parte del cliente, sin embargo,
el tráfico de entidades atenuadoras de señales (personas y paquetes desde equipos
portátiles a los puntos de acceso) se incrementó durante la toma de muestras. Se
decidió conservar los resultados a continuación mostrados por la importancia en el
proceso de localización en un medio con tráfico de objetos atenuadores de señal. La
toma de muestras duró 10 minutos, la hora de inicio de toma de muestras fue las 3:08
pm.
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:6f:4e:19:e1 : 66
00:26:5a:09:d4:29 :72 00:02:72:42:d3:cb :89 00:50:fc:fc:67:4d : 91 00:25:68:e1:28:f3 : 48
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113, 3]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92]
4.14 metros
2 00:02:6f:4e:19:e1 : 53 00:26:5a:09:d4:29 :63 00:50:fc:fc:67:4d : 89 00:1f:b3:25:87:b1 :95 00:25:68:e1:28:f3 : 53
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113, 3, 5, 56, 54, 53, 65, 67, 68, 79, 78, 77, 89, 90]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.44 metros
3 00:02:6f:4e:19:e1 : 52 00:26:5a:09:d4:29 :70 00:1f:b3:25:87:b1 :90 00:50:fc:fc:67:4d : 91 00:02:72:42:d3:cb :92 00:1f:1f:21:ad:a5 : 94 00:25:68:e1:28:f3 : 50
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113, 3, 5]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.44 metros
4 00:02:6f:4e:19:e1 : 53 00:26:5a:09:d4:29 :69 00:50:fc:fc:67:4d : 90 00:1f:1f:21:ad:a5 : 88 00:25:68:e1:28:f3 : 61
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.44 metros
5 00:02:6f:4e:19:e1 : 55 00:26:5a:09:d4:29 :68 00:02:72:42:d3:cb :94 00:1f:1f:21:ad:a5 : 94
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80,
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92,
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.44 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 70
00:25:68:e1:28:f3 : 55 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
101, 102, 104, 113]
6 00:02:6f:4e:19:e1 : 59 00:26:5a:09:d4:29 :69 00:1f:1f:21:ad:a5 : 91 00:50:fc:fc:67:4d : 88 00:02:72:42:d3:cb :93 00:25:68:e1:28:f3 : 57
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.44 metros
7 00:02:6f:4e:19:e1 : 48 00:26:5a:09:d4:29 :67 00:1f:1f:21:ad:a5 : 90 00:1f:b3:25:87:b1 :93 00:02:72:42:d3:cb :93 00:50:fc:fc:67:4d : 89 00:25:68:e1:28:f3 : 50
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92]
4.14 metros
8 00:02:6f:4e:19:e1 : 56 00:26:5a:09:d4:29 :76 00:02:72:42:d3:cb :90 00:25:68:e1:28:f3 : 49
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.14 metros
9 00:26:5a:09:d4:29 :76 00:02:72:42:d3:cb :90 00:02:6f:4e:19:e1 : 54 00:26:5a:09:d4:29 :68 00:25:68:e1:28:f3 : 61
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104, 113]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92, 38, 39, 40]
4.40 metros
10 00:02:6f:4e:19:e1 : 48 00:26:5a:09:d4:29 :67 00:1f:1f:21:ad:a5 : 90 00:1f:b3:25:87:b1 :93 00:02:72:42:d3:cb :93 00:50:fc:fc:67:4d : 89 00:25:68:e1:28:f3 : 50
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
[38, 39, 40, 5, 7, 8, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 78, 77, 90, 91, 92, 101, 102, 104]
[56, 55, 54, 53, 64, 65, 67, 68, 78, 77, 90, 91, 92]
4.14 metros
Tabla 6 Resultados de evaluación de la celda 7H
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
4.33 metros 100 % 0% Tabla 8 Resumen de resultados de evaluación de la celda 7H
La figura 32 muestra el resultado obtenido a partir de la toma de muestras en un lugar
de tráfico de objetos que pueden atenuar señales electromagnéticas en una hora pico.
Si bien se esperaba que por proximidad a los puntos de acceso los resultado
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 71
obtenidos en el punto de muestra fuesen los más acertados en la toma de muestras, el
tráfico de objetos dispersó el espectro de celdas candidatas de forma tal que las
coordenadas obtenidas son las mostradas en siguiente figura.
Figura 5.7 Resultado de implementar el algoritmo de localización en la celda H7
Celda 9D
La celda 9D se encuentra flanqueada en dos de sus lados por muros que limitan la
zona de localización Aula 3, el ángulo descrito por la unión de ambas paredes, según
sea la posición del cliente puede absorber o reflejar parte de las ondas
electromagnéticas. La siguiente tabla muestra los resultados obtenidos en la solicitud
del proceso de localización en la celda 9D.
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:6f:4e:19:e1 : 56
00:26:5a:09:d4:29 :78 00:02:72:42:d3:cb :88 00:25:68:e1:28:f3 : 50
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[ 57, 56, 54, ] 3.3333 metros
2 00:02:6f:4e:19:e1 : 63 00:26:5a:09:d4:29 :73 00:02:72:42:d3:cb :84 00:1f:b3:25:87:b1 :92 00:25:68:e1:28:f3 : 46
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[57, 56, 54, 91] 4.5 metros
3 00:02:6f:4e:19:e1 : 70 00:26:5a:09:d4:29 :72 00:02:72:42:d3:cb :76 00:25:68:e1:28:f3 : 44
[[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92,
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106]
[57, 56, 54, 91] 4.5 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 72
101, 102, 104, 113, 126, 127, 106, 107]
4 00:02:6f:4e:19:e1 : 70 00:26:5a:09:d4:29 :75 00:02:72:42:d3:cb :80 00:25:68:e1:28:f3 : 60
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107]
[[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3, 38, 39, 40]
[57, 56, 54, 91] 4.5 metros
5 00:02:6f:4e:19:e1 : 74 00:26:5a:09:d4:29 :85 00:02:72:42:d3:cb :83 00:50:fc:fc:67:4d : 91 00:25:68:e1:28:f3 : 47
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[57, 56, 54, 91] 4.5 metros
6 00:02:6f:4e:19:e1 : 75 00:26:5a:09:d4:29 :76 00:02:72:42:d3:cb :89 00:50:fc:fc:67:4d : 94 00:25:68:e1:28:f3 : 55
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[57, 56, 54, 91] 4.5 metros
7 00:26:5a:09:d4:29 :75 00:02:6f:4e:19:e1 : 76 00:02:72:42:d3:cb :89 00:25:68:e1:28:f3 : 42
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[7, 8, 57, 56, 54, 91] 4.8 metros
8 00:02:6f:4e:19:e1 : 69 00:26:5a:09:d4:29 :74 00:02:72:42:d3:cb :91 00:1f:1f:21:ad:a5 : 96 00:50:fc:fc:67:4d : 92
00:25:68:e1:28:f3 : 45
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[8, 57, 56, 54, 91] 4.6 metros
9 00:50:fc:fc:67:4d : 92 00:25:68:e1:28:f3 : 45 00:02:6f:4e:19:e1 : 75 00:26:5a:09:d4:29 :77 00:02:72:42:d3:cb :87 00:25:68:e1:28:f3 : 46
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[57, 56, 54, 91, 7] 4.6 metros
10 00:26:5a:09:d4:29 :75 00:02:6f:4e:19:e1 : 76 00:02:72:42:d3:cb :89 00:25:68:e1:28:f3 : 42
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[38, 39, 7, 8, 57, 56, 54, 51, 61, 80, 75, 91, 102, 126, 106, 2, 3]
[7, 8, 57, 56, 54, 91] 4.8 metros
Tabla 9 Resultados de evaluación de la celda 9D
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 73
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
4.42 metros 100 % 0% Tabla 10 Resumen de resultados de evaluación de la celda 9D
En la figura 33 se puede apreciar las celdas candidatas resultantes de ejecutar el
proceso de localización en la celda 9D, las celdas marcadas en color amarillo
muestran las celdas candidatas a ser una localización del cliente.
Figura 5.8 Resultado de implementar el algoritmo de localización en la celda 9D
Celda 11B
La celda 11B se encuentra dentro de la zona de localización denominada Aula 2. Esta
es el área de localización en el cual la señal de los puntos de acceso de ambos pisos
del edificio es particularmente baja. Al igual que en anteriores tomas de muestra se
siguió un estricto protocolo para la solicitud del servicio de localización en el cual se
tomó en cuenta la altura y la posición del móvil.
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:72:42:d3:cb :62
00:02:6f:4e:19:e1 : 85 00:26:5a:09:d4:29 :86 00:1f:b3:25:87:b1 :91 00:25:68:e1:28:f3 : 68
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3,
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3]
[107] 7 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 74
59, 59]
2 00:02:72:42:d3:cb :56 00:26:5a:09:d4:29 :84 00:02:6f:4e:19:e1 : 87 00:26:5a:1a:10:95 :98 00:50:fc:fc:67:4d : 94 00:25:68:e1:28:f3 : 62
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3]
[107, 57, 75, 104, 113]
5 metros
3 00:02:72:42:d3:cb :70 00:26:5a:09:d4:29 :85 00:1f:b3:25:87:b1 :90 00:02:6f:4e:19:e1 : 90 00:1f:1f:21:ad:a5 : 92 00:50:fc:fc:67:4d : 95 00:25:68:e1:28:f3 : 63
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113]
5 metros
4 00:02:6f:4e:19:e1 : 90 00:1f:1f:21:ad:a5 : 92 00:50:fc:fc:67:4d : 95 00:25:68:e1:28:f3 : 63 00:02:72:42:d3:cb :59 00:02:6f:4e:19:e1 : 85 00:1f:b3:25:87:b1 :90 00:26:5a:09:d4:29 :90 00:25:68:e1:28:f3 : 68
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113, 107, 59]
5 .2 metros
5 00:02:72:42:d3:cb :64 00:02:6f:4e:19:e1 : 82 00:26:5a:09:d4:29 :88 00:1f:b3:25:87:b1 :92 00:25:68:e1:28:f3 : 68
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113, 107, 59]
5.2 metros
6 00:26:5a:09:d4:29 :88 00:1f:b3:25:87:b1 :92 00:02:72:42:d3:cb :65 00:02:6f:4e:19:e1 : 83 00:26:5a:09:d4:29 :87 00:1f:1f:21:ad:a5 : 93 00:25:68:e1:28:f3 : 69
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113 59]
5.2 metros
7 00:1f:1f:21:ad:a5 : 93 00:25:68:e1:28:f3 : 69 00:02:72:42:d3:cb :61 00:26:5a:09:d4:29 :83 00:02:6f:4e:19:e1 : 85 00:1f:b3:25:87:b1 :88 00:1f:1f:21:ad:a5 : 94 00:25:68:e1:28:f3 : 80
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113, 59]
5.2 metros
8 00:1f:1f:21:ad:a5 : 94 00:25:68:e1:28:f3 : 80 00:02:72:42:d3:cb :53 00:02:6f:4e:19:e1 : 81 00:1f:b3:25:87:b1 :93 00:26:5a:09:d4:29 :90 00:25:68:e1:28:f3 : 67
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113, 59]
5.2 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 75
9 00:26:5a:09:d4:29 :90 00:25:68:e1:28:f3 : 67 00:02:72:42:d3:cb :62 00:02:6f:4e:19:e1 : 80 00:1f:b3:25:87:b1 :88 00:13:46:70:68:d6 :95 00:25:68:e1:28:f3 : 70
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113, 59]
5.2 metros
10 00:02:72:42:d3:cb :70 00:26:5a:09:d4:29 :85 00:1f:b3:25:87:b1 :90 00:02:6f:4e:19:e1 : 90 00:1f:1f:21:ad:a5 : 92 00:50:fc:fc:67:4d : 95 00:25:68:e1:28:f3 : 63
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3, 59]
[38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 57, 75, 104, 127, 59]
[107, 57, 75, 104, 113]
5 metros
Tabla 11 Resultados de evaluación de la celda 11B
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
5.32 metros 30 % 0% Tabla 12 Resumen de resultados de evaluación de la celda 11B
La figura 34 muestra las celdas candidatas obtenidas a partir del proceso de
localización solicitado en la celda 11B. El resultado mostrado era esperado antes de
iniciar las pruebas, esto se debe a que la zona de localización determinada Aula 2
percibe una pobre calidad de señal de puntos de acceso, el algoritmo mapea las
señales recibidas en puntos donde se ha captado la señal más débil. La debilidad de
señal en la zona de localización llamada Aula 2 se debe a su estructura arquitectónica
y estado de acceso a la zona, es decir, si la puerta de acceso se encuentra abierta o
se encuentra cerrada.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 76
Figura 5.9 Resultado de implementar el algoritmo de localización en la celda 11B
Celda 6B
La celda 6B se encuentra localizada en la zona de localización denominada Aula 1, es
una zona de localización delimitada por 4 paredes y con el único acceso formado por
una puerta. El proceso de localización se realizó con la puerta de acceso cerrada. La
siguiente tabla muestra los resultados obtenidos.
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:6f:4e:19:e1 : 70
00:26:5a:09:d4:29 : 77 00:02:72:42:d3:cb : 77 00:1f:1f:21:ad:a5 : 87 00:1f:b3:25:87:b1 : 96
00:25:68:e1:28:f3 : 56
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107] [53, 107] 5.2 metros
2 00:02:6f:4e:19:e1 : 70 00:02:72:42:d3:cb : 76 00:26:5a:09:d4:29 : 82 00:1f:b3:25:87:b1 : 90 00:1f:1f:21:ad:a5 : 87 00:25:68:e1:28:f3 : 61
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3,]
[53, 107] [53, 107] 9 metros
3 00:02:6f:4e:19:e1 : 69 00:26:5a:09:d4:29 : 75 00:02:72:42:d3:cb : 77 00:1f:b3:25:87:b1 : 89 00:1f:1f:21:ad:a5 : 89 00:50:fc:fc:67:4d : 92 00:25:68:e1:28:f3 : 58
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127,
[53, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3,]
[53, 107] 9 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 77
106, 107, 2, 3]
4 00:50:fc:fc:67:4d : 92 00:02:6f:4e:19:e1 : 73 00:26:5a:09:d4:29 : 75 00:1f:1f:21:ad:a5 : 85 00:02:72:42:d3:cb : 84 00:25:68:e1:28:f3 : 82
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107]
[53, 107] 9 metros
5 00:26:5a:09:d4:29 : 78 00:02:6f:4e:19:e1 : 81 00:1f:1f:21:ad:a5 : 84 00:02:72:42:d3:cb : 83 00:26:5a:1a:10:95 : 90 00:1f:b3:25:87:b1 : 90 00:50:fc:fc:67:4d : 90 00:25:68:e1:28:f3 : 65
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[53, 107, 53, 57, 56, 91, 9, 108]
5.2 metros
6 00:26:5a:1a:10:95 : 90 00:1f:b3:25:87:b1 : 90 00:50:fc:fc:67:4d : 90 00:25:68:e1:28:f3 : 65 00:02:6f:4e:19:e1 : 67 00:26:5a:09:d4:29 : 84 00:02:72:42:d3:cb : 81 00:1f:1f:21:ad:a5 : 87 00:25:68:e1:28:f3 : 64
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[ 53, 57, 56, 91, 57, 56,107]
5.3 metros
7 00:02:6f:4e:19:e1 : 76 00:1f:1f:21:ad:a5 : 80 00:02:72:42:d3:cb : 77 00:26:5a:09:d4:29 : 83 00:1f:b3:25:87:b1 : 85 00:25:68:e1:28:f3 : 63
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[107, 53, 57, 56, 91] 5.6 metros
8 00:1f:b3:25:87:b1 : 85 00:25:68:e1:28:f3 : 63 00:02:6f:4e:19:e1 : 70 00:26:5a:09:d4:29 : 77 00:1f:1f:21:ad:a5 : 84 00:02:72:42:d3:cb : 82 00:26:5a:1a:10:95 : 95 00:25:68:e1:28:f3 : 59
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3, 38, 39, 40, 5, 7, 8]
[107, 53, 57, 56, 91] 5.6 metros
9 00:26:5a:09:d4:29 : 78 00:02:6f:4e:19:e1 : 81 00:1f:1f:21:ad:a5 : 84 00:02:72:42:d3:cb : 83 00:26:5a:1a:10:95 : 90 00:1f:b3:25:87:b1 : 90 00:50:fc:fc:67:4d : 90 00:25:68:e1:28:f3 : 65
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[53, 107, 53, 57, 56, 91, 9, 108]
5.2 metros
10 00:26:5a:09:d4:29 : 78 00:02:6f:4e:19:e1 : 81 00:1f:1f:21:ad:a5 : 84 00:02:72:42:d3:cb : 83 00:26:5a:1a:10:95 : 90 00:1f:b3:25:87:b1 : 90 00:50:fc:fc:67:4d : 90 00:25:68:e1:28:f3 : 65
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[53, 107, 107, 107, 107, 38, 39, 40, 5, 7, 8, 57, 56, 54, 64, 65, 67, 75, 90, 91, 92, 101, 102, 104, 113, 107, 2, 3]
[53, 107, 53, 57, 56, 91, 9, 108]
5.2 metros
Tabla 13 Resultados de evaluación de la celda 6B
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 78
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
5.53 metros 0 % 0% Tabla 14 Resumen de resultados de evaluación de la celda 6B
La figura 35 muestra la dispersión de celdas candidatas obtenías en el proceso de
localización solicitado en la zona de localización llamada Aula 2 en la celda 6B
Figura 5.10 Resultado de implementar el algoritmo de localización en la celda 6B
Celda 8C
La celda 8C se encuentra dentro de la zona de localización llamada Aula 1. Las
muestras en este punto fueron tomadas siguiendo las mismas precauciones tomadas
anteriormente. Este punto tiene una peculiaridad, se encuentra a 3 metros de distancia
en una diagonal de 45º del punto de acceso (AP).
No. Muestra
Puntos de acceso percibidos
Primer filtrado de
celdas
Segundo filtrado de
celdas
Tercer filtrado de celdas
Margen de error
promedio 1 00:02:6f:4e:19:e1 : 70
00:26:5a:09:d4:29 : 79 00:1f:1f:21:ad:a5 : 84 00:02:72:42:d3:cb : 83 00:25:68:e1:28:f3 : 54
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3]
[57, 80] 5 metros
2 00:02:6f:4e:19:e1 : 70 00:26:5a:09:d4:29 : 76 00:1f:1f:21:ad:a5 : 87
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64,
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38]
[8, 57, 56, 91] 4.6666 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 79
00:02:72:42:d3:cb : 84 00:50:fc:fc:67:4d : 90 00:25:68:e1:28:f3 : 47
65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
3 00:02:72:42:d3:cb : 84 00:50:fc:fc:67:4d : 90 00:26:5a:09:d4:29 : 73 00:02:6f:4e:19:e1 : 79 00:1f:1f:21:ad:a5 : 90 00:25:68:e1:28:f3 : 50
[[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 38]
[57, 80, 7, 8, 56, 91] 4.332 metros
4 00:26:5a:09:d4:29 : 76 00:02:6f:4e:19:e1 : 77 00:1f:1f:21:ad:a5 : 86 00:50:fc:fc:67:4d : 92 00:25:68:e1:28:f3 : 52
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 38]
[57, 56, 91, 39, 7, 8, 51, 61, 80, 38, 39]
4.822 metros
5 00:26:5a:09:d4:29 : 74 00:02:6f:4e:19:e1 : 78 00:1f:1f:21:ad:a5 : 87 00:02:72:42:d3:cb : 92 00:50:fc:fc:67:4d : 94 00:25:68:e1:28:f3 : 52
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107]
[57, 56, 91, 39, 51, 61, 80, 38]
4.5553 metros
6 00:02:6f:4e:19:e1 : 69 00:26:5a:09:d4:29 : 77 00:02:72:42:d3:cb : 82 00:1f:1f:21:ad:a5 : 82 00:1f:b3:25:87:b1 : 91 00:25:68:e1:28:f3 : 53
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2,3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3]
[38, 39, 7, 8, 54, 51, 67]
4.612 metros
7 00:02:6f:4e:19:e1 : 69 00:26:5a:09:d4:29 : 81 00:02:72:42:d3:cb : 80 00:1f:1f:21:ad:a5 : 86 00:50:fc:fc:67:4d : 92 00:25:68:e1:28:f3 : 61
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2,3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3]
[38, 39, 7, 80, 54, 51, 67]
4.612 metros
8 00:02:6f:4e:19:e1 : 65 00:26:5a:09:d4:29 : 75 00:1f:1f:21:ad:a5 : 86 00:02:72:42:d3:cb : 86 00:1f:b3:25:87:b1 : 91 00:25:68:e1:28:f3 : 63
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2,3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3]
[38, 39, 7, 8, 54, 51, 67]
4.612 metros
9 00:02:72:42:d3:cb : 84 00:1f:b3:25:87:b1 : 92 00:02:6f:4e:19:e1 : 78 00:26:5a:09:d4:29 : 82 00:1f:1f:21:ad:a5 : 83 00:26:5a:1a:10:95 : 94 00:25:68:e1:28:f3 : 58
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54, 53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126, 127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 38]
[8, 57, 56, 91, 39, 7,54,65]
4.72 metros
10 00:02:72:42:d3:cb : 84 00:1f:b3:25:87:b1 : 92
[38, 39, 40, 5, 7, 8, 57, 56, 55, 54,
[39, 5, 7, 8, 57, 51, 61, 80, 102, 126,
[8, 57, 56, 91, 39, 7,54,65]
4.72 metros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 80
00:02:6f:4e:19:e1 : 78 00:26:5a:09:d4:29 : 82 00:1f:1f:21:ad:a5 : 83 00:26:5a:1a:10:95 : 94 00:25:68:e1:28:f3 : 58
53, 51, 61, 64, 65, 67, 68, 80, 79, 78, 77, 75, 89, 90, 91, 92, 101, 102, 104, 113, 126, 127, 106, 107, 2, 3]
127, 106, 2, 3, 38, 39, 7, 8, 57, 56, 54, 51, 65, 67, 75, 90, 91, 102, 104, 113, 107, 2, 3, 38]
Tabla 15 Resultados de evaluación de la celda 8C
Margen de error promedio
Precisión de ubicación con radio de 5 metros
Precisión de localización con radio de 3 metros
4.02 metros 100 % 0% Tabla 16 Resumen de resultados de evaluación de la celda 8C
La figura 36 muestra el espectro de dispersión de celdas candidatas obtenidas a partir
de la solicitud de localización con un cliente localizado en la celda 8C. Como se puede
apreciar en la imagen el margen promedio de error de la mayor concentración de
celdas candidatas no fue mayor a 2 celdas. La cercanía con el punto de acceso y la
falta de tráfico propiciaron condiciones ideales para obtener los resultados que se
muestran en las tablas anteriores y la siguiente imagen.
Figura 5.11 Resultado de implementar el algoritmo de localización en la celda 8C
Resultados
Las muestras descritas en la sección anterior muestran el grado de asertividad en el
proceso de ubicación de usuario para las celdas seleccionadas, como se puede
apreciar en la tabla de resumen de resultados que se encuentran debajo de las tablas
de muestras de cada instancia de evaluación el margen de error promedio utilizando
únicamente tecnologías Wi-Fi™ para el proceso de localización es de 4.3 metros. La
medida de margen de error se obtuvo calculando la distancia entre la celda en la cual
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 81
se realizó la petición de localización y la celda más lejana obtenida del algoritmo de
localización.
Como puede apreciarse en las tablas, el algoritmo de localización retorna un conjunto
de celdas en las cuales es posible que se encuentre el dispositivo que solicitó el
servicio de localización. Es casi imposible (el 45%) asegurar el punto de ubicación del
dispositivo cliente en una sola celda, esto se debe en gran medida al margen de error
permitido en la calibración y entrenamiento del sistema, la falta de un solo atractor21 en
el contexto del sistema y las múltiples variantes físicas del hardware utilizado para
llevar a cabo el proceso de ubicación. El conjunto de celdas resultantes tienden a
describir la vecindad más próxima a la celda tal y como muestra la figura 37 en donde
la celda de color más sólido es la celda donde se encuentra el cliente y las celdas
difuminadas son las celdas vecinas donde el algoritmo de localización ubica al cliente,
un mayor difuminado simboliza una menor posibilidad (pero existente) de ubicación en
esas celdas.
Figura 5.12 Conjunto de celdas candidatas (vecindad) en una zona de localización
La implementación programática del algoritmo dentro de la API retorna el conjunto de
celdas candidatas como un ArrayList de tipo String (ArrayList<String>) el cual contiene
las coordenadas de las celdas candidatas obtenidas por el algoritmo de localización. El
conjunto de celdas obtenidas también es utilizado como datos de entrada para realizar
el proceso de Macrolocalización en el cual se obtiene la zona en la cual se encuentra
el cliente que ha solicitado el servicio de localización.
5.3.2 Macrolocalización
El proceso de Macrolocalización tiene como fin determinar el área de localización a
nivel zona en la cual se encuentra el cliente que ha solicitado el servicio de
localización. El algoritmo utilizado para determinar la zona es un proceso estadístico el
cual se basa el cual recibe como entrada un conjunto de celdas, las agrupa en
conjuntos diferentes según sea la zona a la cual pertenezcan y por último evalúa la
cardinalidad de cada una de las zonas, la zona resultante es aquella de mayor
21
Conjunto al que el sistema evoluciona después de un tiempo suficientemente largo. Para que el conjunto sea un atractor, las trayectorias que le sean suficientemente próximas han de permanecer próximas incluso si son ligeramente perturbadashttp://en.wikipedia.org/wiki/Attractor (Recuperado en Septiembre del 2011)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 82
cardinalidad, en caso de ser más de una se genera como salida un conjunto de zonas
resultantes
Pruebas
El proceso de Macrolocalización se evaluó realizando 10 solicitudes de localización en
puntos aleatorios dentro de una zona de localización, el proceso se llevó a cabo para
todas las zonas de libre circulación en la primer planta del edificio del departamento de
ciencias computacionales, en las siguientes tablas se exponen los resultados
obtenidos en términos de zona de localización calculada en base al algoritmo de
Macrolocalización y la distancia que separa a los centroides22 de la zona donde se
solicitó el servicio de localización y la zona calculada en base al algoritmo de
Macrolocalización.
Zona: Entrada al edificio
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Entrada al edificio Area_traga_luz 1
2 Entrada al edificio Entrada_al_edificio 0
3 Entrada al edificio Entrada_al_edificio 0
4 Entrada al edificio Entrada_al_edificio 0
5 Entrada al edificio Entrada_al_edificio 0
6 Entrada al edificio Area_traga_luz 1
7 Entrada al edificio Area_traga_luz 1
8 Entrada al edificio Area_traga_luz,
Entrada_al_edificio 1/0
9 Entrada al edificio Area_traga_luz 0
10 Entrada al edificio Entrada_al_edificio 0 Tabla 17 Tabla de resultados de macrolocalización en zona Entrada al edificio
La figura 38 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
22
El centroide o baricentro de un objeto X perteneciente a un espacio n-dimensional es la intersección de todos los hiperplanos que dividen a X en dos partes de igual n-volumen con respecto al hiperplano. Informalmente, es el promedio de todos los puntos de X.http://en.wikipedia.org/wiki/Centroid Recuperado en Septiembre del 2011.
Asertividad de ubicación
60%
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 83
Figura 5.13 Resultado de la implementación del algoritmo de localización en la zona entrada al edificio
Zona: Laboratorio de Ingeniería de software
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Laboratorio IS Escaleras_planta_baja ,
Entrada_al_edificio, Area_de_traga_luz
1
2 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 3 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 4 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 5 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 6 Laboratorio IS Area_de_tragaluz 1 7 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 8 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1 9 Laboratorio IS Laboratorio_de_inteligencia_Artificial 1
10 Laboratorio IS Area_de_tragaluz 1 Tabla 18 Tabla de resultados de macrolocalización en zona Laboratorio de ingeniería de software
Asertividad de ubicación
0%
La figura 39 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 84
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
Figura 5.14 Resultado de la implementación del algoritmo de localización en la zona Laboratorio de Ingenieria
de software
Zona: Laboratorio de inteligencia artificial
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Laboratorio IA Area_traga_luz 1
2 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
3 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
4 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
5 Laboratorio IA Laboratorio_de_Inteligencia_Artificial, 0
6 Laboratorio IA Area_traga_luz 1
7 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
8 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
9 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0
10 Laboratorio IA Laboratorio_de_Inteligencia_Artificial 0 Tabla 19 Tabla de resultados de macrolocalización en zona Laboratorio de inteligencia artificial
Asertividad de ubicación
80 %
La figura 40 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 85
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
Figura 5.15 Resultado de la implementación del algoritmo de localización en la zona Laboratorio de
Inteligencia Artificial
Zona: Cubo Central, Traga_luz
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Area_de_tragaluz [Aula1_DCC] 1 2 Area_de_tragaluz Area_traga_luz 0 3 Area_de_tragaluz Area_traga_luz 0 4 Area_de_tragaluz Area_traga_luz 0 5 Area_de_tragaluz Area_traga_luz 0 6 Area_de_tragaluz Area_traga_luz 0 7 Area_de_tragaluz Area_traga_luz 0 8 Area_de_tragaluz Laboratorio_de_Inteligencia_Artificial 1 9 Area_de_tragaluz Area_traga_luz 0
10 Area_de_tragaluz Area_traga_luz 0 Tabla 20 Tabla de resultados de macrolocalización en zona Cubo central / Traga Luz
Asertividad de ubicación
80%
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 86
La figura 41 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
Figura 5.16 Resultado de la implementación del algoritmo de localización en la zona Cubo Central
Zona: Aula 2
No. De muestra
Puntos de acceso recibidos Celdas candidatas Zona resultante
1 Aula 2 Aula3_DCC 1 2 Aula 2 Aula3_DCC 1 3 Aula 2 Aula3_DCC 1 4 Aula 2 Aula3_DCC 1 5 Aula 2 Aula3_DCC 1 6 Aula 2 null ∞
7 Aula 2 Aula3_DCC, Escaleras_planta_baja 1-3
8 Aula 2 Aula3_DCC 1 9 Aula 2 Aula3_DCC 1
10 Aula 2 Aula3_DCC 1 Tabla 21 Tabla de resultados de macrolocalización en zona Aula 2
Asertividad de ubicación
0%
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 87
La figura 42 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse. En esta ocasión, al igual que en el
escenario de microlocalización, el área de localización Aula 2 presenta escenarios de
intensidades de señal muy débil, es por esta razón que los resultados mostrados en la
siguiente imagen se encuentran tan distantes unos de otros.
Figura 5.17 Resultado de la implementación del algoritmo de localización en la zona Aula 2
Zona: Aula 3
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Aula3_DCC Aula3_DCC 0 2 Aula3_DCC Aula3_DCC 0 3 Aula3_DCC Aula3_DCC 0 4 Aula3_DCC null infinita
5 Aula3_DCC [Aula3_DCC, Escaleras_planta_baja,
Laboratorio_de_Inteligencia_Artificial, Laboratorio_de_tecnologias_web]
3
6 Aula3_DCC [Aula3_DCC, Escaleras_planta_baja,
Laboratorio_de_Inteligencia_Artificial, Laboratorio_de_tecnologias_web
3
7 Aula3_DCC Aula3_DCC 0 8 Aula3_DCC Laboratorio_de_Inteligencia_Artificial 3 9 Aula3_DCC Laboratorio_de_tecnologias_web 2
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 88
10 Aula3_DCC Laboratorio_de_Inteligencia_Artificial 3 Tabla 22 Tabla de resultados de macrolocalización en zona Aula 3
Asertividad de ubicación
40 %
La figura 43 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse. De igual forma que en el Aula 2, la
zona de localización llamada Aula 3 presenta un escenario de baja intensidad de
señal lo que repercute en los resultados mostrados en la siguiente imagen.
Figura 5.18 Resultado de la implementación del algoritmo de localización en la zona Aula 3
Zona: Aula 1
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Aula 1 Null infinita
2 Aula 1 Null infinita
3 Aula 1 Aula3_DCC 2
4 Aula 1 Aula3_DCC 2
5 Aula 1 Area_traga_luz 1
6 Aula 1 Aula1_DCC 0
7 Aula 1 Aula1_DCC 0
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 89
8 Aula 1 Area_traga_luz 1
9 Aula 1 Area_traga_luz 1
10 Aula 1 Area_traga_luz 1 Tabla 23 Tabla de resultados de macrolocalización en zona Aula 1
Asertividad de ubicación
20%
La figura 44 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
Figura 5.19 Resultado de la implementación del algoritmo de localización en la zona Aula 1
Zona: Laboratorio de sistemas distribuidos
No. De muestra
Zona real Zona de localización calculada Distancia
entre zonas
1 Lab. Sistemas distribuidos
Laboratorio_de_Inteligencia_Artificial 1
2 Lab. Sistemas distribuidos
Laboratorio_de_Inteligencia_Artificial 1
3 Lab. Sistemas distribuidos
Laboratorio_de_Inteligencia_Artificial 1
4 Lab. Sistemas distribuidos
Lab. Sistemas distribuidos 0
5 Lab. Sistemas Laboratorio_de_Inteligencia_Artificial 1
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 90
distribuidos
6 Lab. Sistemas distribuidos
Laboratorio_de_Inteligencia_Artificial 1
7 Lab. Sistemas distribuidos
Lab. Sistemas distribuidos 0
8 Lab. Sistemas distribuidos
Lab. Sistemas distribuidos 0
9 Lab. Sistemas distribuidos
Lab. Sistemas distribuidos 0
10 Lab. Sistemas distribuidos
Lab. Sistemas distribuidos 0 Tabla 24 Tabla de resultados de macrolocalización en zona Laboratorio de sistemas distribuidos
Asertividad de ubicación
50 %
La figura 45 muestra con un cuadro rojo la zona de localización donde se encontraba
el dispositivo cliente en el momento de realizar la solicitud de localización. Los cuadros
verdes representan la zona de localización en donde el algoritmo de localización ha
determinado que el usuario puede encontrarse.
Figura 5.20 Resultado de la implementación del algoritmo de localización en la zona Laboratorio de Sistemas
Distribuidos
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 91
5.3.3 Resultados
Basados en una evaluación de asertividad de los eventos y tablas mostradas en
secciones anteriores, se puede advertir un ligero margen de error en los resultados de
la implementación de los métodos de localización en interiores utilizando los proceso
de microlocalización y macrolocalización. El “¿Por qué?” de estos resultados se debe,
en cuanto al proceso de microlocalización se refiere, es debido a los cambios radicales
en el medio de evaluación (trafico masivo de datos en los puntos de acceso o trafico
de objetos y/o personas que puedan atenuar la señal a evaluar) que provocan caos en
el los algoritmos de localización y estos a su vez en los métodos programados de
localización en interiores. En cuanto al proceso de macrolocalización, este presenta
cierto margen de error por la evaluación de la posición del usuario cuando este se
encuentra en “celdas frontera” entre una zona de localización y otra. En este caso los
métodos de localización evalúan las intensidades de señal más fuertes y las comparan
con las almacenadas en el repositorio relacional retornando la zona de localización
con mayor número de coincidencias, es por esta razón por la cual el proceso de
macrolocalización determina la posición del cliente que ha solicitado el servicio de
localización en una zona vecina a la zona en la que se encuentra. Se recomienda la
implementación de tecnologías de corto alcance sensibles a la presencia (como RFID
o IR) en este tipo de escenarios para determinar la zona en la que se encuentra el
cliente.
5.4 Caso de estudio 2: Localización en interiores utilizando
contexto de tecnología RFID
Como se describió en el capítulo 2, RFID es una tecnología de identificación por
radiofrecuencia para la cual se necesitan dos partes, un interrogador y un interrogado,
representados a nivel hardware por un lector y un tag activo o pasivo. En el escenario
de pruebas propuesto para la evaluación del algoritmo de localización utilizando
tecnología RFID propuesto en el capítulo 4 se desplegó dentro del edificio del
departamento de ciencias computacionales lectores y antenas Impinj (ver
especificaciones en la sección de anexos) y los usuarios a los cuales se localizará le
fueron asignadas etiquetas RFID pasivas Generación2 (ver especificaciones en la
sección de anexos). En las siguientes secciones se describirá el escenario planteado
para las evaluaciones y los resultados obtenidos.
Una distribución de infraestructura RFID ideal obedecería a colocar al menos 1 antena
lectora RFID en las áreas de entrada y salida de cada área de localización de tipo
zona. En el escenario planteado se utilizaron 2 antenas conectadas a un portal lector
para determinar el ingreso o egreso de un área de localización de tipo zona
(Laboratorio de sistemas distribuidos) y un portal lector con dos antenas para
determinar el nivel del edifico en el cual se encuentra un portador de tags (planta alta o
planta baja). La distribución de la infraestructura RFID dentro del edificio del
departamento de ciencias computacionales se muestra en la figura 46 en donde los
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 92
rectángulos verdes con una A denotan la posición de las antenas y los triángulos de
puntas redondeadas representan la amplitud del espectro de cada antena.
Figura 5.21 Distribución de infraestructura RFID en el edificio del DCC
5.4.1 Escenario 1: acceso a una zona de localización
Descripción del escenario
La entidad portadora de tags ingresó y egresó del área de localización delimitada por
la zona Laboratorio de sistemas distribuidos donde se encuentra un portal de
identificación RFID con un arreglo de 2 antenas dispuestas de forma tal que una de
ellas se encuentra dentro de la zona de localización Laboratorio sistemas distribuidos y
otra de ellas en la zona de localización identificada como área de tragaluz de forma tal
que se pueda localizar a una entidad portadora de tags al ingresar al laboratorio de
sistemas distribuidos (localizando a la entidad en la zona laboratorio de sistemas
distribuidos) o egresar de este ( localizando a la entidad en la zona área de tragaluz).
La distribución de las antenas para el escenario planteado se describe en la figura 47.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 93
Figura 5.22 Diagrama de disposición de antenas en escenario de entrada y salida controlado por antenas
RFID
Pruebas
La siguiente tabla muestra los resultados obtenidos de las pruebas de evaluación.
No. De evaluación
Zona real en la que se encuentra el tag
Zona en la cual se localizó el tag
1 Dentro del laboratorio de sistemas
distribuidos Dentro del laboratorio de sistemas
distribuidos
2 Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Fuera del laboratorio de sistemas
distribuidos (área de tragaluz)
3 Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Fuera del laboratorio de sistemas
distribuidos (área de tragaluz)
4 Dentro del laboratorio de sistemas
distribuidos Dentro del laboratorio de sistemas
distribuidos
5 Dentro del laboratorio de sistemas
distribuidos Dentro del laboratorio de sistemas
distribuidos
6 Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Fuera del laboratorio de sistemas
distribuidos (área de tragaluz)
7 Dentro del laboratorio de sistemas
distribuidos Dentro del laboratorio de sistemas
distribuidos
8 Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Fuera del laboratorio de sistemas
distribuidos (área de tragaluz)
9 Dentro del laboratorio de sistemas
distribuidos Dentro del laboratorio de sistemas
distribuidos
10 Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Fuera del laboratorio de sistemas
distribuidos (área de tragaluz) Tabla 15 Resultado de localización utilizando tecnología RFID en un escenario de entrada y salida de un área
determinada
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 94
5.4.2 Escenario 2: localización en edificio multinivel
Descripción del escenario
Dentro de la distribución de infraestructura RFID en el interior del edificio del
departamento de ciencias computacionales se colocaron 2 antenas en las zonas en la
cual se encuentran las escaleras del edificio que brindan comunicación entre sus dos
plantas, las antenas se colocaron en un lateral de las escaleras que se encuentran en
la planta baja y de análoga forma en la planta superior. Las antenas fueron
configuradas mediante el uso de mensajes ROSPEC para modificar la amplitud del
espectro electromagnético de cada una de ellas de forma tal que el foco descrito por el
espectro cubriera la zona media del área de ingreso a las escaleras en ambas plantas.
Cada antena se encuentra asignada a un área de localización diferente de tipo zona,
estas áreas se pueden encontrar en el catálogo de zonas del repositorio relacional
como: zona_de_escaleras_planta_baja y zonas_de_escaleras_planta_alta. La
disposición del as antenas se muestra en la siguiente figura.
Figura 5.23 Distribución de antenas RFID en la zona de escaleras del edificio del DCC
Pruebas
Las pruebas se realizaron permitiendo la libre circulación de entidades portadoras de
tag por las áreas de localización de tipo zona correspondiente a las escaleras, la
siguiente tabla muestra los resultados obtenidos.
No. De evaluación
Zona real en la que se encuentra el tag
Zona en la cual se localizó el tag
1 zona_de_escaleras_planta_baja zona_de_escaleras_planta_baja
2 zona_de_escaleras_planta_alta zona_de_escaleras_planta_alta
3 zona_de_escaleras_planta_alta zona_de_escaleras_planta_alta
4 zona_de_escaleras_planta_baja zona_de_escaleras_planta_baja
5 zona_de_escaleras_planta_baja zona_de_escaleras_planta_baja
6 zona_de_escaleras_planta_alta zona_de_escaleras_planta_alta
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 5 -- Casos de estudio Página 95
7 zona_de_escaleras_planta_alta zona_de_escaleras_planta_alta
8 zona_de_escaleras_planta_baja zona_de_escaleras_planta_baja
9 zona_de_escaleras_planta_baja zona_de_escaleras_planta_baja
10 zona_de_escaleras_planta_alta zona_de_escaleras_planta_alta Tabla 26 Resultado de localización utilizando tecnología RFID en un escenario de ascenso y descenso en
escaleras
Resultado de pruebas
Como se puede apreciar en las tablas de resultados mostrados la efectividad de
localización de ingreso y egreso a una zona en particular utilizando tecnología RFID es
del 100%, esto se debe en gran medida al acotamiento de las zonas en las cuales se
desplegó la infraestructura RFID. La tecnología RFID tiene un alcance de cobertura no
mayor a 9 metros en la zona de mayor amplitud del espectro de una antena, pero su
precisión de localización es, en casos extremos (gran flujo de etiquetas por el portal),
del 97%; estas dos cualidades hacen a la tecnología RFID una tecnología ideal para
determinar la posición de una entidad etiquetada dentro de un área en base a los
criterios de ingreso y egreso, restringiendo el uso de las antenas únicamente a las
áreas de ingreso o egreso, ajustando la posición y amplitud del espectro de cada una
de las antenas dentro del arreglo de forma que tal que los espectros de cobertura de
las antenas permitan la identificación de una entidad portadora de tags en cualquier
punto del marco dedicado al ingreso o egreso a una zona determinada.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 6 -- Conclusiones Página 96
Capítulo 6 Conclusiones
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 6 -- Conclusiones Página 97
6.1 Conclusiones
Al plantearse la presente tesis como trabajo de investigación se estableció como
objetivo principal el desarrollo métodos de programación para ofrecer servicios de
localización en interiores basados en tecnologías de comunicación inalámbrica como
Wi-Fi™ y Bluetooth, reconocimiento de etiquetas como RFID o NFC o de códigos
bidimensionales QRCode. Los capítulos que componen este documento de tesis
muestran el actual estado de desarrollo de sistemas de localización en interiores y las
técnicas implementadas para sus desarrollo, de la evaluación de estas últimas se
eligió aquella que mostraba resultados más acertados en entornos no controlados y
fue la base para el desarrollo de CHAMAN, una API escrita en java que contiene
métodos que al ser implementados permiten desarrollar software que ofrece servicios
de localización en interiores basado en la evaluación de las magnitudes de señales
electromagnéticas. La descripción de CHAMAN se realizó en el capítulo 5 en el cual se
encuentra una descripción detallada de las funciones de cada una de las clases que
integran la API, así como una descripción de los algoritmos de localización
implementados y codificados en los llamados motores de localización. El capítulo 6
muestra las pruebas realizadas para demostrar el grado de precisión de los algoritmos
desarrollados e implementados en los motores de localización que componen la API
CHAMAN.
De la experiencia obtenida y plasmada en capítulos anteriores me permito presentar
las siguientes conclusiones:
Del conjunto de técnicas de localización en interiores presentadas, la técnica
de localización en interiores más fiable en entornos expuestos a cambios
constantes en distribución de objetos (obstáculos para propagación de
señales), horas pico aleatorias de transmisión de datos y tráfico de objetos
entre emisor y receptor de señal es aquella que basa su resultado en la
comparación de señales a una toma previa de datos. A este tipo de técnicas de
localización se les conoce como fingerprint-based.
Utilizando una técnica de localización fingerprint-based para ofrecer servicios
de localización es necesario contar con al menos 3 radio mapas de las zonas
de localización. Para un resultado más preciso es recomendable obtener 3
diferentes muestras en 3 horarios diferentes cada día y de igual forma obtener
radio mapas por cada día de la semana. De esta forma se realiza una muestra
de datos más confiable. Esto basado en las pruebas mostradas en el capítulo
6, donde se muestra que la magnitud de una señal electromagnética presenta
considerables variaciones en un mismo punto en diferentes horarios del día.
La localización de dispositivos móviles portados por humanos presenta
irregularidades que hace del proceso de estandarización de medidas de
magnitudes un proceso sumamente complicado, esto debido a que el sujeto
(humano) que porta el dispositivo móvil es el principal elemento de atenuación
de señales electromagnéticas. Los atributos de individuo anfitrión, tales como
altura, masa muscular, cantidad de agua en el cuerpo y vestimenta, son los
principales factores que producen un cambio de lectura entre una persona y
otra utilizando el mismo dispositivo móvil en el mismo lugar de lectura.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 6 -- Conclusiones Página 98
Se recomienda el uso de diferentes tipos de señales electromagnéticas para
obtener un mayor grado de precisión en el proceso de localización en
interiores. De igual forma es recomendable tomar en cuenta los grados de
precisión que permite establecer la longitud de onda de cada una de las
señales electromagnéticas utilizadas. En un escenario recomendable se
utilizan lectores RFID en puertas de entrada y salida de edificios o áreas
mayores a 60m2, utilizar al menos 3 señales traslapadas de puntos de acceso
Wi-Fi™ dentro de cada área delimitada en su acceso por portales RFID y
dentro del área de cobertura Wi-Fi™ colocar en medida de lo posible un arreglo
de puntos de acceso Bluetooth en cada arista de cada 4 m2.
6.2 Trabajos futuros
Los servicios de localización en interiores implementados por CHAMAN brindan
información que puede complementar la información necesaria para sistemas de
evaluación y/o recomendación contextual brindando el atributo de posición. Los
métodos de localización contenidos en los motores de localización de CHAMAN fueron
programados de forma tal que puede ser importados en cualquier proyecto escrito en
Java SE, Jython o Android, esto permite una gran flexibilidad de implementación en
nuevos proyectos que necesiten un valor para ofrecer algún tipo de servicio
relacionado. En base en lo mencionado anteriormente se pueden vislumbrar dos
ramificaciones de líneas de investigación en las que se puede implementar (y en caso
de ser posible escalar) la API CHAMAN:
Sistemas de navegación en interiores para dispositivos móviles con anotaciones
contextuales, en el cual los métodos contenidos en CHAMAN pueden brindar la
información de posición y motores de evaluación contextual, brindar información
relevante para el usuario, todo esto desplegado en un mapa de navegación y ventanas
de recomendación en un dispositivo móvil. La siguiente imagen muestra un diagrama
de la implementación de CHAMAN con los dos sistemas de recomendación y
visualización mencionados previamente.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 6 -- Conclusiones Página 99
Figura 6.1 Diagrama de implementación de CHAMAN y un sistema visor de posición en interiores en un
dispositivo móvil
Implementación de sistemas de localización en interiores que permitan complementar
la información contextual de dispositivos intercomunicados entre sí, para formar una
instancia de la internet de las cosas (internet of things 23) . Implementando CHAMAN ,
fosstrak y Android SDK for Arduino24, es posible desarrollar hardware que permita
sensar el estado de un objeto en particular y, enviar la información de su estado y
posición a un sistema de gestión que permita administrar tal información para ofrecer
recomendaciones contextuales dentro de un escenario.
Figura 6.2 Diagrama de propuesta de implementación e interoperabilidad en el internet de las cosas entre
CHAMAN , fosstrak y hardware Arduino
23
http://www.theinternetofthings.eu/ (Recuperado el 10 de Enero del 2012) 24
http://www.arduino.cc/es/ (Recuperado el 10 de Enero del 2012)
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 6 -- Conclusiones Página 100
Una de las principales líneas de investigación en la cual es posible implementar tal
solución es el cómputo ubicuo.
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 7 -- Referencias Página 101
Capítulo 7 Referencias
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 7 -- Referencias Página 102
7. Referencias
[Jekabsons, 2010]
WI-FI Based Indoor Positioning Jēkabsons G., Žuravļovs V. Refining Proceedings of the International Scientific Conference Applied Information and Communication Technologies, Latvia, Jelgava, 22.-23. April, 2010. - pp 87-95.
[Potgantwar, 2009]
Internal Location Based System For Mobile Devices Using Passive RFID And Wireless Technology A.D.Potgantwar, Vijay M.Wadhai International Journal of Computer Science and Information Security, IJCSIS, Vol. 6, No. 3, pp. 153-159, December 2009, USA
[NEODIGIT 2009]
Neodigit.es “Glosario – API”, 2009. Recuperado de http://www.neodigit.es/glosario-internet/api.html en Agosto de 2009.
[Muttitanon, 2007]
An Indoor Positioning System (IPS) using Grid Model Wutjanun Muttitanon and Nitin Kumar Tripathi and Marc Souris, DOAJ-Articles 2007
[Kerry,2008]
IEEEE Standard for Information technology, Telecommunications and information exchange between systems Local and metropolitan area networks specific requirements Stuart J. Kerry, Chair Al Petrick, Vice-Chair, Treasurer and Chair, Task Group mb Harry R. Worstell, Vice-Chair Stephen McCann, Secretary and Chair, Publicity Standing Committee Teik-Kheong Tan, Chair, Wireless Next Generation Standing Committee Terry L. Cole, Technical Editor and Assigned Number Authority
[Ferreira, 2007]
Local positioning system using WiFi networks Pedro Miguel Ferreira Claro, Nuno Borges Carvalho Conftele, 2007
[Bernardos, 2008] Modelo de integración de tecnologías para la provisión de servicios móviles basados en localización y contexto. Ana Bernardos Barbolla. Tesis doctoral. Madrid 2008.
[Atrain, 2006]
Localización y seguimiento de terminales móviles en entornos indoor. J.J. Astrain, J. Villadangos, A. Cordoba II Congreso Iberoamericano sobre Computación Ubicua CICU'06, pgs. 255-262, ISBN: 84-8138-703-7, Alcalá de Henares, Spain, June 2006
[Aguilar , 2007]
A Patient Identification System using RFID and IEEEE 802.11b Wireless Networks Antonio Aguilar Master of Science Thesis Stockholm, Sweden 2007
[Portillo, 2008]
Informe de Vigilancia Tecnológica madrid “Tecnología de identificación por radiofrecuencia (RFID): Aplicaciones en el ámbito de la salud” Javier I. Portillo, Ana Belén Bermejo y Ana M. Bernardos. 2008
[PW1]
http://www.llrp.org/ Consultado el 20 de Enero del 2011
[PW2]
http://www.bluetooth.com/Spanish/Technology/Works/Pages/Data_Transp
API para servicios de localización en interiores basada en tecnología Wi-Fi, Bluetooth, RFID y QRCode
Capítulo 7 -- Referencias Página 103
ort_Architecture.aspx Consultado el 15 de Noviembre del 2010
[Arjona, 2009]
Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas.
[Papapostolou, 2009]
WIFE: Wireless Indoor Positioning Based on Fingerprint Evaluation. Apostolia Papapostolou, Hakima Chaouchi In Proceedings of Networking'2009. pp.234~247
Capítulo 8 Anexos
8.1 Introducción
En el margen de desarrollo de esta tesis se generaron documentos externos a ella tanto por
razones de investigación como por descripción de contenido. Las siguientes secciones
muestran los documentos mencionados anteriormente, en las próximas secciones se pude
encontrar un articulo fruto de una estancia de investigación en la Universidad de Castilla-La
Mancha (España) el cual fue presentado en el congreso internacional RFIDSysTech 2011
realizado en la ciudad de Dresden, Alemania. De igual forma se podrá encontrar las
esepcificaciones técnicas del hardware implementado en las pruebas de localización y por
último una descripción a modo de JavaDoc de las clases y métodos de la API CHAMAN.
8.2 Application to a warehouse environment of a tracking system based on RFID and free software
Application to a warehouse environment of a tracking system based on
RFID and free software
Yris Pastor Miguel1, García Higuera Andrés
2, García Ansola Pablo
2, González Serna
Gabriel1
1 CENIDET, México.
2 Autolog, University Castilla – La Mancha, Spain.
Abstract
This paper presents the modeling and implementation of a tracking and traceability system of products
within a warehouse using RFID, Wi-Fi, Android operating system and the EPC standard to optimize
the storage/retrieval and picking processes. We propose a client-server system architecture. The client
application can obtain the EPC code of an object marked with an RFID tag inside the warehouse and get
the approximate location of the object read by the client application by reading Wi-Fi signals obtained by
the device running the client application. The application server implements an event and location engine
based on the EPCIS Repository application.. The system allows quick and efficient location of products,
while implementing artificial intelligence methods to improve productivity during the picking processes.
1 Introduction
Chaotic warehouses have become a common scenario in which the lack of reliability on product
positioning has resulted in a significant increase in the times required for picking . In scenarios where a
chaotic warehouse management is the only available solution for improving productivity, a new approach
can be the implementation of traceability systems based on RFID technology. By having a traceability
system in pace, a company manager or warehouse manager can get the position and status of any product
in real time [1]. Currently traceability systems are integrated by specific hardware with non-free software,
which usually makes the deployment to become an expensive solution. Past research has lead to the
development of middlewares that manage contextual services based on devices with sensors and active
RFID [2]. Other software solutions offer product localization in real time based active RFID and APIs
like Google Maps, but its operation is limited to outdoor use [3]. In most scenarios, only limited versions
for specific visibility points have been implemented, which means that the current implementations are
not suitable for non-fixed product locations. This paper describes the design and implementation of an
internal traceability system for a chaotic warehouse where specific products are not always located in the
same position.
Our system consists of two applications, a client application that runs on a Tablet with Android operating
system and a server application developed in Java that runs on a Tomcat application server. This server
application extends the EPCIS Repository application capabilities. The client device has been deployed
on a trans-pallet carrying an RFID reader. The client device communicates via Bluetooth with the RFID
reader at the trans-pallet and sends data via HTTP to the warehouse server trough the LAN (Local Area
Network).
For the correct performance of the system, the store must have a network of Wi-Fi access points that will
provide coverage on the warehouse picking area. Every pallet that enters the store has an RFID tag and
the database server must have a map of Wi-Fi signals in the warehouse.
The client application has 2 main activities: storing and picking. The storage process starts when the
trans-pallet loads a pallet. At this point the RFID reader gets the pallet EPC code and sends it to the client
device via bluetooth. The trans-pallet operator places the pallet somewhere in the warehouse (dropping
point), so that the RFID reader stops reading the EPC code of the pallet. The client application obtains the
power-levels of the signals from the different access points captured at that dropping point in the
warehouse and sends the vector with the following information: EPC code, access point MAC, access
point signal strength. This way the server records the pallet storage position for the calculated dropping
point. Picking operations are managed by an event engine that implements artificial intelligence methods.
A Picking operation starts when the event engine sends to the client device the list of objects to collect
and the position of each of the objects. The server starts a process of guided tour through the optimal
route for picking the products in the order list.
The implementation of our system increases the efficiency of management in a chaotic warehouse by
automatically determining and recording the coordinates of each object placed in the warehouse. The
system also includes order management using artificial intelligence techniques to calculate optimal routes
for each order picking; thus reducing time in the picking process. The route is calculated based on the
device's position and the recorded dropping point for the requested pallet. Therefore, the client Graphical
User Interface (GUI) process uses signal traces of Wi-Fi access points to determine the client's position
and provide optimal routes.
The following sections describe the modules that constitute the system. These are classified into modules
contained in the client application and modules contained in the application server. Section four describes
the implementation of the system and some conclusions are finally obtained from the deployment of the
system.
2 Design
In this client-server set-up the client application runs on a tablet with WLAN and Bluetooth interface
under the Android operating system. This client application allows the visualization and description of the
EPC obtained from product tags by the RFID reader. EPC data is sent to the server application to initiate
the necessary resource management. Communication with the server application is achieved by sending
XML files and SOAP objects via HTTP. The use of XML files and SOAP objects derived from the
implementation of the EPCIS Repository application[4], this application derived from the project fosstrak
[4] implements comunication via XML files. The XML used by EPCIS Repository defines an EPCIS
event composed by attributes like time, place where an EPC code has been read and the list of EPCs that
have been read. The Application Server is developed in Java and implements two databases: locationDB
and EPCIS RepositoryDB. These databases allow the managing engine of the application server to know
the position of a client and the tasks each client device must perform. The server application extends all
the features of the free software application EPCIS Repository [9] (capture, query, reports y
subscriptions), while holding a client-server communication via XML or SOAP. This feature allows third-
party applications to interact with our application. Figure 1 shows a diagram with the internal structure of
this application.
Figure 11: modules and communication
diagram
3 Applications modules
The system is composed of individual modules
with specific tasks. Each module communicates
with other modules sending an XML file or the
corresponding parameters. The next sections
describe the modules for client and server
applications.
3.1 Client Application
The client application runs on an operating system Android 2.x. This application has the ability to: get the
flow of data emitted by the Bluetooth RFID reader, get information from the access points around the
Android device and view real-time information sent by the server application. The following subsections
describe the modules of the client application.
3.1.1 Location
This module is responsible for obtaining the track position signal using positioning techniques based on
fingerprint signal comparison [5], which is updated to the application server that can generate a related
event for the client. Location of client devices is based on the corresponding signal traces of the points
where the customer is. A fingerprint is a vector signal composed of the names of access points that can
capture a signal that includes corresponding strengths at that point. For the correct operation of the
location module is necessary realize a training stage. In
the training stage is obtained and stored into the location
database the IEEE 802.11 signal fingerprint of the
warehouse. Figure 2 shows a radio-map formed by the
signal fingerprint captured in the storage area, this is a
graphical representation of signal propagation of the
different access points within the coverage area. Red
areas show high-power intensity of the signal close to
the access points to the WLAN, while yellow areas
represent WLAN poor coverage.
Figure 12: Warehouse radio-map
3.1.2 Communication
Communication modules in this application
allow interaction between a RFID reader with
Bluetooth interface and the application server.
This has been achieved trough the development
of programming methods that allow obtaining
the data flow of the RFID reader, create an
EPCIS event into a XML file and send it to the
server application. Methods of communication
via SOAP objects have been developed to
ensure two-way communication with the server
application. This allows the implementation of
applications that can place queries to the EPCIS
Repository of all client devices within
warehouse areas from enterprise customers
anywhere in the world [6]. Figure 3 shows a
layered model of communications in this
application with the hardware involved and the
EPCIS Repository implementation.
Figure 13: layered model of the communication
3.1.3 Display module
The display module on the client allows graphical displaying of events generated and sent by the server
application. This way the client is informed in real time about each event that takes place and the location
of the objects involved in it.
The main screen of the client application is divided into two sections, the left section shows the
information about the order sent by the event engine.: the order products list, the products were harvested
and the list of products to pick up. The right section shows a map of the warehouse, over the map shows
the route to be followed to make the picking order and position of the pallets that containing products to
be collected. Every time that a product is collected the system updates the display information showing
the new list of products for collecting and the new route to follow.
Figure 14: display module in a tablet
3.2 Application server
The application server is implemented in modules containing the event engine, the required mapping
tools and the report modules. A synchronised operation of all these modules allows reporting location
and additional information about products in real time. The following subsections describe the modules
of the server application.
3.2.1 Mapping
The mapping module is composed of a set of methods to calculate the approximate position of each
customer in the warehouse. The position of the client is calculated in base to the information of the IEEE
802.11 WLANs captured and sent by the client location module. This module sends the positions of each
active client in the warehouse to the event engine. The fingerprint of access points provides information
about the client's position and allows the device to guide customers into the warehouse while doing the
picking process.
3.2.2 Event Engine.
The event engine is responsible for managing the processes followed by products in the distribution
centre. To perform its function, the event engine receives a token from the RFID readers deployed in the
warehouse every time a product performs a process (in, out, store) in the warehouse process cycle. Based
on the status information of the products, the event engine handles an event for each of them (change
position, underwriting, integrating order and picking). Events such as routing and order picking are sent
to the client device.
3.2.3 Reporting
The reporting module obtains in real time the status and position of a product or order status. Position and
ID information are stored into a XML file and sent to the client that requested the report. Implementation
of XML files allows other systems to check the reports generated by our system.
4 Deployment Scenario
Figure 5: network diagram of the deployment
scenario
The scenario where the system has been implemented
is a warehouse that has the following infrastructure:
RFID antennas deployed in the area of product
revenues and expenditures, 4 access points for IEEE
802.11 WLAN,, truck-pallets with an android tablet and
an RFID reader with Bluetooth interface, a database
server and application server. Figure 5 shows a network
diagram of the deployment scenario.
4.1 Implementation
The distribution of the traceability hardware at the
warehouse is the following: the gates by which
products enter o leave the warehouse have 4 RFID
antennas each. These antennas scan the pallets to report
the entry or exit of products. Each storage-keeping-unit
(SKU) – or space to store a pallet -, is identified by a
unic Wi-Fi signal strength that identified the SKU and
the passageway. The locations database contains the relation of spaces allocated to all pallets identified by
their correspondingWi-Fi signal strength . The warehouse has 4 IEEE 802.11 access points that provides
total coverage over the warehouse picking area. Each allocated space for pallets has a signal fingerprint
formed by the magnitude of the signal strength of each access point captured at that point. The location
database contains the relation location-fingerprint assigned spaces around the store.
In implementation sequence, the first step is getting the radio-map and to store the relation signal
strength-location. To achieve this, the client device displays a warehouse map on which draw a grid, each
grid cell corresponds to a location area. The forklift operator roam the store stopping at each cell, using
the touch screen of the android device the forklift operator indicates his location into the grid map of the
warehouse. The location module in the client application obtains the signal fingerprint and together with
the ID of the selected cell trans-pallet operator are sent to the server application
The incoming product is transported to a storage passageway available using a trans-pallet with a
Bluetooth RFID reader placed at the forks of the trans-pallet to scan the RFID tags in the pallets and
an Android tablet running the client application. The client application obtains the pallet identifier using
the RFID reader and the identifier of the cell where the product was deposited based in the comparison of
the signal fingerprint obtained scanning the WLAN, this information is sends via XML to the event
engine. Each client device is connected to the warehouse WLAN.
When a customer places an order, the event engine receives this order and starts the process of resource
management. The event engine gets the availability of products that belong to the order. If there are
enough products to fill the order, the event engine gets the list of available forklifts. The system calculates
the optimal route to pick the order and sends the order and the route to the selected client/trans-pallet.
The client application receives the order and the Tablet screen shows the list of products to pick and the
optimal route on the warehouse map. Whenever a product is obtained, this product disappears from the
list on the Tablet screen.
Once the list of products is obtained, the client receives the delivery order. When the order is delivered,
the forklift becomes available again.
Each order delivered is scanned by RFID portals in the warehouse shipping area and the products deleted
from the list of stocks.
5 Conclusions.
A tracking system has been implemented that optimizes picking time and increases the efficiency in tasks
management inside a chaotic warehouse. The system makes use of common wireless communication
infrastructure (Access Points IEEE 802.11), passive RFID tags and high performance/low-cost
Android devices for low cost implementation. The communication via XML and SOAP allows third-party
applications to interact with our application. The modular programming of the client and server
application allows an easy maintenance and ensure system scalability. An API is developed based on
methods of communication modules in the client application that extends the features of EPCIS
repository for Android OS applications. All these developments are based on free hardware.
Future developments will include the implementation of a NFC and LLRP interaction module.
6 Literature
[1]
XiaohuiZhao ,Chengfei Liu, and Tao Lin, “Enhancing Business Process
Automation by Integrating RFID Data and Events”,
Proceedings of the Confederated International Conferences, CoopIS, DOA, IS,
and ODBASE 2009,Portugal.
[2]
Tomas Sanchez Lopez, Daeyoung Kim, "A Context Middleware Based on
Sensor and RFID Information",Proceedings of the Fifth IEEE International
Conference on Pervasive Computing and Communications Workshops,
PERCOMW '07,2007, USA.
[3]
Loffler, A.; Wissendheit, U.; Gerhauser, H.; Kuznetsova, D.; , "GIDS - A
system for combining RFID-based site information and web-based data for
virtually displaying the location on handheld devices", Institute of Electrical
and Electronics Engineers -IEEE-:
IEEE International Conference on RFID 2008, Las Vegas, USA.
[4] http://www.fosstrak.org/epcis/index.html (2011)
[5]
Jie Yin, Qiang Yang, Learning, “Adaptive Temporal Radio Maps for Signal-
Strength-Based Location Estimation”, IEEE Transactions on Mobile
Computing
, 2008, USA.
Andrés García Higuera received his degree in Industrial Engineering for Automation and Electronics at
the Polytechnical University of Madrid in 1991. Previously (since 1987) he already had another degree in Mechanical
Engineering from the University of Córdoba (Spain). In 1999 he obtained his PhD in Robotics and Automation at the
Polytechnical University of Madrid. In 2001 he joined the Automation and Control Group, Institute for
Manufacturing, Department of Engineering, University of Cambridge as Senior Research Associate. During this time
he worked as researcher for the Auto-ID Centre. Founded by Gillette, UPS, P&G and UCC this research initiative
began at the MIT and got together several research centres at a global scale to develop RFID technology solutions
and standards.
Pablo Garcia Ansola received the M.Sc. degree in computer science and the MBA from the
University of Castilla-La Mancha, Spain. He is currently a Research Scientist in the Autolog Labs in the UCLM. He
is also the manager of the Autolog spin-off, called “Securware”, which received several innovation awards like the
IDEA, Innovared or Desafio22. Before joining the UCLM, he was involved in the business intelligent area of the
major Spanish consultancy INDRA, as consultant. His research interests include integration of intelligent Systems in
the SCM and decision making support.
Miguel Angel Yris Pastor received the degree in computer science from Juarez lance university of
Tabasco, México. currently is a researcher and student at Computer Science departament of the national center of
research and technological development (CENIDET) in Cuernavaca Morelos, Mexico.
Juan Gabriel González-Serna. Obtained his B.S. degree in computer systems from the Acapulco
Institute of Technologic (ITA-SEP), México, in 1992, his M.S. degree in computer science from the CENIDET
Mexico, in 1995 and obtained his PhD degree in computer science from the computing research center, National
Polytechnic Institute (CIC-IPN), Mexico, in 2006. He works at CENIDET Computer Science Department as a
researcher and professor, he has been in charge of several research projects on wireless and mobile networks and he
supervises master and PhD theses in the same field. He lectures B.S. courses in ITESM Cuernavaca since 2003 and
graduate courses in CENIDET since 1995. He is a member of the Researchers National System (SNI) since 2000
Capítulo 8 -- Anexos Página 113
8.3 Especificaciones técnicas de instrumentos utilizados en el proceso de localización
8.3.1 Puntos de acceso
Punto de Acceso Linksys WRT54GL
Modelo: WRT54G
Estándares:IEEE 802.3, IEEE 802.3u, IEEE 802.11g, IEEE 802.11b
Canales:
11 canales (EE. UU., Canadá)
13 canales (Europa, Japón)
Puertos/botones:
Internet: Un puerto 10/100 RJ-45
LAN: Cuatro puertos 10/100 RJ-45 conmutados
Un puerto de alimentación
Un botón de reinicio
Un botón SecureEasySetup
Tipo de cables:Tipo CAT 5
Luces: Alimentación, DMZ, WLAN, LAN (1, 2, 3, 4), Internet, SecureEasySetup
Potencia de salida de radiofrecuencia: 18 dBm
Cert./compat. UPnP: Compatible
Funciones de seguridad: Firewall con inspección exhaustiva de paquetes (SPI), directiva de
Internet
Seguridad inalámbrica: Wi-Fi Protected Access™ 2 o WPA2; (acceso Wi-Fi protegido 2), WEP,
filtrado de direcciones MAC inalámbrico.
Capítulo 8 -- Anexos Página 114
Punto de Acceso Linksys WRT120N
Modelo: WRT120N
Estándares: IEEE 802.3u, 802.11g, 802.11b, versión 802.11n
Luces: Alimentación, Internet, Conexión inalámbrica, Wi-Fi Protected Setup™ (Configuración Wi-Fi
protegida), Ethernet (1-4)
Puertos: Internet, Ethernet (1-4), alimentación
Botones: Reinicio, Wi-Fi Protected Setup™ (Configuración Wi-Fi protegida)
Tipo de cableado: Cat 5
Número de antenas: 2 (internas)
Modulaciones: 802.11b: CCK/QPSK, BPSK
802.11g: OFDM/BPSK, QPSK, 16-QAM, 64-QAM
802.11n: OFDM/BPSK, QPSK, 16-QAM, 64-QAM
Potencia transmitida en dBm:802.11b: 16,5 ± 1,5 dBm (habitualmente)
802.11g: 13,5 ± 1,5 dBm (habitualmente)
802.11n: 13,5 ± 1,5 dBm (habitualmente)
Sensibilidad de recepción en dBm:-94 dBm (habitualmente) a 1 Mbps
-90 dBm (habitualmente) a 11 Mbps
-75 dBm (habitualmente) a 54 Mbps
Ganancia de la antena en dBi: 2,0 (máx.)
Cert./compat. UPnP: Compatible
Seguridad inalámbrica: Wi-Fi Protected Access™ 2 o WPA2; (acceso Wi-Fi protegido 2), WEP,
filtrado de direcciones MAC inalámbrico
Bits de clave de seguridad:Encriptación de hasta 128 bits
Capítulo 8 -- Anexos Página 115
Punto de Acceso DLink 2440t
ESTÁNDARES
IEEE 802.11n (draft 2.0)
IEEE 802.11g/b
Support Full/Half Duplex operations
Support Auto Negotiation
HARDWARE
SDRAM: 8 MB
Flash: 2MB
PUERTOS
4 Puertos LAN 10/100 Mbps Fast Ethernet MDI/MDIX
1 Puerto WAN 10/100 Mbps Fast Ethernet MDI/MDIX (Soporta Dirección IP estática, DHCP Client,
PPPoE, PPTP, L2TP, IPSec, VPN Pass through)
Botón Reset
Conector Energía
ANTENA
1 Antena Fija tipo dipolo
Ganancia: 5 dBi
ESTÁNDAR IEEE802.11B
Modulación:
DQPSK
DBPSK
CCK
Frecuencia:
2400 a 2483.5 MHz ISM band
Número de Canales:
11 Canales FCC
Capítulo 8 -- Anexos Página 116
13 Canales Europa
Data Rate:
11, 5.5, 2, 1 Mbps
Media Access Protocol:
CSMA/CA con ACK
Potencia de Transmisión:
17 dBm at 11, 5.5, 2 y 1 Mbps
Sensibilidad de Recepción:
-79 dBm for 11Mbps
–82 dBm for 5.5Mbps
–84 dBm for 2Mbps
–86 dBm for 1Mbps
ESTÁNDAR IEEE802.11G
Modulación:
BPSK
QPSK
16QAM
64QAM
OFDM
Frecuencia:
2400 a 2483.5 MHz ISM band
Data Rate:
54, 48, 36, 24, 18, 12, 9 y 6 Mbps
Media Access Protocol:
CSMA/CA con ACK
Potencia de Transmisión:
14 dBm at 54, 48 Mbps
15 dBm at 36, 24 Mbps
16 dBm at 18, 12 Mbps
16 dBm at 9, 6 Mbps
Sensibilidad de Recepción:
–65 dBm at 54Mbps
–66 dBm at 48Mbps
–70 dBm at 36Mbps
–74 dBm at 24Mbps
–77 dBm at 18Mbps
–79 dBm at 12Mbps
–81 dBm at 9Mbps
–82 dBm at 6Mbps
Capítulo 8 -- Anexos Página 117
8.3.2 Portal RFID
Lector RFID Impinj Speedway
Air Interface Protocol EPCglobal UHF Class 1 Gen 2 / ISO 18000-6C
Performance Includes all possible performance configurations and
functionality to deliver peak performance for even the
most challenging of applications
Supported Regions and
Geographies US, Canada, and other regions following US FCC Part
15 regulations
Europe and other regions following ETSI EN 302 208
v1.2.1 without LBT regulations
Australia, Brazil, China, India, Japan, Korea, New
Zealand, Singapore, South Africa, Taiwan, Uruguay
Pending regulatory approval—Hong
Kong, Malaysia, Thailand, and Vietnam
Antennas 4 high performance, monostatic antenna ports optimized
for Impinj reader antennas (RP TNC)
Transmit Power +10.0 to +30.0 dBm (PoE)
+10.0 to +32.5 dBm1 (external universal power
supply)
Note 1: Speedway Revolution requires professional
installation, may only be operated with Impinj-approved
antennas, and can radiate no more than 36 dBm EIRP
per FCC Part 15.247 regulations. Other regulatory
regions have similar restrictions. Consult the Installation
and Operations Guide to learn more.
Max Receive Sensitivity -82 dBm
Max Return Loss 10 dB
Application Interface EPCglobal Low Level Reader Protocol (LLRP) v1.0.1
Network Connectivity 10/100BASE-T auto-negotiate (full/half) with auto-
sensing MDI/MDX for auto-crossover (RJ-45)
Cellular Connectivity* Sierra Wireless AirLink PinPoint XT (CDMA or GSM
connectivity with GPS data)
Capítulo 8 -- Anexos Página 118
Sierra Wireless AirLink Raven XT (CDMA or GSM
connectivity)
(* Available through Impinj-authorized partners)
IP Address Configuration DHCP, Static, or Link local Addressing (LLA) with
Multicast DNS (mDNS)
Time Sychronization Network Time Protocol (NTP)
Management Interfaces Impinj Web Management UI
Impinj RShell Management Console using serial
management console port, telnet or SSH
SNMPv2 MIBII
EPCglobal Reader Management v1.0.1
Syslog
Reliable Firmware Upgrade Dual image partitions enable smooth transition to
new firmware while the reader is still operating
Scalable upgrade mechanism enabling simultaneous
scheduled upgrades of multiple reader
USB Flash Drive
Impinj Web Management UI
Management Console
RS-232 using a standard Cisco-style management
Cable (DB-9 to RJ-45)
Baud rate: 115200; Data: 8 bit; Parity: none; Stop:
1 bit; Flow control: none
USB USB 1.1 Device (Type B) and Host (Type A) ports
USB Virtual COM Serial Port and USB drive support
for embedded applications
GPIO 4 inputs, optically isolated, 3–30V
4 outputs, optically isolated, 0– 30V, non-isolated 5V,
100 mA supply (DB-15)
Power Sources Power over Ethernet (PoE) IEEE 802.3af
+24 VDC @ 800 mA via external universal power
supply with locking connector—sold separately
Capítulo 8 -- Anexos Página 119
8.3.3 Dispositivo móvil cliente
HTC WildFire
Dimensiones
Peso: 118g (con batería)
Procesador
Qualcomm® MSM7225A™, 528 MHz
Batería
Batería recargable de iones de litio
Capacidad: 1300 mAh
Cámara
Cámara color de 5 megapíxeles con enfoque automático y flash
Navegación
Bola de navegación óptica
Aplicaciones
Friend Stream, YouTube™, Facebook®, Twitter™, Flickr®, HTC Peep
Capítulo 8 -- Anexos Página 120
Pantalla
3.2 pulgadas
QVGA de 240 x 320 píxeles
Pantalla sensible al tacto
Sistema Operativo
Plataforma Android™ 2.1 (Éclair) con HTC Sense™
Memoria
ROM: 512 MB
RAM: 384 MB
Tarjeta de memoria microSD ™ (compatible con SD 2.0)
Red
HSPA/WCDMA 850/1900 MHz
Velocidades de carga de hasta 384 kbps y velocidad de descarga de hasta 7.2 Mbps
Cuatro bandas GSM/GPRS/EDGE: 850/900/1800/1900 MHz (*)
Conectividad
Bluetooth® 2.1 con FTP/OPP para transferencia de archivos
Wi-Fi® IEEE 802.11 b/g
Micro-USB estándar (micro-USB de 5 conectores)
Conector de sonido estéreo de 3,5 mm
Antena GPS interna
Capítulo 8 -- Anexos Página 121