Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Universidad De Murcia
Facultad De Informática
Localización en interiores con redes de sensores mediante
técnicas de fingerprinting
Proyecto Fin de Carrera
Ingeniero en Informática
Autor:
Juan Jiménez Santana
Tutores:
Óscar Cánovas Reverte
Félix Jesús García Clemente
2
Contenido
1. Introducción ....................................................................................................................... 4
1.1. Motivación .................................................................................................................. 4
1.2. Metodología .............................................................................................................. 4
1.3. Objetivos .................................................................................................................... 5
1.4. Estructura de la memoria ....................................................................................... 5
2. Estado del arte .................................................................................................................. 6
2.1. Introducción a las redes inalámbricas de sensores ......................................... 6
2.1.1. Tipos de dispositivos ....................................................................................... 8
2.1.2. Roles de un dispositivo ................................................................................... 8
2.1.3. Topologías usadas en WSNs .......................................................................... 8
2.2. Técnicas de localización ......................................................................................... 9
2.2.1. Celda de origen ............................................................................................... 10
2.2.2. Métodos basados en distancias .................................................................. 11
2.2.3. Métodos basados en el ángulo ................................................................... 13
2.2.4. Reconocimiento de patrones de huellas de radiación .......................... 14
2.3. Sistema de localización de la FIUM .................................................................... 15
2.4. Sistemas de localización basados en redes de sensores ............................. 16
2.4.1. Sistema de localización de Seng-Yong Lau et al [19] ............................ 16
2.4.2. Sistema de localización de Josep Paradells et al [27] .......................... 16
2.4.3. Sistema de localización LAURA [33] .......................................................... 17
2.4.4. Sistema de localización de Paschalidis et al [28] ................................... 17
2.5. Conclusiones sobre el estado del arte .............................................................. 17
3. Diseño de la solución propuesta ................................................................................ 19
3.1. Arquitectura general del sistema ...................................................................... 19
3.1.1. Mota móvil ....................................................................................................... 20
3.1.2. Mota fija ............................................................................................................ 21
3.1.3. Equipo de administración ............................................................................. 23
3.2. Construcción del mapa de huellas de radiación ................................................. 23
3.3. Calibración ................................................................................................................... 25
4. Implementación .............................................................................................................. 26
4.1. Programación de las motas .................................................................................. 26
4.1.1. Plataforma hardware de las motas ............................................................ 26
4.1.2. Plataformas software para motas TelosB ............................................... 27
3
4.1.3. Programación de las motas usando TinyOS ............................................ 28
4.2. Programa del equipo de administración .......................................................... 29
4.3. Parámetros de configuración del sistema ....................................................... 30
4.4. Construcción del mapa huellas de radiación ................................................... 31
4.4.1. Proceso de construcción del mapa de huellas de radiación ................ 31
4.4.2. Programa para la construcción del mapa huellas de radiación .......... 32
4.5. Calibración ............................................................................................................... 32
4.6. Programa para las pruebas de validación del sistema ................................. 33
5. Validación del sistema .................................................................................................. 34
5.1. Análisis del mapa de huellas de radiación construido .................................. 34
5.2. Calibración ............................................................................................................... 35
5.3. Pruebas de localización ........................................................................................ 36
5.4. Pruebas de localización con señales calibradas ............................................. 38
6. Conclusiones y líneas futuras ..................................................................................... 40
Bibliografía ................................................................................................................................ 41
Anexos ....................................................................................................................................... 44
A1. Protocolo Dissemination ............................................................................................. 44
A2. Protocolo Collection .................................................................................................... 45
4
1. Introducción 1.1. Motivación
El mercado de sistemas de localización en tiempo real de activos y personas
se espera que alcance este año un volumen de negocio que alcance los 1260
millones de dólares [2] y 2710 millones en 2016 [32]. Esto ha hecho que este
campo haya recibido mucha atención en los últimos años.
Por este motivo, en la Facultad de Informática de la Universidad de Murcia
(FIUM) se ha llevado a cabo una serie de proyectos, que han dado como
resultado un sistema de localización de interiores utilizando Wi-Fi.
Este sistema, explicado con más detalle en el apartado 2.3, utiliza la técnica
de reconocimiento de huellas de radiación para determinar la posición de un
objeto. Esta técnica, requiere de una fase de construcción de un mapa de
huellas de radiación, que servirá de referencia para obtener la posición de un
objeto en la fase de operación del sistema. Además, se emplean técnicas de
calibración, para el ajuste de las señales de los distintos dispositivos que han
sido utilizados, y técnicas de estimación del error, que permiten comunicar la
precisión de la posición inferida por el sistema.
Los resultados obtenidos tras las pruebas realizadas usando este sistema en
el entorno de explotación, la planta de tercera de la FIUM, muestran que es
posible localizar a un objeto en movimiento con un error inferior a los 2,5
metros y a un objeto inmóvil con un error inferior de 0,5 metros.
Además, se ha observado un gran crecimiento de las redes de sensores
inalámbricas en los últimos 10 años, ofreciendo soluciones múltiples
sectores: agricultura, industria, medicina…
Este tipo de redes se componen de pequeños dispositivos, normalmente
alimentados con baterías, que se comunican inalámbricamente para
intercambiar información, normalmente procedente de los sensores con los
que se ha equipado al dispositivo.
La combinación de estos dos factores ha hecho que se plantee la posibilidad
de desarrollar una estructura similar a la creada para el sistema de
localización creado en la FIUM, pero en la que se use como plataforma
hardware una red de sensores inalámbrica.
1.2. Metodología
Para ello se han adquirido 7 sensores inalámbricos, que han sido utilizados
para desplegar una infraestructura similar a la desplegada para el sistema ya
existente.
Estos dispositivos han sido programados para cumplir una función similar a
que realizan los puntos de acceso Wi-Fi que conforman la infraestructura del
5
sistema ya desplegado. Además, para la gestión de los mismos y realizar las
pruebas se han implementado una serie de aplicaciones de escritorio.
1.3. Objetivos
Una vez desplegada la red de sensores, se ha creado un mapa de huellas de
radiación similar al creado anteriormente utilizando Wi-Fi. Después, se han
realizado pruebas de localización con el fin de estudiar los resultados
obtenidos, para compararlos con los obtenidos utilizando Wi-Fi.
Con estas pruebas se pretende estudiar si es posible obtener los mismos
resultados con la red de sensores, con un despliegue similar al Wi-Fi o si sería
necesario un despliegue personalizado para esta tecnología.
Además, se ha estudiado la posibilidad de utilizar la calibración para emplear
el mapa creado con Wi-Fi, lo que podría ahorrar la construcción de un nuevo
mapa de huellas de radiación para implantar un sistema donde ya existiese
previamente uno que utilizase otra infraestructura con otra tecnología
hardware.
1.4. Estructura de la memoria
Para dar a conocer la tecnología empleada, el trabajo realizado y recoger los
resultados y el análisis de estos, se ha creado esta memoria, que se estructura
de la siguiente forma:
Capítulo 1, introducción del proyecto que nos ocupa.
Capítulo 2, introduce los conceptos más importantes referentes a este
proyecto, explica el sistema de localización existente y muestra
algunos ejemplos de sistemas similares al que se quiere desplegar.
Capítulo 3, aborda las cuestiones de diseño planteándolas y aportando
soluciones argumentadas al problema presentado.
Capítulo 4, comprende la parte de implementación tanto desde el
punto de vista software como operativo.
Capítulo 5, muestra el análisis realizado a los resultados obtenidos tras
el despliegue del sistema.
Capítulo 6, recoge las conclusiones y hace un repaso general a todo el
ciclo de vida del proyecto.
6
2. Estado del arte
En esta sección se introducirán los principales conceptos relativos a redes de
sensores y sistemas de localización. Para ello, se dará una visión general
sobre las redes inalámbricas de sensores, se mostrarán las técnicas de
localización más utilizadas, se mostrará el sistema de localización
desarrollado en la FIUM y, para finalizar, se mostrarán una serie de ejemplos
de sistemas de localización basados en redes inalámbricas de sensores.
El objetivo de este apartado es el de mostrar una visión general del mundo de
la localización, basada en redes inalámbricas de sensores, de modo que se
pueda entender de forma clara y sencilla el resto de la memoria.
2.1. Introducción a las redes inalámbricas de sensores
Una red de sensores es una infraestructura compuesta por sensores (medidores), elementos de cómputo y elementos de comunicación que dan a un administrador la capacidad de instrumentar, observar y reaccionar a eventos y fenómenos en un entorno determinado [1]. El administrador es típicamente una persona perteneciente al gobierno o a una empresa, una entidad industrial, etc. El entorno puede ser el mundo real, un sistema biológico, o un framework de un sistema de información. Los usos más comunes incluyen, pero no están limitados a esto, recogida de datos, monitorización, vigilancia o telemetría médica.
Hay cuatro componentes básicos en una red de sensores [34]:
1. Un conjunto de sensores distribuidos o localizados. 2. Una red de interconexión. 3. Un punto central de información del agrupamiento. 4. Un conjunto de recursos de computación en el punto central (o más
allá) para manejar la correlación de los datos, las tendencias de los eventos, el estado de las peticiones y la minería de datos.
En este contexto, los nodos medidores y los computadores son considerados parte de una red de sensores. Debido a la potencial gran cantidad de datos recogidos, los algoritmos para el manejo de datos toman un rol muy importante en este tipo de redes. La infraestructura de computación y de comunicaciones asociada con las redes de sensores es, a menudo, desarrollada especialmente para este tipo de redes y basada en el dispositivo y la naturaleza de la aplicación de la red.
La tecnología para medición y control incluye sensores de campos eléctricos y magnéticos, de radiofrecuencia, ópticos, electroópticos e infrarrojos, radares, láseres, sensores de localización y navegación; medidores sísmicos y de presión, sensores de parámetros medioambientales (e.g. aire, humedad, calor) y sensores de seguridad bioquímica. Hoy en día los sensores pueden ser descritos como unos dispositivos inteligentes, de bajo coste y bajo consumo, equipados con múltiples elementos de medición, que normalmente están lógicamente ligados a un nodo central. Estos nodos son también llamados motas. Las motas están interconectadas por medio de una serie enlaces
7
inalámbricos que pasan por múltiples saltos de corta distancia y baja potencia, y utilizan internet u otro tipo de red para el transporte de datos a grandes distancias de un punto (o varios) al lugar donde se agrupan y analizan los datos.
Este tipo de redes tiene características únicas, tales como adquisición de datos redundantes, bajos ciclos de trabajo, flujos muchos a uno, fuertes requisitos energéticos y limitada duración de la batería de las motas. Por consiguiente, se necesitan nuevas metodologías de diseño a lo largo de un conjunto de disciplinas que incluyen, entre otras, transporte de información, redes y gestión operativa, confidencialidad, integridad, disponibilidad y procesamiento local y distribuido. En algunos casos es un reto recolectar datos de una red inalámbrica debido a que la conectividad hacia y desde algunos nodos puede ser intermitente, pudiendo ser la causa de este hecho el que un nodo tenga bajo su nivel de batería, surjan interferencias en el medio u otro tipo de funcionamiento incorrecto.
Durante varios años, los proveedores utilizaron tecnología propietaria para recolectar datos de los dispositivos. Fue a principios de los 2000s, cuando los fabricantes de estos dispositivos realizaron varios estudios con el objetivo de estandarizar el mercado. Las redes inalámbricas típicamente transmiten pequeñas cantidad de datos sencillos (e.g. temperatura igual a 39). Para este tipo de aplicaciones, se descartó usar estándares Wi-Fi por ser demasiado complejos y soportar mayores anchos de banda del que es necesario para los típicos sensores. Los sistema infrarrojos requieren línea de visión, lo que no es siempre posible; la tecnología Bluetooth [4] fue inicialmente considerada como una posibilidad, pero pronto fue considerada demasiado compleja y cara. Esto abrió la puerta para un nuevo estándar IEEE 802.15.4 junto con ZigBee [38] (para ser específicos Zigbee se encarga de las capas software por encima de IEEE 802.15.4 y soporta una plétora de aplicaciones). IEEE 802.15.4 opera en la banda industrial, científica y médica (ISMB) de los 2.4 GHz y soporta tasas de transmisiones de datos de hasta 250 kbps en radios de 10 a 100 metros. ZigBee/IEEE 802.15.4 fueron diseñados para complementar a tecnologías inalámbricas como Bluetooth, Wi-Fi y ultra-wideband [35] (UWB), y está dirigido comercialmente a aplicaciones de medición donde las conexiones cableadas no son posibles, y el muy bajo consumo y el bajo coste son requisitos.
Hay también una considerable actividad investigadora en el área de las redes ad hoc móviles [3] (MANETs del inglés mobile ad hoc networks). Las redes inalámbricas de sensores (WSNs del inglés wireless sensor networks) son similares a las MANETs en algunos sentidos (e.g. ambas implican comunicaciones multihop). Sin embargo, las aplicaciones y los requisitos técnicos para estos dos sistemas son significativamente diferentes en varios aspectos, por lo que muchos de los protocolos propuestos para MANETs no pueden ser usados en WSNs, y se requieren enfoques alternativos.
8
2.1.1. Tipos de dispositivos
En una red IEEE 802.15.4 se distinguen generalmente dos tipos de
dispositivos [10]: dispositivos con funcionalidades completas (FFDs del inglés
full-function devices) y dispositivos con funcionalidades reducidas (RFD del
inglés reduced-function devices). Un FFD es capaz de realizar todas las tareas
descritas en el estándar IEEE 802.15.4 y puede cumplir cualquier rol en la red.
Por otro lado, un RFD tiene capacidades limitadas. Por ejemplo, un FFD puede
comunicarse con cualquier otro dispositivo dentro de la red, pero un RFD solo
puede hacerlo con un dispositivo FFD. También las capacidades de
procesamiento y el tamaño de la memoria de un RFD suelen ser inferiores a
las de un FFD.
2.1.2. Roles de un dispositivo
En una red IEEE 802.15.4, un dispositivo FFD puede cumplir tres tipos de roles
distintos [10]: coordinador, coordinador PAN (del inglés personal area
network) y dispositivo. Un coordinador es un dispositivo FFD que es capaz de
retransmitir mensajes. Si el coordinador es también el principal controlador
de una PAN, entonces es un coordinador PAN. Si no actúa como coordinador
es simplemente un dispositivo.
En el estándar Zigbee se utiliza distinta terminología pero se distinguen los
mismos roles: un coordinador Zigbee es un coordinador PAN 802.15.4, un
router Zigbee es un coordinador 802.15.4 y un dispositivo final Zigbee es un
dispositivo 802.15.4.
2.1.3. Topologías usadas en WSNs
La topología a usar en una red de este tipo debe ser alguna de las
especificadas en el estándar IEEE 802.15.4: estrella o peer-to-peer.
En la topología estrella, mostrada en la imagen a) de la Figura 1, cada
dispositivo en la red puede comunicarse sólo con el coordinador PAN. Un
escenario típico en este tipo de redes se da cuando un FFD, programado para
ser un coordinador PAN, es activado y empieza estableciendo su red. Lo
primero que hace este coordinador es establecer un identificador para la red,
que no sea utilizado por ninguna otra red dentro de su radio de influencia.
9
a) Estrella
Coordinador PAN
RFD
FFD
b) peer-to-peer
Figura 1 Topologías IEEE 802.15.4
En una topología peer-to-peer, mostrada en la imagen b) de la Figura 1, cada
dispositivo puede comunicarse directamente con cualquier otro dispositivo, si
ambos están los suficientemente cerca como para establecer
satisfactoriamente un enlace de comunicación. Cualquier FFD en una red
peer-to-peer puede tomar el rol de coordinador PAN. Normalmente, se elige
como coordinador PAN a aquel que crea la red. En este tipo de redes todos
los dispositivos que se encargan de retrasmitir los mensajes son FFDs, ya que
los RFDs no pueden cumplir esta función. Sin embargo, un RFD puede ser
parte de la red, comunicándose únicamente con un dispositivo particular (un
coordinador o un router) en la red.
Las redes peer-to-peer pueden tomar diferentes formas estableciendo
restricciones en las comunicaciones que se pueden establecer entre los
dispositivos. Si no hay restricciones se dice que asumen una disposición
mallada. En el caso de Zigbee, también se considera la creación de árboles de
enrutamiento, en los que el coordinador crea el árbol (se convierte en la raíz)
y los routers encaminan los mensajes desde o hacia la raíz, siendo
normalmente dispositivos RFD los nodos hoja.
2.2. Técnicas de localización
En esta sección se presentarán las técnicas más utilizadas para determinar la localización de un objeto en tiempo real. Estas pueden agruparse en cuatro categorías básicas de sistemas [8][10], que determinan la posición de un objeto en base a:
La celda de origen. La distancia (lateración). El ángulo (angulación). Reconocimiento de patrones.
10
La elección de una u otra técnica dependerá del ambiente en el que se vaya a implantar el sistema de localización y de los requisitos técnicos establecidos. Es común también la combinación de varias de estas técnicas, para así adaptarse a distintas situaciones dentro de un mismo entorno.
2.2.1. Celda de origen
La técnica de localización más sencilla es la basada en el concepto de celdas de radiofrecuencias. Esta solución asocia al dispositivo que quiere localizar las coordenadas de la estación base a la que este está asociado.
Por su sencillez esta técnica resulta fácilmente implementable en redes 802.11, ya que de forma muy sencilla puede determinarse a qué punto de acceso está asociado un dispositivo. Pero esta sencillez es también su gran desventaja, puesto que un dispositivo no siempre se encuentra asociado a su punto de acceso más cercano, por lo que la posición obtenida puede no ser correcta.
En el tipo de redes que nos ocupa, no existe el concepto de punto de acceso, pero una variante de este método puede ser usado igualmente. En esta variante una serie de dispositivos actuarán como puntos de acceso, anunciándose periódicamente como tales. Un nodo que quiera determinar su posición, medirá la potencia de la señal recibida de los puntos de acceso e indicará que se encuentra en la celda administrada por un determinado punto de acceso escogiendo aquel del que ha recibido la señal con mayor potencia.
Figura 2 Localización usando celda de origen
Esta segunda variante, que también es utilizada en redes 802.11, mejora los resultados obtenidos por la variante original, pero sus resultados siguen sin ser precisos y dependen del tamaño de las celdas. Aun así, en ciertos ambientes puede resultar útil, como un método de pseudo-localización, en el que no se precise la posición exacta de un objeto sino más bien conocer el área en la que se encuentra.
11
2.2.2. Métodos basados en distancias 2.2.2.1. Tiempo de llegada
En sistemas basados en el tiempo, la estimación de la velocidad de propagación de la señal y el tiempo que tarda la señal en viajar del transmisor al receptor son usados para determinar la distancia entre los nodos. El sistema GPS se basa en este concepto para determinar la posición de un objeto.
Este método requiere que transmisor y receptor estén sincronizados. El tiempo de llegada es el valor absoluto del tiempo de vuelo de la señal del transmisor al receptor. La distancia puede calcularse multiplicando este tiempo a la velocidad de propagación de la señal, que típicamente será la velocidad de la luz. Esta distancia nos permite establecer una circunferencia, de radio igual a la distancia calculada, en la que se encuentra el receptor y cuyo centro es el transmisor. Si tenemos tres transmisores la intersección de las tres circunferencias obtenidas nos dará la posición del receptor.
Figura 3 Localización usando tiempo de llegada
La sincronización es crítica en este método. Cuanto más rápido viaje la señal en el aire, más significativo se volverá un error en la sincronización. Por ejemplo, la sincronización es más crítica cuando se usa una señal de radiofrecuencias en lugar de ultrasonidos. También, en entornos cerrados, el efecto de multipath puede incrementar el error de la estimación considerablemente. Una señal de alto ancho de banda como UWB mejora la precisión de la estimación significativamente frente a las señales 802.15.4. Gracias al alto ancho de banda de las señales UWB permiten tener una gran precisión [27], pero puesto que el ancho de banda de las señales 802.15.4 es muy bajo este método no es apropiado.
2.2.2.2. Diferencia de tiempo de llegada
En contraste con la técnica anterior, esta sólo requiere sincronización en los receptores. Los nodos localizadores reciben la señal transmitida por el nodo a localizar, siendo la diferencia entre el tiempo de llegada de la señal a los nodos localizadores usada para calcular la posición del nodo a localizar.
12
Mota a localizar
Mota localizadora 1 Mota localizadora 2
d1 = c x t1 d2 = c x t2
Posible localización
Figura 4 Localización usando diferencia de tiempo de llegada
Cuando tenemos dos nodos localizadores, podemos calcular la Δd, que es la diferencia entre la distancia de d1 y d2. Para los nodos mostrados en la Figura 4, podemos escribir las siguientes ecuaciones:
√
√
donde (X1, Y1), (X2, Y2) y (E1, E2) son las coordenadas de los nodos localizadores 1 y 2, y del nodo a localizar, respectivamente. Si la señal emitida por el nodo a localizar, sólo es recibida por dos nodos localizadores, entonces la única conclusión a la que se puede llegar, usando las ecuaciones anteriores, es que el nodo en cuestión está situado en una curva hiperbólica, mostrada en la Figura 4 como una línea discontinua. Si un tercer nodo recibiese la señal, entonces la localización estimada del nodo a localizar sería la intersección de las correspondientes curvas hiperbólicas. Puesto que pueden darse casos en los que estas ecuaciones arrojen más de una posible localización, es recomendable añadir más nodos localizadores.
2.2.2.3. Potencia de señal recibida
Las dos técnicas anteriores usan el tiempo para medir la distancia, en vez de eso esta técnica usa la potencia de la señal recibida. Esta puede ser medida por cada paquete recibido y es cuantificada obteniendo el indicador de potencia de señal recibida (RSSI del inglés received signal strenght indicator). El valor del RSSI en el momento en el que el paquete fue recibido está disponible para las capas MAC, red y aplicación, para cualquier tipo de análisis. Con este valor puede crearse un sencillo método de localización, que no necesita de ningún hardware extra para poderse implementar.
Hay cuatro parámetros asociados con el RSSI:
Rango dinámico, es especificado en dB e indica la energía mínima y máxima recibida que el receptor es capaz de medir.
Exactitud, indica el error promedio asociado con cada medida de la potencia de señal recibida.
13
Linealidad, indica la desviación máxima de la gráfica del valor de RSSI con respecto a una línea recta, frente a la señal recibida actualmente (en escala logarítmica).
Periodo promedio, la potencia de la señal recibida es medida en un periodo de tiempo (periodo promedio) y entonces promediada para generar el valor del RSSI.
El método más simple para determinar la localización de un nodo que se quiera localizar es solicitar que este nodo emita una señal. Entonces, de entre los nodos localizadores, se escogerá el que haya obtenido el máximo valor de RSSI, siendo la posición del nodo a localizar la de ese nodo. Si se quiere aumentar la precisión, en vez de escoger el de mayor valor de RSSI, lo que se ha de hacer es calcular la posición del nodo a localizar, como la intersección de las circunferencias que representan la cobertura de los nodos localizadores que han recibido la señal del nodo a localizar.
2.2.3. Métodos basados en el ángulo
Cuando un transceptor, equipado con una antena sencilla, recibe una señal, puede medir la potencia de la señal y obtener el RSSI, como se veía en el apartado anterior, pero también puede determinar la dirección con la que ha llegado la señal. Con un pequeño costo adicional, añadiendo una segunda antena, esto puede usarse para determinar el ángulo con el que la señal ha sido recibida.
Asumiendo que el nodo a localizar es capaz de determinar el ángulo de llegada de las señales recibidas, un algoritmo sencillo puede ser utilizado para estimar la posición del nodo. La Figura 5 describe el concepto de la localización basada en el ángulo de llegada. Los nodos localizadores, que tienen una posición conocida, transmiten señales que el nodo a localizar recibe y a las que les calcula el ángulo de llegada. Con esta información puede determinar su posición.
Esta técnica es algo más limitada que las anteriores, ya que requiere el uso de un hardware especial y se ve afectada por posibles obstáculos que pueden hacer que el ángulo de llegada cambie.
Nodo a localizar
Nodo localizador 1 Nodo localizador 2
θ1 θ2
Figura 5 Localización usando ángulo de llegada
14
2.2.4. Reconocimiento de patrones de huellas de radiación
Esta técnica de localización es implementada en dos fases:
Calibración Operación
La calibración consiste en una fase de entrenamiento en la que se genera una base de datos de valores RSSI obtenidos de las señales que emiten los nodos localizadores en determinadas posiciones. Este enfoque se conoce como centralizado, pero también es posible un enfoque conocido como “orientado a la red”, en el que lo que se almacena es la potencia con la que se reciben las señales emitidas por el nodo a localizar, en los nodos localizadores. Podemos pensar que el entorno en el que se quiere desplegar el sistema es una cuadrícula como la de la Figura 6, en la que en cada posición se guarda un vector que contiene los valores RSSI obtenidos en esta fase.
Figura 6 Localización basada en reconocimiento de patrones
Durante la fase de operación, dependiendo de si se ha optado por un enfoque centralizado o uno orientado a la red, se enviarán vectores con los valores RSSI obtenidos, por el nodo a localizar o por los nodos localizadores, en tiempo real a la base de datos, y el sistema de localización usará esos valores, junto con los almacenados en la fase de calibración, para obtener la posición de los nodos a localizar.
Para determinar la localización, se emplean algoritmos de reconocimiento de patrones que pueden ser clasificados en:
Deterministas, intentan encontrar el vector más cercano almacenado en la base de datos al obtenido en tiempo real. Siendo el más cercano el que determine la posición del nodo a localizar.
Probabilistas, usan inferencias para determinar la probabilidad de que el vector obtenido en tiempo real, haya sido obtenido en la fase de calibración. En este enfoque la base de datos obtenida en la fase de calibración es vista como una distribución de probabilidad, que se usa para obtener las probabilidades de la fase operativa.
15
Otras, en este grupo se engloban todas las técnicas que no usan los enfoques anteriores. En este caso los métodos usados son demasiado complejos para analizarlos matemáticamente y requieren del uso de técnicas de clasificación no lineales como las redes neuronales.
2.3. Sistema de localización de la FIUM
La base de este proyecto se sustenta en el sistema de localización creado
dentro de esta Facultad [5], por lo que antes de continuar se expondrán las
características más importantes del mismo.
En este sistema se utiliza la técnica de reconocimiento de patrones de huellas
de radiación para determinar la localización de un usuario, empleando un
método probabilista para el reconocimiento de los patrones de huellas de
ración.
El conjunto de posibles puntos en los que puede encontrarse un usuario se
denota como C = {c1, c2,…, cm} y se declara un vector π que contiene la
distribución de probabilidad sobre cada ci. Para una observación Oj, obtenida
en la fase de operación, que consiste en los valores de RSSI de las señales
recibidas de los distintos puntos de acceso, la probabilidad de recibir una
señal del punto de acceso αβ en la celda ci con una potencia de señal λβ puede
ser expresada por la probabilidad condicional:
∏
Ecuación 1
Estas probabilidades son obtenidas gracias al mapa de huellas de radiación
construido en la fase de calibrado del sistema y, aplicando la regla de Bayes,
permiten obtener los valores de π, aplicando la siguiente ecuación:
∑
Ecuación 2
Siendo la celda con mayor probabilidad almacenada en π, la que el sistema de
localización devolverá como posición actual del nodo a localizar.
Además, en la construcción de este sistema se ha tenido en cuenta que los
distintos dispositivos a localizar pueden ofrecer lecturas distintas de los
valores RSSI, con respecto al dispositivo utilizado en la fase de calibrado. Por
lo que, cuando se introduce un nuevo elemento a localizar, antes se calibra
utilizando la técnica explicada en la referencia [13].
16
También se ha tenido en cuenta que la posición del sistema de localización
puede tener cierta probabilidad de ser errónea y que este valor puede ser
usado para informar al usuario o mejorar el proceso de localización. Para
obtener la estimación de este error se utiliza una variante de la técnica de
agrupamiento de huellas de radiación propuesta en la referencia [20].
Para implementar este sistema, se han usado dispositivos que cumplen el
estándar IEEE 802.11 [14], concretamente se emplean 6 puntos de acceso que
cubren una superficie de 1050 m2 y sirven como puntos de referencia.
Además, se emplearon ordenadores portátiles, PDAs y teléfonos móviles,
como elementos a localizar.
Los resultados obtenidos en las pruebas realizadas a este sistema, muestran
que se puede localizar a un usuario con un error inferior a los 2,5 metros,
cuando este está en movimiento, y con un error inferior a los 0,5 metros,
cuando este permanece inmóvil.
2.4. Sistemas de localización basados en redes de sensores
A continuación se presentan una serie de sistemas de localización con
características similares al implementado en la FIUM, pero que utilizan como
plataforma hardware WSNs.
2.4.1. Sistema de localización de Seng-Yong Lau et al [19]
En este sistema, para determinar la posición del nodo que se quiere localizar
se emplea el reconocimiento de patrones de huellas de radiación, usando el
método de los k-vecinos más cercanos para determinar qué patrón, de los
recogidos en la fase de calibración, es el más parecido al obtenido en la fase
de operación.
Para su despliegue se usaron 24 motas colocadas a 5 metros de distancia
entre ellas, que emitían cada 200 ms un mensaje de anuncio de presencia, con
una intensidad de señal de -7 dBm.
En sus pruebas se obtuvo una precisión de entre 50 y 80 cm, en el mejor de
los casos. Pero también se muestra como el tráfico procedente de redes
802.11 puede influir en estos resultados, haciendo que se alcancen errores
medios de 9 metros.
2.4.2. Sistema de localización de Josep Paradells et al [27]
Esta propuesta resulta de especial interés pues se enfoca al aumento de la
seguridad personal y de materiales, lo que muestra que un sistema de
localización puede tener múltiples utilidades.
Las técnicas de localización que se emplean son la diferencia de tiempo de
llegada y el reconocimiento de patrones de huellas de radiación. Para poder
combinar ambas, se emplean motas que disponen de interfaces 802.15.4 y
17
capacidad de emisión de ultrasonidos, lo que les permite medir con gran
precisión la diferencia de tiempos de llegada.
Los resultados obtenidos muestran un error medio de 5 a 10 cm, en el caso de
poder usar ultrasonidos y de 3 metros si esto no es posible.
2.4.3. Sistema de localización LAURA [33]
El sistema implementado por estos investigadores emplea el reconocimiento
de patrones de huellas de radiación, utilizando la distancia euclídea para el
reconocimiento de los patrones.
En términos de localización no se propone ninguna novedad reseñable frente
a los sistemas anteriores. Pero sí se aportan datos interesantes en cuanto a la
densidad de nodos localizadores necesaria para conseguir una precisión de 2
metros en el 80% de los casos.
Su entorno de pruebas fue un local de oficinas de 100 m2 y, tras varias
pruebas, se determinó que una de densidad de 0.15 motas/m2 era necesaria
para conseguir la precisión que se deseaba.
2.4.4. Sistema de localización de Paschalidis et al [28]
Este sistema de localización, al igual que el anterior, utiliza la técnica de
reconocimiento de huellas de radiación, empleando métodos probabilísticos,
similares a los utilizados en el sistema desarrollado en la FIUM, para el
reconocimiento de los patrones de huellas detectados.
Los autores, colocaron 30 motas para cubrir los 170 m2 de su lugar de
pruebas, con lo que conseguían un error de menos de 3 metros en el 87% de
los casos.
2.5. Conclusiones sobre el estado del arte
A lo largo de esta sección se han explicado los conceptos esenciales sobre
redes de sensores, se ha llevado a cabo un repaso a las técnicas de
localización en interiores más utilizadas, se ha mostrado el funcionamiento
del sistema de localización desarrollado en la FIUM y se han mostrado una
serie de sistemas de localización, basados en componentes hardware
similares a lo que se utilizarán en este proyecto, lo que nos permite
establecer la situación actual del ámbito de aplicación de este proyecto.
En la introducción a las WSNs se ha mostrado que esta nueva tecnología
ofrece una gran variedad de usos, cuyas aplicaciones abarcan una gran
cantidad de campos, lo que las está convirtiendo en un valor por el que
apostar en un futuro cercano.
En el repaso a las técnicas de localización más utilizadas, hemos podido
comprobar que dependiendo de los objetivos, el entorno de explotación y el
18
hardware disponible, unas técnicas ofrecen mejores resultados que otras, lo
que ha de tenerse en cuenta a la hora de implementar un sistema de
localización.
Seguidamente se han mostrado los aspectos más relevantes del sistema de
localización desarrollado en el FIUM, lo que ha dejado patente que la
aplicación de una técnica de localización adecuada al entorno de explotación
y adaptada al hardware disponible, puede ofrecer grandes resultados.
Finalmente, en el repaso a los sistemas de localización basados en WSNs
seleccionados, se ha comprobado que con esta tecnología también es posible
obtener buenos resultados, pero que es necesario tener en cuenta las
limitaciones que este tipo de dispositivos presentan.
Gracias a este repaso estamos en disposición de afrontar la tarea de diseñar e
implementar una solución que cumpla con los objetivos propuestos para este
proyecto.
19
3. Diseño de la solución propuesta
Mostrada ya la tecnología que hace posible las WSNs, el funcionamiento del
sistema de localización existente y algunos ejemplos que nos servirán de
referencia para desplegar nuestra solución, se procede a mostrar el diseño de
la red de sensores, así como los programas relacionados con su
funcionamiento, que permitirán llevar a cabo nuestros objetivos:
Comprobar la efectividad del sistema de localización empleando la red
de sensores.
Comparar los resultados obtenidos en función de la plataforma
hardware utilizada.
Comprobar si es necesario volver a realizar una fase de calibración,
previa a la fase de operación del sistema de localización, si se quiere
cambiar la plataforma hardware que permite la localización.
En los siguientes apartados se abordará la tarea del diseño de:
La arquitectura que hará posible la localización.
El proceso para la creación del mapa de huellas de radiación usando
este nuevo sistema.
El proceso de calibrado para poder utilizar este nuevo sistema usando
los datos del ya existente.
3.1. Arquitectura general del sistema
En este sistema se distinguen los siguientes dispositivos:
Mota móvil, la mota que portará el usuario que ha de ser localizado. Motas fijas, las motas que sirven de infraestructura para llevar a cabo
la localización de un usuario. Equipo de administración de la red de motas, equipo desde el que se
administrará la red formada por las motas y al que se conectará una de las motas fijas, conocida como mota base y cuya tarea es la de transmitir la información de la red de motas al equipo de administración.
Servidor REST, servidor al que el equipo de administración le enviará la información recogida de la red de motas y cuya función es la de servir de interfaz entre el sistema de almacenamiento del sistema de localización y sus clientes.
Servidor de localización, es el sistema encargado de localizar los distintos dispositivos registrados en el sistema.
Base de datos, equipo en el que el servidor de localización almacenará toda la información que necesita para su funcionamiento.
La manera en la que estos dispositivos están conectados puede visualizarse de la siguiente manera:
20
Mota móvilMota fija
Mota baseMota fijaEquipo de administración Servidor REST
Base de datos
Servidor de localización
Msj Anuncio (1)
Msj Localización (2)
Msj Localización (3)
Msj Localización (4) Msj localización (5)
Datos de localización (6)
Respuesta de localización (8)
Solicitud de localización (7)
Figura 7 Arquitectura general del sistema
En este esquema, cuando la mota móvil entra en la zona de influencia de las motas fijas, recibirá los mensajes anuncio (numerado con un 1 en la figura) que las motas fijas envían periódicamente. Tras calcular la intensidad con la que estos mensajes son recibidos, la mota móvil enviará un mensaje (numerado con un 2 en la figura) a las motas fijas, para que la retransmitan al equipo de administración (mensajes que pueden pasar por varias motas fijas y que están numerados del 3 al 5 en la figura). El equipo de administración, enviará esta información al servidor REST (mensaje número 6 en la figura). Además, el equipo de administración consultará periódicamente (mensajes 7 y 8 en la figura) a este mismo servidor para obtener la posición más actual del nodo a localizar, información que mostrará en pantalla y que actualizará periódicamente el servidor de localización.
Como puede verse, no se ha indicado el intercambio de mensajes que realizan el servidor de localización y el servidor REST, esto es así porque en este proyecto se va a usar el servidor de localización existente sin modificaciones.
Una vez mostrada la arquitectura general del sistema, los mensajes a intercambiar y los dispositivos que intervienen en ellos, vamos a pasar a explicar cómo la mota móvil, las motas fijas y el equipo de administración realizan su trabajo.
3.1.1. Mota móvil
Como se comentaba en el apartado anterior, la mota móvil, es aquella que portará el usuario al que se quiere localizar. Su funcionamiento puede resumirse con el siguiente diagrama:
Msj Anuncio
Msj Anuncio
Msj Anuncio
Msj Localización
Mota móvil Mota fija
Tiempo escucha
Figura 8 Intercambio de mensajes de la mota móvil
21
Como puede verse en la figura, las motas fijas envían mensajes en los que anuncian su presencia, en ellos la información que se transmite es la siguiente:
Longitud del campo (en bits)
Valor del campo Tipo de datos
16 Identificador de la mota fija Entero sin signo
Tabla 1 Mensaje anuncio
Cuando la mota móvil recibe un Mensaje anuncio, esta calcula la potencia de la señal con la que se recibió el paquete y almacena esta información junto con el identificador de la mota fija. Pasado el tiempo de escucha, la mota móvil calcula la media de la potencia de señal de los paquetes recibidos de cada mota fija, y envía esta información a las motas fijas más cercanas, para que la retransmitan al equipo de administración, con el siguiente formato de paquete:
Longitud del campo (en bits)
Valor del campo Tipo de datos
16 Identificador de la mota móvil Entero sin signo
16 Número de secuencia Entero sin signo
16 Número de motas detectadas Entero sin signo
N_Motas * 16 Identificadores de las motas detectadas Enteros sin signo
N_Motas * 16 Potencia media de la señal recibida de las
motas detectadas
Enteros con
signo
Tabla 2 Mensaje localización
El identificador de la mota móvil es usado por la aplicación de administración para diferenciar las distintas motas móviles y el número de secuencia permite eliminar posibles paquetes replicados y establecer un orden en los mensajes.
3.1.2. Mota fija
Como ya se indicaba en la introducción de esta sección, dentro de las motas fijas se distingue una mota fija especial, conocida como mota base que será la que se conecte al equipo de administración. Esta mota asume la tarea de coordinar a las motas fijas y de servir de interfaz entre la red de motas y el equipo de administración.
Por medio del protocolo Dissemination, explicado en los anexos, que permite compartir una serie de valores entre las distintas motas fijas, la mota base compartirá los siguientes parámetros de configuración:
Tipo de mensajes a enviar: las motas fijas pueden realizar dos tareas, enviar mensajes de tipo anuncio, para así localizar a la mota móvil, o enviar mensajes de diagnóstico para conocer el estado de las motas fijas.
22
Periodo de envío de mensajes: indica cada cuantos milisegundos se debe enviar mensajes.
Actividad: cuando tiene valor falso la mota no realizará ninguna tarea.
El formato de los mensajes de configuración es el siguiente:
Longitud del campo (en bits)
Valor del campo Tipo de datos
7 Tipo de mensaje a enviar Entero sin signo
1 Actividad de la mota Binario
16 Periodo de envío de mensajes Entero sin signo
Tabla 3 Mensaje configuración
3.1.2.1. Modo localización
En el modo localización, como se comentaba en el apartado dedicado a las motas móviles, las motas fijas envían Mensaje anuncio, con la periodicidad indicada por la mota base. Eventualmente, alguna de ellas recibirá un mensaje de localización de alguna de las motas móviles, que deberá ser encaminado a la mota base, o, si la mota fija que lo ha recibido es la base, se lo retransmitirá al equipo de administración.
Para el encaminamiento de estos paquetes hasta la mota base, se usa el protocolo Collection, explicado en los anexos, que permite de forma eficiente crear un árbol de encaminamiento, entre las distintas motas fijas, hasta la mota base.
El intercambio de mensajes que se realiza puede visualizarse en la siguiente figura:
Mota fija baseMota fijaMota móvil Equipo administrador
Msj Localización
Msj Anuncio
Msj Anuncio
Msj Anuncio
Msj Localización
Msj Localización
Tiempo escucha
Periodo de envío
Figura 9 Intercambio de mensajes de la mota fija en modo localización
3.1.2.2. Modo de diagnóstico
El modo de diagnóstico cumple dos tareas básicas, conocer la topología del árbol de encaminamiento usado por las motas fijas, para enviar mensajes hasta la mota base, y conocer el estado de la batería de las motas fijas. Para
23
ello, envían la siguiente información a la mota base, usando el árbol de encaminamiento creado con el protocolo Collection:
Longitud del campo (en bits)
Valor del campo Tipo de datos
16 Identificador de la mota fija Entero sin signo
16 Identificador del padre de la mota Entero sin signo
16 ETX enlace Enteros sin signo
16 Batería restante Enteros sin signo
Tabla 4 Mensaje diagnóstico
El campo “Identificador del padre de la mota” almacena el identificador del nodo hacia el que la mota que envía los mensajes para que lleguen a la mota base. El campo “ETX enlace” almacena el valor que el protocolo Collection asigna al enlace entre el nodo y su padre, cuanto menor es el valor, menor es la dificultad para que desde el nodo emisor del mensaje se alcance la mota base.
Cuando la mota base recibe estos paquetes, se los envía al equipo de administración, que los utilizará para mostrar al usuario el estado de la red de motas.
3.1.3. Equipo de administración
El equipo de administración contará con un programa que proveerá de una interfaz gráfica al usuario, con la que podrá interactuar para configurar los parámetros que afectan a la red de motas, enviando mensajes de configuración a la mota base que tendrá conectada, para que esta los retransmita al resto de motas fijas. Además, será el encargado de recibir los Mensaje localización que le lleguen de la mota base y retransmitir esta información al servidor REST.
3.2. Construcción del mapa de huellas de radiación
Para la construcción del nuevo mapa de huellas de radiación se han utilizado
los mismos puntos de toma de muestras que se definieron para el sistema ya
existente y que pueden ser vistos en la Figura 10. En la imagen se aprecia que
sólo se realizará la localización en los pasillos, para no tener que entrar en los
distintos despachos que hay en el área de explotación, y marcadas con un
punto negro también puede verse dónde se sitúan las motas localizadoras,
siendo estas posiciones las mismas que las ocupadas por los puntos de acceso
utilizados para el sistema de localización basado en Wi-Fi.
24
Figura 10 Lugar de explotación
Para realizar este proceso de forma sencilla, se ha diseñado una versión
modificada del programa de la mota móvil con los siguientes cambios:
Mientras que en la versión para la fase de operación la mota móvil
envía los datos recogidos a la mota fija más cercana, ahora lo hará al PC
al que estará conectada.
El periodo de envío de mensajes de la mota móvil no depende del
tiempo, ahora la mota inicia un periodo de escucha de señales a
petición del PC y, pasado un segundo, le responderá a este con un
mensaje de tipo mapa.
El formato de los mensajes que enviará la mota al PC.
El formato de los mensajes que enviará el PC a la mota.
El nuevo formato de los mensajes enviado de la mota al PC será el siguiente:
Longitud del campo (en bits)
Valor del campo Tipo de datos
16 Identificador de la mota móvil Entero sin signo
16 Punto de muestreo Entero sin signo
N_Motas * 16 Identificadores de las motas
detectadas
Enteros sin signo
N_Motas *
N_Muestras/s * 16
Potencia media de la señal recibida
de las motas detectadas
Enteros con
signo
Tabla 5 Mensaje mapa
25
Como puede verse, ahora no se calcula la media de la potencia de señal
recibida desde las motas localizadoras, sino que se envían todas las
detectadas, ya que para la creación del mapa es más conveniente tener la
información completa de las señales recibidas y no la media.
El nuevo formato de los mensajes que enviará el PC a la mota, será el
siguiente:
Longitud del campo (en bits)
Valor del campo Tipo de datos
16 Punto de muestreo Entero sin signo
Tabla 6 Mensaje pc mapa
3.3. Calibración
La calibración es empleada en el sistema de localización basado en Wi-Fi para
añadir nuevos elementos a localizar, pero en nuestro caso esta técnica será
utilizada para poder utilizar el mapa de huellas de radiación creado con Wi-Fi,
usando las motas como elementos localizadores.
El proceso de calibración consiste en recoger muestras de valores RSSI, del
mismo modo que se hace para la creación del mapa de huellas de radiación,
pero sólo en unos pocos puntos concretos que sirven como referencia en
todas las calibraciones.
Estos valores de RSSI son usados para obtener los parámetros de calibración
usando el proceso descrito en [13]. Con esto se consigue que los valores RSSI
obtenidos por una mota sean similares a los obtenidos por el elemento
hardware usado para la creación del mapa Wi-Fi.
Los datos a obtener para la calibración son los mismos que se utilizan para la
obtención del mapa de huellas de radiación, sólo se requieren pequeños
cambios de implementación, por lo que el mismo diseño puede ser empleado.
26
4. Implementación
Una vez completado el diseño de los distintos componentes del sistema,
estos han de ser implementados, en los siguientes apartados se explicará
cómo se ha realizado esta tarea, empezando por cómo se programarán las
motas y continuando con las distintas aplicaciones de escritorio para la
administración de la red de motas, la obtención del mapa de huellas de
radiación, la realización del calibrado y las pruebas de validación del sistema.
4.1. Programación de las motas
La programación de un elemento hardware es dependiente de la plataforma
elegida, por lo que antes de explicar cómo se han programado las motas se
introducirán los detalles más relevantes de la plataforma elegida.
Una vez presentada la plataforma hardware elegida, se mostrará la
plataforma software seleccionada, para terminar explicando cómo se ha
llevado a cabo la programación de las motas, usando esa plataforma
software.
4.1.1. Plataforma hardware de las motas
En el mercado actual de WSNs existe una gran variedad de plataformas
hardware, entre ellas predominan las que cumplen con el estándar IEEE
802.15.4, por ser el estándar más utilizado en WSNs, que define las capas
física y de acceso al medio.
En capas superiores existe una gran la variedad de estándares, por lo que la
elección no es tan sencilla. En el apartado 2.1, se presentaba Zigbee como un
estándar destinado a cubrir esa funcionalidad, pero sus políticas de licencias
software presentan problemas a la hora de ser utilizado en proyectos GNU,
que es el tipo de licencia por la que se ha decido optar para este proyecto.
Por este motivo se ha decido buscar una plataforma hardware para la que
existan plataformas software compatibles con la licencia GNU y se ha
descartado Zigbee como plataforma software.
Las motas empleadas en este proyecto son de tipo TelosB [30], una plataforma de código abierto, que es distribuida por múltiples fabricantes, de baja potencia, diseñada para el estudio y la experimentación, y para la que existen múltiples plataformas de desarrollo compatibles con la licencia GNU. En la imagen, que se muestra a continuación, pueden verse los componentes más importantes de esta plataforma:
27
Figura 11 Arquitectura TelosB
Como puede verse en la figura 11, incluye, en un solo dispositivo, todos los elementos esenciales para estudios de laboratorio:
Chip CC2420 [7] compatible con el estándar IEEE 802.15.4. Micro-controlador MSP430 [24] de baja potencia, para la realización de
cálculos sencillos. Antena integrada, con potencia de -24 a 0 dBm, y un rango en
interiores de hasta 30 metros. Conexión USB para su programación. Posibilidades de ampliación. Leds informativos. Botón programable. Botón de reinicio. Alimentación mediante dos pilas AA.
4.1.2. Plataformas software para motas TelosB
A la hora de programar una red de motas TelosB, existen múltiples
posibilidades de código abierto, entre las que destaca TinyOS [21], que se ha
convertido en un estándar de facto para este propósito.
Este sistema operativo fue diseñado específicamente para su empleo en
redes inalámbricas de sensores, por lo que se ajusta perfectamente a sus
requisitos, es de código abierto y tiene tras de sí una amplia comunidad de
desarrolladores. Su arquitectura se basa en componentes y su programación
es orientada a eventos, usando como lenguaje de programación NesC (una
extensión de C).
Este sistema operativo funciona como un conjunto de tareas y procesos que colaboran entre sí y está diseñado para incorporar nuevas funcionalidades de forma sencilla.
28
El diseño del Kernel de TinyOS está basado en una estructura de dos niveles de planificación:
Eventos: Son funciones que se ejecutan cuando se produce una interrupción, esto nos permite escribir pequeñas funciones que realicen una función para tratar un evento. Los eventos más comunes son la recepción de un dato de un sensor, la recepción de un mensaje a través de la interfaz radio y señales de reloj procedentes de un temporizador definido en el programa.
Tareas: Las tareas son funciones que están pensadas para hacer cálculos complejos y que no son críticas en tiempo.
Una tarea puede ser interrumpida por un evento, pero los eventos una vez que toman el control no lo devuelven hasta que terminan de ejecutarse. Puesto que un evento muy complejo podría monopolizar la CPU, se prefiere que estos realicen pequeños cálculos y se usen las tareas para los cálculos más complejos.
4.1.3. Programación de las motas usando TinyOS
En este apartado no se pretende explicar línea a línea el código fuente, sino
que, siguiendo la filosofía de eventos y tareas de TinyOS, se mostrarán los
eventos y tareas que se dan en la mota móvil y en las fijas.
4.1.3.1. Mota móvil
La mota móvil tiene una programación muy sencilla en la que sólo se tiene
que tener en cuenta dos eventos:
Recepción de un paquete a través de la interfaz radio, esta función es
en la que los mensajes de anuncio emitidos por las motas fijas son
procesados, se obtiene el valor RSSI de la señal recibida y se almacena
al junto con el identificador de la mota de la que recibió el paquete.
Señal de reloj de un temporizador, como se comentaba en la fase de
diseño, la mota móvil recibirá mensajes de las motas fijas durante un
periodo y, pasado ese tiempo, se calculará la media de las potencias de
las señales recibidas de cada mota y se las remitirá a las motas fijas. La
forma de realizar esto en TinyOS es usando un temporizador, que
periódicamente emitirá una señal, lo que indicará a la mota que debe
calcular la media de las potencias de las señales y pasar esta
información a las motas fijas.
4.1.3.2. Mota fija
La mota fija ha de distinguir varios tipos de mensajes, por lo que para facilitar su programación se define un evento por cada tipo de mensaje:
Recepción de un mensaje de la mota móvil, la mota móvil emite mensajes periódicamente que las motas fijas deben enviar a la mota base o al PC si la mota que lo recibe es la base, es en este evento donde se realiza esta tarea.
29
Recepción de un mensaje de la mota móvil procedente de una mota fija, las motas fijas forman un árbol de enrutamiento cuya raíz es la mota base, por lo que es frecuente que se reciban paquetes de otras motas fijas para ser retransmitidos a la mota base. En este evento lo único que se debe hacerse es reenviar el mensaje a la siguiente mota fija del árbol de enrutamiento o si la mota que lo ha recibido es la mota base, retransmitírselo al PC.
Señal de reloj de un temporizador, dependiendo del modo de trabajo, definido en la etapa de diseño, en este evento la mota enviará por broadcast un mensaje de anuncio o un mensaje de diagnóstico a su padre en el árbol de enrutamiento, árbol construido con el protocolo Collection y que es utilizado para enviar mensajes a la mota base.
Recepción de un mensaje diagnóstico procedente de una mota fija, el trabajo a realizar en este evento es el mismo que en el evento de recepción de mensajes de la mota móvil procedente de una mota fija.
Recepción de un mensaje de configuración, en este evento la mota procesará el mensaje de configuración recibido, realizando los cambios necesarios en los eventos que se vean afectados, y propagará esta nueva configuración a sus motas vecinas.
Recepción de un mensaje a través del interfaz USB, este evento sólo será recibido por la mota base y es utilizado para cambiar su configuración, como ocurre con el evento anterior, para después retransmitir esta nueva configuración al resto de motas fijas.
4.2. Programa del equipo de administración
El equipo de administración será el encargado de recibir los datos de la red de motas y de permitir su configuración, para esta tarea se ha creado una aplicación de escritorio que muestra al usuario todas las opciones disponibles:
Figura 12 Programa del equipo de administración
Esta aplicación ha sido implementada utilizando el lenguaje de programación JAVA, ya que TinyOS provee de un driver escrito en este lenguaje de
30
programación, que permite, a través de una sencilla interfaz, enviar y recibir mensajes a/desde la mota.
Como puede apreciarse en la imagen, en la parte derecha se acumulan todas las opciones, divididas en tres paneles:
Configuración del mapa: puesto que las coordenadas de una mota o el identificador del punto en el que se encuentra, no resultan descriptivos para un usuario, se ha añadido la posibilidad de insertar una imagen que contenga el plano del lugar en el que se quiere localizar a la mota. Además, también se cargan los puntos desde los que se tomaron las huellas de radiación. Para llevar a cabo esta tarea la aplicación lanzará una petición al servidor REST para obtener la lista de mapas disponibles. Después se mostrará al usuario la lista de mapas disponibles. Seguidamente la aplicación, en función de la elección del usuario, solicitará el mapa seleccionado y los puntos de referencia al servidor REST.
Configuración de motas: como se comentaba anteriormente, las motas fijas tienes varios parámetros que pueden ser configurados. Desde este panel el usuario puede establecer el valor de los mismos y tras pulsar el botón “Cargar configuración” les serán comunicados a través de la mota base. Esto implica el envío de un mensaje de configuración desde la aplicación a la mota base, cuyos parámetros pueden ser definidos por el usuario.
Mensajes: este panel permite mostrar al usuario los mensajes recibidos y enviados de/por la mota base. Esto, además, permite monitorizar el estado de la batería de las motas y observar que las comunicaciones funcionan correctamente.
Finalmente, el panel de la izquierda es usado para mostrar la localización del usuario, cambiando de color el punto del mapa que se corresponde con su posición, y para mostrar las motas fijas y los enlaces existentes entre ellas, que utilizan para enviar mensajes a la mota base.
4.3. Parámetros de configuración del sistema
En el sistema hay varios parámetros cuyo valor sólo puede ser fijado tras
realizar pruebas con el mismo, estos son:
Canal utilizado por las motas para el envío inalámbrico de datos.
Periodicidad del envío de mensajes de anuncio por parte de las motas
fijas.
Periodicidad de mensajes de localización por parte de la mota móvil.
Potencia de señal de las motas.
En la elección del canal a utilizar se ha de tener en cuenta las posibles
interferencias. En el entorno de explotación del sistema no existe otra red de
motas, pero al usar la banda ISM nos encontramos con interferencias
procedentes de dispositivos Wi-Fi.
31
El estándar IEEE 802.15.4 define 27 canales, siendo el canal 26 el más alejado
de los canales Wi-Fi, por lo que se ha elegido este como canal para el envío
inalámbrico de datos.
Una alta periodicidad del envío de mensajes de anuncio puede permitir tener
mucha información con la que determinar la localización de una mota móvil,
pero si esta periodicidad es demasiado alta puede hacer que se sobrecargue
la red y se produzcan colisiones entre los mensajes, por lo que el efecto sería
el contrario. Mientras que una periodicidad baja dificulta la tarea de localizar
a la mota móvil, pues se dispone de poca información para hacer eso posible.
Por estos motivos se ha llegado a un valor de compromiso de 300 ms, que
permite tener suficiente información sin sobrecargar la red.
La periodicidad de los mensajes de localización influye directamente en el
servidor de localización, ya que este periodo limita cada cuanto recibe
información sobre las señales recibidas por la mota móvil. Una alta frecuencia
conllevaría que la mota móvil recibiese pocos anuncios de las motas fijas
entre cada mensaje de localización que esta enviase, por lo que la
información que recibiría el sistema de localización sería pobre. Una
frecuencia demasiada baja, haría que la distancia recorrida por el usuario
entre dos muestras fuese demasiado grande lo que restaría efectividad al
sistema de localización. En este caso se decidido por optar por un valor de 1
segundo, que permite obtener información suficiente de las motas fijas y es
una cantidad de tiempo tras la que un usuario no ha recorrido demasiado
espacio.
4.4. Construcción del mapa huellas de radiación
En esta sección se explicará tanto el proceso de construcción del mapa de
huellas de radiación como los programas utilizados en este proceso.
4.4.1. Proceso de construcción del mapa de huellas de radiación
Para construir el mapa de huellas de radiación, se debe recorrer el lugar de
explotación, ver Figura 10, con la mota móvil, midiendo la intensidad de los
Tabla 1 Mensaje anuncio que las motas fijas emiten y transmitir esta
información al servidor de localización.
Este proceso, si bien es sencillo, debe hacerse meticulosamente, y se ha
hecho siguiendo las siguientes directrices:
Recoger mucha información en cada punto, en nuestro caso se han
recogido más de 200 muestras de RSSI por punto.
Recoger la información en diferentes momentos del día, tomar todas
las muestras en una sola tanda limitaría la calidad de la información
obtenida, ya que no mostraría las variaciones que se producen en el
lugar de explotación del sistema a lo largo del día. Por eso, en nuestro
32
caso, las muestras se tomaron en tres días diferentes y a distintas
horas.
4.4.2. Programa para la construcción del mapa huellas de radiación
Para realizar esta tarea de forma más sencilla se ha creado un programa que
se instalará en el PC al que irá conectada la versión modificada de la mota
móvil, explicada en el apartado 3.2 y que, al igual que el programa de
administración se ha programado usando JAVA. A continuación puede verse
una imagen del mismo:
Figura 13 Programa de muestreo
Su funcionamiento es bastante similar al del programa de administración de
la red de motas y al igual que este permite obtener la imagen del mapa y los
puntos de referencia consultando al servidor REST.
Usando la imagen cargada, que servirá como referencia el usuario, este puede
tomar las muestras pinchando en los puntos azules de la imagen y que se
corresponden con los puntos de referencia del mapa. Cada vez que el usuario
pinche en un punto el programa enviará un Mensaje pc mapa a la mota móvil
conectada al puerto USB del PC. Este mensaje indicará a la mota que debe
construir un mensaje mapa con las señales que reciba durante un segundo y
que pasado este tiempo deberá enviar este mensaje a la aplicación a través
del puerto USB al que está conectada. Estos datos serán procesados por la
aplicación de muestreo, que luego los enviará al servidor REST.
4.5. Calibración
Como ya se explicaba en el apartado 3.3, la calibración es muy similar al
proceso de construcción del mapa de huellas de radiación, por lo que se
utilizará el mismo programa para ambas tareas.
33
El intercambio de mensajes entre mota y PC es el mismo, pero ahora las
muestras obtenidas en la mota no se almacenan en la base de datos del
sistema de localización, sino que se almacenan en un fichero de texto.
Posteriormente, los datos recogidos con el programa de muestreo serán
procesados por otra aplicación, con lo que se obtendrán los parámetros de
calibración para el dispositivo con el que se ha realizado la toma de muestras.
4.6. Programa para las pruebas de validación del sistema
Para llevar a cabo las pruebas de validación del sistema, debemos hacer un
recorrido a lo largo del mapa emitiendo muestras al sistema de localización
para que este nos localice.
Puesto que el número de puntos a visitar en una prueba puede ser grande, el
sistema de localización permite realizar pruebas offline, en las que se le
puede indicar que realice una localización basándose en puntos almacenados
en su base de datos entre un par de fechas.
Para esta tarea también se puede utilizar el programa de muestreo. En este
caso, los mensajes que se intercambian son de tipo Mensaje localización,
siendo estos remitidos al servidor REST, del mismo modo que se realiza en el
proceso de construcción del mapa de huellas de radiación.
Además, se almacenan en un fichero los puntos en los que se tomaron las
muestras. Estos puntos nos permiten saber en qué posición se encontraba el
usuario cuando se realizó la prueba, para así poder compararlo con lo que el
sistema de localización infiere, lo que permite calcular la precisión del
sistema.
34
5. Validación del sistema
En la validación del sistema se pretende comprobar la precisión del sistema
de localización y si es posible utilizar el mapa generado con tecnología Wi-Fi
para realizar la localización usando las motas.
Antes de estas dos tareas es importante evaluar el mapa de huellas de
radiación, puesto que podríamos encontrarnos con que determinados puntos
no reciben señal de una mota fija o que la señal recibida es demasiado pobre.
Además, es también necesario evaluar la posible efectividad de la calibración
antes de plantearnos usarla para emplear el mapa obtenido con Wi-Fi.
A continuación se muestras las conclusiones más importantes tras la
realización de las distintas pruebas.
5.1. Análisis del mapa de huellas de radiación construido
Para facilitar el análisis de las muestras recogidas se ha creado una imagen,
que se corresponde con la Figura 14, y que nos indica, en función del tamaño
de los puntos mostrados en el mapa, la cantidad de señal que la mota a
localizar puede recibir de las distintas motas localizadoras en cada punto del
mapa (a mayor tamaño del punto, mayor cantidad de señal recibida).
Figura 14 Intensidad de señal en cada punto
Esta imagen nos permite establecer las siguientes conclusiones:
Los puntos del 53 a 60 (salvo el 55), solo reciben señal de dos motas
localizadoras (la 5 y la 6), lo que puede influir mucho en la calidad de
35
las predicciones obtenidas por el sistema de localización, y que es
debido a la presencia de puertas metálicas que repelen la práctica
totalidad de la señal emitida por la mota localizadora 3, de la que
podría esperarse recibir señal.
El ascensor y las puertas metálicas tienen graves efectos en la señal
emitida por todas la motas, algo que se hace muy patente en el caso de
la mota localizadora 3, pues su rango se ve muy limitado.
Los puntos con mejor cobertura, son los situados en el pasillo
acristalado (puntos del 46 al 41 del mapa), esto los distingue del resto,
por lo que se esperan buenos resultados de localización en ellos.
5.2. Calibración
La calibración es fundamental de cara a poder usar el mapa de huellas de
radiación generado con Wi-Fi para localizar las motas. Esta posibilidad no solo
ahorraría tiempo a la hora desplegar un sistema de localización con una nueva
tecnología en una zona en la que ya existe un mapa creado anteriormente
con otra tecnología, sino que también nos permite comprobar la efectividad
de esta técnica.
Para la calibración se han tomado 100 muestras en tres puntos del mapa
seleccionados al azar, que han servido, aplicando la técnica mostrada en la
referencia [13], para obtener una relación lineal entre la señal recibida en la
mota localizadora y la recibida en el equipo utilizado para la creación del
mapa Wi-Fi.
Figura 15 Resultados de la calibración
0
10
20
30
40
50
60
70
80
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
Señ
al m
ed
ia r
eci
bid
a
Puntos del mapa
media Wi-fi media motas media motas calibradas
36
En la figura 15 se muestra, de color azul, la potencia de señal media
normalizada en cada punto del mapa que se ha utilizado para construir el
mapa de huellas de radiación usando las motas; de color verde, este mismo
dato pero para el mapa Wi-Fi y en rojo las señales de las motas tras aplicarles
la calibración.
Lo que se observa en esta gráfica es que la calibración logra aproximar con
bastante precisión la señal de las motas a la que se obtendría si se emplease
Wi-Fi. Esto nos muestra indicios de que la señal emitida por las motas puede
ser calibrada para obtener una señal similar a la que emitirían los puntos de
acceso Wi-Fi y que, por tanto, el mapa generado con Wi-Fi podría ser
empleado para la localización basada en motas.
Es importante, destacar que hay ciertas salvedades a estas afirmaciones, pues
puede observarse una distancia, que puede ser significativa, entre la señal
calibrada y la Wi-Fi, en los puntos 1 a 3, 31 a 33 y 58 a 60. Estos puntos se
corresponden a los bordes del mapa, donde la señal Wi-Fi consigue mejor
recepción gracias a la mayor potencia y mejores antenas, y pueden presentar
peores resultados que usando el mapa Wi-Fi, por lo que la efectividad de esta
técnica debe ser verificada en las pruebas de localización.
5.3. Pruebas de localización
Para comprobar la precisión del sistema de localización, usando las motas, se
han realizado varios recorridos, escogiéndose como ejemplo el mostrado en
la Figura 16, que se realizó a las 12 del mediodía, por ser una hora en la que
las señales emitidas por las motas podían verse afectadas por múltiples
factores, al haber muchas personas a esa hora en el entorno de explotación.
Además, en la prueba se pasa por puntos en los que se detectan señales con
intensidades bajas, medias y altas, lo que nos permite comprobar que efecto
puede tener que la cantidad de señal recibida sea baja.
37
Figura 16 Recorrido de prueba
Como referencia se utilizarán los resultados obtenidos usando Wi-Fi, pues
uno de los objetivos de este proyecto es comparar la precisión de la
localización usando motas frente a la obtenida usando Wi-Fi.
Figura 17 Resultados de localización
Si observamos la figura 17, lo primero que llama la atención de los resultados
es el error cometido en el punto de partida, algo que tras repetir la prueba se
atribuyó a una interferencia puntual. Si seguimos observando los resultados,
vemos como, hasta el punto 30, el error cometido está por encima de la
media, hecho que, si observamos la Figura 14, puede verse explicado por la
poca cantidad de señal que se recibe en esos puntos. A continuación, vemos
0
2
4
6
8
10
12
14
16
18
33 32 31 30 29 28 27 26 25 24 23 49 48 47 46 45 44 43 42 41 40 39 38
Dis
tan
cia
de
l err
or
(me
tro
s)
Puntos del mapa
Motas Wi-Fi
38
como el error aumenta otra vez alrededor del punto 25, debido a que el
ascensor se sitúa en la trayectoria de la señal procedente de la mota
localizadora 3. Prosiguiendo con el análisis de los resultados, encontramos un
error que inicialmente puede sorprendernos, en el punto 44, pero que tras
varias pruebas, nos muestra indicios de que las señales en el pasillo
acristalado, formado por los puntos 41 a 45, son muy similares en todos esos
puntos, por lo que eventualmente el sistema de localización puede situarnos
en cualquiera de esos puntos. Finalmente, en el punto 38, volvemos a
encontrar un error pico, hecho que se atribuye al efecto de apantallamiento
de las señales, producido por las puertas metálicas que se encuentran muy
próximas a este punto.
Tras el análisis de los resultados de esta prueba, podemos comparar los
resultados con los obtenidos con la tecnología Wi-Fi, para así ver que con las
motas se consiguen resultados similares. Por lo que a priori podemos pensar
que ambas tecnologías son igualmente válidas para la llevar a cabo la
localización.
5.4. Pruebas de localización con señales calibradas
Para concluir las pruebas realizadas al sistema, hemos repetido la prueba
mostrada en la Figura 16, pero esta vez se ha utilizado el mapa creado con la
tecnología Wi-Fi, con lo que se pretende comprobar la efectividad de la
técnica de calibración usada.
Figura 18 Prueba de localización con señales calibradas
Tras esta prueba, obtenemos nuevos indicios de que los resultados obtenidos
en el apartado 5.2 mostraban ciertamente que la técnica de calibración
0
5
10
15
20
25
33 32 31 30 29 28 27 26 25 24 23 49 48 47 46 45 44 43 42 41 40 39 38
Dis
tan
cia
de
l err
or
(me
tro
s)
Puntos del mapa
Mapa motas Mapa Wi-Fi
39
utilizada es útil para poder usar el mapa Wi-Fi para realizar localización
utilizando las motas. Aunque se observa un ligero aumento, de 0,5 metros,
por lo que los resultados deben ser tomados con cautela.
40
6. Conclusiones y líneas futuras
Este proyecto ha dado como resultado la implantación de una infraestructura
basada en una red de sensores que ha servido como soporte a un sistema de
localización basado en huellas de radiación.
Tras la implantación de esta infraestructura y el desarrollo de las aplicaciones
que hacen posible su funcionamiento, se han realizado múltiples pruebas con
el fin de comprobar su capacidad para localizar objetos en el entorno en el
que se ha sido desplegado el sistema.
Estas pruebas han demostrado que el despliegue realizado es capaz de
localizar a un objeto móvil con un error inferior a los 2,6 metros, lo que puede
ser considerado como un buen resultado si es comparado con sistema ya
existente y los ejemplos mostrados en el apartado 2.4.
Tras validar la capacidad de la infraestructura, se ha estudiado la capacidad
de la técnica de calibración seleccionada, con lo que se pretender averiguar si
es posible emplear un mapa de huellas de radiación creado con una
tecnología (en el caso del sistema desarrollado por la FIUM es Wi-Fi) para ser
usado como referencia por un sistema de localización que usa otra tecnología
(en el caso de este proyecto una red de sensores que cumple el estándar IEEE
802.15.4).
Las pruebas realizadas de cara a comprobar la validez de la técnica de
calibración han dado como resultado un sensible aumento del error en la
estimación de la posición (en torno a 0,5 metros), lo cual demuestra su
validez, aunque debe tenerse en cuenta este aumento si la precisión es un
factor crítico.
Finalmente, a pesar de la gran cantidad de trabajo realizado, han quedado en
el tintero algunas ideas que quedan emplazadas para futuras líneas de
investigación:
Realizar un despliegue de la red con otra configuración, atendiendo a
las características de las señales que estos dispositivos son capaces de
emitir y recibir. Como puede ser colocar las motas en los falsos techos
que hay sobre los pasillos, lo que podría aumentar la precisión del
sistema.
Mejorar la capacidad de recepción y emisión de las motas dotándolas
de mejores antenas.
Ampliar el área de localización a los despachos y demás salas del área
de exploración.
Aumentar el número de dispositivos localizadores, para comparar la
capacidad de este sistema en igual de condiciones con respecto a los
referenciados en la bibliografía.
41
Bibliografía
[1] F. Akyildiz, W. Su, Y. Sankarasubramaniam, y E. Cayirci. 2002. Wireless
Sensor Networks: A Survey. Computer Networks Elsevier Journal, Vol. 38,
No. 4, pp. 393–422.
[2] B. Bacheldor. RTLS market to grow 30 percent annually. 2006. RFID
Journal, 10 de mayo.
[3] S. Basagni, M. Conti, S. Giordano, I. Stojmenovic. 2004. Mobile Ad Hoc
Networking. IEEE Press/Wiley.
[4] Bluetooth
https://www.bluetooth.org/Technical/Specifications/adopted.htm
[5] O. Cánovas, A. Ruiz. Integrating probabilistic techniques for indoor
localization of heterogeneous clients.
[6] Y.-C. Chen, J.-R. Chiang, H.-h. Chu, P. Huang, y A. W. Tsui. 2005. Sensor-
assisted Wi-Fi indoor location system for adapting to environmental
dynamics. Proceedings of the 8th ACM international symposium on
Modeling, analysis and simulation of wireless and mobile systems (MSWiM
'05). ACM, New York, NY, USA, 118-125.
[7] Chip C2420. Texas Instruments. Junio 2011.
[8] Cisco Systems. 2008. Wi-Fi Location-Based Services 4.1 Design Guide.
[9] T. Dang, N. Bulusu, W.-C. Feng y S. Park. 2009. DHV: A Code Consistency
Maintenance Protocol for Multi-hop Wireless Sensor Networks.
Proceedings of the 6th European Conference on Wireless Sensor
Networks (EWSN '09), Utz Roedig and Cormac J. Sreenan (Eds.). Springer-
Verlag, Berlin, Heidelberg, 327-342.
[10] S. Farahani. 2008. Zigbee wireless networks and transceivers. Elsevier.
[11] R. Fonseca, O. Gnawali, K. Jamieson, y P. Levis. Four Bit Wireless Link
Estimation. Proceedings of the Sixth Workshop on Hot Topics in Networks
(HotNets VI), 2007.
[12] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis. 2009.
Collection tree protocol. Proceedings of the 7th ACM Conference on
Embedded Networked Sensor Systems (SenSys '09). ACM, New York, NY,
USA, 1-14.
[13] A. Haeberlen, E. Flannery, A. M. Ladd, A. Rudys, D. S. Wallach, and L. E.
Kavraki. 2004. Practical robust localization over large-scale 802.11
wireless networks. Proceedings of the 10th annual international
conference on Mobile computing and networking (MobiCom '04). ACM,
New York, NY, USA, 70-84.
[14] IEEE 802.11 http://standards.ieee.org/getieee802/download/802.11-
2007.pdf
[15] IEEE 802.15.4 http://standards.ieee.org/about/get/802/802.15.html
[16] T. King, T. Haenselmann, and W. Effelsberg. 2007. Deployment,
calibration, and measurement factors for position errors in 802.11-based
indoor positioning systems. Proceedings of the 3rd international
42
conference on Location-and context-awareness (LoCA'07), Jeffrey
Hightower, Bernt Schiele, and Thomas Strang (Eds.). Springer-Verlag,
Berlin, Heidelberg, 17-34.
[17] J. Krumm and E. Horvitz. LOCADIO: Inferring Motion and Location from
Wi-Fi Signal Strengths. First Annual International Conference on Mobile
and Ubiquitous Systems: Networking and Services, Mobiquitous, 4-13.
Boston, MA, USA, Agosto 2004.
[18] A. M. Ladd, K. E. Bekris, A. Rudys, L. E. Kavraki, y D. S. Wallach. 2005.
Robotics-based location sensing using wireless Ethernet. Wirel. Netw. 11,
1-2 (Enero 2005), 189-204.
[19] S.-Y. Lau, T.-H. Lin, T.-Y. Huang, I-H. Ng, y P. Huang. 2009. A
measurement study of zigbee-based indoor localization systems under RF
interference. Proceedings of the 4th ACM international workshop on
Experimental evaluation and characterization (WINTECH '09). ACM, New
York, NY, USA, 35-42.
[20] H. Lemelson, M. Baun, R. Hansen, y T. King. 2009. Error Estimation for
Indoor 802.11 Location Fingerprinting. Proceedings of the 4th
International Symposium on Location and Context Awareness (LoCA '09),
Tanzeem Choudhury, Aaron Quigley, Thomas Strang, and Koji Suginuma
(Eds.). Springer-Verlag, Berlin, Heidelberg, 138-155.
[21] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D.
Gay, J. Hill, M. Welsh, E. Brewer, y D. Culler. TinyOS: An operating system
for wireless sensor networks. Ambient Intelligence. Springer-Verlag, 2004.
[22] P. Levis y G. Tolle. Dissemination of Small Values. TinyOS Network
Working Group, Tech. Rep.
[23] K. Lin and P. Levis. 2008. Data Discovery and Dissemination with DIP. In
Proceedings of the 7th international conference on Information
processing in sensor networks (IPSN '08). IEEE Computer Society,
Washington, DC, USA, 433-444.
[24] Micro-controlador MSP430. Texas Instruments. Junio 2011.
[25] K. Muthukrishnan, M. Lijding, N. Meratnia, y P. Havinga. 2007. Sensing
motion using spectral and spatial analysis of WLAN RSSI. Proceedings of
the 2nd European conference on Smart sensing and context (EuroSSC'07),
Gerd Kortuem, Joe Finney, Rodger Lea, and Vasughi Sundramoorthy
(Eds.). Springer-Verlag, Berlin, Heidelberg, 62-76.
[26] D.Niculescu y B. Nath. 2004. VOR base stations for indoor 802.11
positioning. Proceedings of the 10th annual international conference on
Mobile computing and networking (MobiCom '04). ACM, New York, NY,
USA, 58-69.
[27] J. Paradells, J.Vilaseca, y J. Casademont. 2009. Improving security
applications using indoor location systems on wireless sensor networks.
Proceedings of the International Conference on Advances in Computing,
Communication and Control (ICAC3 '09). ACM, New York, NY, USA, 689-
695.
43
[28] I. C. Paschalidis, K. Li, y D. Guo. 2009. Model-free probabilistic
localization of wireless sensor network nodes in indoor environments.
Proceedings of the 2nd international conference on Mobile entity
localization and tracking in GPS-less environments (MELT'09), Richard
Fuller and Xenofon D. Koutsoukos (Eds.). Springer-Verlag, Berlin,
Heidelberg, 66-78.
[29] N. Patwari y A. O. Hero, III. 2002. Location estimation accuracy in
wireless sensor networks. Asilomar Conf. on Signals and Systems.
[30] J. Polastre, R. Szewczyk, y D. Culler. 2005. Telos: enabling ultra-low
power wireless research. Proceedings of the 4th international symposium
on Information processing in sensor networks (IPSN '05). IEEE Press,
Piscataway, NJ, USA, artículo 48 .
[31] C. Randell y Henk Muller. 2000. Context Awareness by Analyzing
Accelerometer Data. Proceedings of the 4th IEEE International
Symposium on Wearable Computers (ISWC '00). IEEE Computer Society,
Washington, DC, USA, 175-.
[32] Real time locating systems 2006-2016 (RTLS). 2007. GIIEexpresss
Market Research Report, 1 de Julio.
[33] A. Rendodi, M. Tagliasacchi, M. Cesana, L. Borsani, P. Tarrio y F. Salice.
2010. LAURA – LocaAlization and Ubiquitous monitoRing of pAtients for
health care support. Advances in Positioning and Location-Enabled
Communications. APLEC ’10. IEEE International Work-shop.
[34] K. Sohraby, D. Minoli, T. Znati . 2007. Wireless Sensor Networks:
Technology, Protocols, and Applications. Wiley.
[35] Ultra-wideband
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?
csnumber=43900
[36] A. Ward, A. Jones, y A. Hopper. A New Location Technique for the
Active Office. 1997. IEEE Personal Communications, 4:42-47.
[37] R. Yamasaki, A. Ogino, T. Tamaki, T. Uta, N. Matsuzawa, y T. Kalo, TDOA
location system for IEEE 802.11b WLAN. Proceedings of the IEEE Wireless
Communications and Networking Conference (WCNC '05), vol. 4, pp. 2338-
2343, New Orleans, La, USA, Marzo 2005.
[38] Zigbee documentos de especificación.
http://www.zigbee.org/Specifications/ZigBee/download.aspx
44
Anexos
A1. Protocolo Dissemination
El objetivo de este protocolo es permitir la compartición de un conjunto de datos entre varias motas [23]. Gracias a él, si una mota publica un nuevo valor del conjunto de datos compartidos, el resto de motas serán advertidas del nuevo valor y podrán obtenerlo. Esto resulta especialmente útil en redes en las que sea necesario que las motas compartan una configuración común, como puede ser qué información transmiten o con que asiduidad la transmiten.
En TinyOS se ofrecen dos interfaces, DisseminationValue y DisseminationUpdate. DisseminationValue es usado por los receptores del valor diseminado y DisseminationUpdate es usado por los generadores de valores para su diseminación.
Cuando se quiere diseminar un valor se usa el comando DisseminationUpdate.change(nuevoValor). Cuando los receptores reciben una notificación de que hay nuevos datos disponibles, vía Dissemination, DisseminationValue.changed() es llamada, entonces pueden acceder al nuevo valor usando DisseminationValue.get().
En los casos en que un nodo ha estado inactivo por largo periodo y este realiza una llamada a change para intentar diseminar por la red un valor antiguo, este es ignorado y el valor más nuevo es mantenido vía inspección de los paquetes. También es importante el control de los cambios del valor, cuando son múltiples nodos los que intentan cambiar el valor al mismo tiempo, ya que es importante mantener un valor consiste de los datos.
Un factor crucial en cualquier protocolo que se desarrolla para este tipo de plataformas es el consumo energético que conlleva el envío y procesamiento de los paquetes, por lo que tanto el número de envíos necesarios como el tamaño de los mismos deben ser tenidos en cuenta. Para este fin se utiliza un algoritmo llamado Trickle, que modifica dinámicamente el intervalo entre envíos de mensajes. Cuando una red no es estable el número de mensajes a enviar es grande, por el contrario cuando la red se vuelve estable el número de mensajes necesarios disminuye, por lo que el tiempo que transcurre entre el envío de cada mensaje ha de ser mayor. Trickle se encarga de transmitir de forma eficiente y rápida una actualización, sin preocuparse por cómo una actualización es detectada.
Usando este algoritmo, cuando un nodo envía datos a sus vecinos le añade un número de versión, estos al recibir el paquete comprobarán el dato recibido comparando el número de versión con el que tienen los datos que ellos almacenan, de este modo podrán saber si es una versión más actual de los datos. Para mejorar la eficiencia, los nodos estarán atentos a los mensajes enviados por los demás, de modo que si el dato que otros están enviando es el mismo que el que ellos iban a enviar, el envío se cancela.
El uso de estos números de secuencia se combina con Trickle, de modo que cada pieza de datos que se tiene que monitorizar tiene un contador independiente controlado por Trickle. Todos los nodos envían
45
periódicamente el número de versión de los datos que contienen y cuando se detectan discrepancias se procede al envío de los datos.
Criterios de selección
Lo explicado sobre este protocolo se corresponde una implementación de este protocolo y que se conoce como DRIP [22], pero existen otras dos grandes alternativas, DHV [9] y DIP [23]. La elegida ha sido DRIP, que ofrece un compromiso entre recursos consumidos (memoria y número de mensajes enviados), como se apunta en el documento que lo explica, frente a DHV que si bien muestra los mejores resultados para diseminación de grandes cantidades de datos a cambio requiere más recursos, algo que por otro lado no nos es interesante pues la cantidad de datos a diseminar es pequeña.
A2. Protocolo Collection
Este protocolo usa mensajes de enrutamiento para construir y mantener un árbol, cuyo fin el de poder enviar mensajes de datos desde cualquier nodo del árbol al nodo raíz [12]. La implementación estándar consta de tres componentes: Routing Engine, Forwarding Engine y Link Estimator.
Routing Engine
Este componente se encarga de enviar y recibir los mensajes de enrutamiento así como de crear y actualizar la tabla de enrutamiento del nodo. Esta tabla almacena una lista de vecinos, pudiendo elegir a cualquiera de ellos como su padre en el árbol de enrutamiento. La tabla se rellena usando la información de los mensajes de enrutamiento, siendo uno de los campos más importantes la métrica que indica la calidad de un nodo como potencial padre. Siendo el encargado de actualizar el valor de la métrica el componente Link Estimator.
La frecuencia de envío de los mensajes es controlada con el algoritmo Trickle lo cual permite regular tasa de envío de los mensajes, para no sobrecargar la red.
Forwarding Engine
Su misión es la de enviar los mensajes hacia la raíz, ya sean generados por el propio nodo o por uno de sus vecinos. Además, se encarga de la detección de bucles, así como de eliminar paquetes duplicados.
Link Estimator
Por último, este componente se encarga de determinar la calidad para el envío y la recepción de datos, de un enlace entre dos nodos. Para determinar la calidad de un enlace, existen múltiples alternativas y es en este componente donde encontramos una gran variedad de propuestas. En [11] podemos encontrar un análisis de las tres más utilizadas:
MultihopLQI: que mide la calidad del enlace en función del valor LQI que proporciona el hardware de la mota (lo que limita su uso a plataformas hardware con esta funcionalidad).
ETX: este algoritmo asigna un valor n a un nodo que indica que necesita n transmisiones para enviar un dato hasta la raíz.
4bitle: que utiliza una combinación de la información de la capa física (al igual que MultihopLQI), la capa de enlace (se emplea ETX) y la capa
46
de red(que provee una orientación que nos dice que enlaces pueden ser los más valiosos)
Criterios de elección
De entre las alternativas existentes (MultihopLQI, ETX y 4bitle) se ha optado
por 4bitle, pues como puede observarse en las pruebas realizadas en [11] es
la que mejores resultados ofrece tanto en número de paquetes transmitidos
con éxito como en eficiencia de las transmisiones.