lbs zigbee

46
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

Upload: mauricio-jurado

Post on 25-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Zigbee

TRANSCRIPT

Page 1: Lbs Zigbee

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

Page 2: Lbs Zigbee

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

Page 3: Lbs Zigbee

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

Page 4: Lbs Zigbee

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

Page 5: Lbs Zigbee

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.

Page 6: Lbs Zigbee

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

Page 7: Lbs Zigbee

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.

Page 8: Lbs Zigbee

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.

Page 9: Lbs Zigbee

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.

Page 10: Lbs Zigbee

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.

Page 11: Lbs Zigbee

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.

Page 12: Lbs Zigbee

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.

Page 13: Lbs Zigbee

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

Page 14: Lbs Zigbee

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.

Page 15: Lbs Zigbee

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].

Page 16: Lbs Zigbee

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

Page 17: Lbs Zigbee

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

Page 18: Lbs Zigbee

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.

Page 19: Lbs Zigbee

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:

Page 20: Lbs Zigbee

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

Page 21: Lbs Zigbee

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.

Page 22: Lbs Zigbee

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

Page 23: Lbs Zigbee

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.

Page 24: Lbs Zigbee

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

Page 25: Lbs Zigbee

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.

Page 26: Lbs Zigbee

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:

Page 27: Lbs Zigbee

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.

Page 28: Lbs Zigbee

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.

Page 29: Lbs Zigbee

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

Page 30: Lbs Zigbee

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.

Page 31: Lbs Zigbee

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

Page 32: Lbs Zigbee

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.

Page 33: Lbs Zigbee

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.

Page 34: Lbs Zigbee

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

Page 35: Lbs Zigbee

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

Page 36: Lbs Zigbee

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.

Page 37: Lbs Zigbee

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

Page 38: Lbs Zigbee

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

Page 39: Lbs Zigbee

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.

Page 40: Lbs Zigbee

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.

Page 41: Lbs Zigbee

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

Page 42: Lbs Zigbee

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.

Page 43: Lbs Zigbee

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

Page 44: Lbs Zigbee

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

Page 45: Lbs Zigbee

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

Page 46: Lbs Zigbee

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.