Está en la página 1de 80

Universidad Blas Pascal

Ingeniería en Telecomunicaciones

TRABAJO FINAL DE CARRERA

"Diseño de una Red de sensores inalámbricos para el control de la Iluminación


Exterior de luminarias LED bajo el protocolo de comunicación Zigbee en el
Campus de la Universidad Blas Pascal"

Navarro, Valeria Cristina

Director: Ing. Galoppo, Jose Luis


Asesor: Ing. Salamero, Martin
Asesor Metodológico: Dr. Ing. Arguello, Juan A.

-2018-
Agradecimientos

Al Ingeniero Waldo Geremías y a la Lic. Cristina Ferreyra, profesores que con su


inspiradora presencia estuvieron en todo momento a lo largo de este período
formativo.
Al Ing. Jose Galoppo, mi director de Trabajo Final que con su calidad humana y
profesional estuvo apoyándome en todo el proceso de mi TF.
Para la realización de este trabajo tuve la fortuna de contar con el incondicional
apoyo del Dr. Ing. Juan Alberto Arguello quien siempre me escuchó y ordenó
pacientemente mis ideas, y agradecer su inigualable presencia en las
innumerables tareas administrativas que demanda este trabajo de tesista y que
con muchísimo interés me acompañando desde mis primeros pasos.
A la Universidad Blas Pascal en su conjunto, a los Ing. Victor Frisón y Martin
Salamero por el asesoramiento constante a lo largo de la ejecución de este
Trabajo Final.
Dedicatorias

A mi madre María Cristina Trejo, por darme la vida, quererme mucho, creer en mí y por
su permanente apoyo. Mamá gracias por haberme otorgado esta oportunidad de tener
una carrera para mi futuro, todo esto te lo debo a ti.
A mis profesores que con sus conocimientos, ayuda oportuna y desinteresada
contribuyeron a la finalización de este trabajo.
A todas las personas que son movidas por un gran amor a la vida y a la naturaleza, que
están convencidos de que un mundo mejor es posible.
Resumen

Se realizó el diseño de una Red de sensores inalámbrica para el control de la


Iluminación Exterior LED basados en la tecnología Arduino utilizando el protocolo
de comunicación Zigbee en el Campus de la Universidad Blas Pascal; para
asegurar un importante ahorro energético y una adecuada utilización de dichos
artefactos de iluminación. De acuerdo a los resultados obtenidos por medio de
las herramientas de captura y análisis de datos: el software XCTU y el interfaz
de programación de Arduino (open source y open hardware) sobre el sistema
interconectado entre los Módulos XBee y la plataforma Arduino, logró ser
confiable en la transmisión y recepción de datos, a través del protocolo Zigbee,
demostrando su gran escalabilidad y flexibilidad, permitiendo a los usuarios tener
información en tiempo real, en un punto específico o móvil. Para ello se
desarrolló un sistema basado en nodos con las plataformas Arduino instaladas
en las luminarias, estableciendo una comunicación entre sí bajo el protocolo
Zigbee, en donde un nodo central se encargó de servir de nexo entre la red y los
diferentes elementos de la configuración de la red y a través de estas tecnologías
obtuvo información útil para el control y mantenimiento de las luminarias. Esta
información sirvió para que a través de una página web pueda mostrar al usuario
final toda la información necesaria para tener un control sobre el estado actual
de funcionamiento de cada una de las luminarias, control del consumo, así como
detección de fallas.

Palabras clave: red de sensores, redes inalámbricas, Arduino, artefactos de


iluminación, protocolo Zigbee.
Abstract

The design of a Wireless Sensor Network for the control of LED Outdoor Lighting
based on Arduino technology using the Zigbee communication protocol at the
Campus of Blas Pascal University was carried out; to ensure significant energy
savings and proper use of such lighting fixtures. According to the results obtained
through the data capture and analysis tools: the XCTU software and the Arduino
programming interface (open source and open hardware) on the interconnected
system between the XBee Modules and the Arduino platform, managed to be
reliable in the transmission and reception of data, through the Zigbee protocol,
demonstrating its great scalability and flexibility, allowing users to have
information in real time, at a specific point or mobile. For this, a node-based
system was developed with the Arduino platforms installed in the luminaires,
establishing a communication with each other under the Zigbee protocol, where
a central node was responsible for serving as a link between the network and the
different elements of the configuration. The network and through these
technologies obtained useful information for the control and maintenance of the
luminaires. This information served so that through a web page it could show the
end user all the necessary information to have control over the current state of
operation of each of the luminaires, consumption control, as well as fault
detection.

Keywords: sensor network, wireless networks, Arduino, lighting artifacts, Zigbee


protocol.
INDICE GENERAL
Introducción...................................................................................................... 1
Materiales y métodos ....................................................................................... 4
Resultados y Discusión ................................................................................... 7
1. Estudio exploratorio de carácter bibliográfico sobre el Protocolo
Zigbee basado en el estándar IEEE 802.15.4) de redes inalámbricas de
área personal. (Wireless Personal Área Network, WPAN) ............................ 7
1.1 Introducción a las Redes Wireless Sensor Networks (WSN) ................ 7
1.1.1 Elementos de una WSN ..................................................................... 8
1.1.1.1 Sensores ......................................................................................... 8
1.1.1.2 Nodos .............................................................................................. 9
1.2 Protocolo Zigbee ....................................................................................... 9
1.2.1 Bandas de Operación............................................................................ 10
1.2.2 Nodos y topología de Red .................................................................... 11
1.2.3 Seguridad ............................................................................................... 13
1.3 Capa de Aplicación .................................................................................. 13
1.3.1 Subcapa de Soporte .............................................................................. 14
1.3.2.1 Servicio de Parejas Clave – Valor ..................................................... 15
1.3.5 Descubrimiento ..................................................................................... 17
1.3.5.1 Dispositivo de Descubrimiento ......................................................... 17
1.3.5.2 Servicio de Descubrimiento .............................................................. 18
1.3.6 Enlace ..................................................................................................... 18
1.3.7 Mensajes ................................................................................................ 19
1.3.7.1 Direccionamiento Directo ................................................................ 19
1.3.7.2 Direccionamiento Indirecto ............................................................ 19
1.3.7.3 Direccionamiento Broadcast ........................................................... 19
1.3.8 Objetos de dispositivos Zigbee ........................................................... 20
1.3.8.1 Gestión de Descubrimiento ............................................................... 20
1.3.8.2 Gestión de Enlace ............................................................................. 21
1.3.8.3 Gestión de Seguridad .................................................................. 21
1.3.9 Dispositivos ZigBee ......................................................................... 21
1.3.9.1 Coordinador ....................................................................................... 21
1.3.9.2 Router ............................................................................................ 23
1.3.10 Dispositivos y Servicio de Descubrimiento ............................... 26
1.3.11 Dispositivos de Gestión ............................................................... 26
1.3.11.1 Gestor de Seguridad ........................................................................ 26
1.3.11.2 Gestor de Enlace....................................................................... 26
1.3.11.3 Gestor de Red ........................................................................... 26
1.3.11.4 Gestor de Nodos ....................................................................... 27
1.4 Capa de Red............................................................................................. 27
1.4.1 Descripción General.............................................................................. 28
1.4.1.2 Servicio de Control............................................................................. 29
1.4.2 Especificación del servicio ................................................................... 29
1.4.3 Funcionalidades .................................................................................... 30
1.4.3.1 Creación de una Nueva Red .............................................................. 31
1.4.3.2 Incorporación de Nuevos Dispositivos a la Red........................ 32
1.4.3.3 Incorporación a una Red ............................................................. 33
1.4.3.3 Incorporación a una red Directamente ............................................. 36
1.5 Especificación de los Servicios de Seguridad ....................................... 36
1.5.1 Arquitectura de Seguridad ................................................................... 36
1.5.1.1 Claves de Seguridad .......................................................................... 36
1.5.1.2 Arquitectura de Seguridad .......................................................... 37
1.5.2 Seguridad MAC ................................................................................ 37
1.5.3 Seguridad NWK (Red) ........................................................................... 38
1.5.4 Seguridad en APL.................................................................................. 38
1.5.4.1 Establecimiento de Clave .................................................................. 39
1.5.4.2 Transporte de Clave ........................................................................... 39
1.5.4.3 Actualización de Dispositivos ........................................................... 39
1.5.4.4 Eliminación de dispositivos ........................................................ 40
1.5.4.5 Petición de Clave .......................................................................... 40
1.5.5 Rol del Centro de Validación ................................................................ 40
1.6 Capa Física............................................................................................... 41
2. Caracterización las plataformas Arduino en base a los marcos
teóricos y sus aplicaciones en el entorno inalámbrico. ............................ 44
2.1 Introducción a las Placas Controladoras Arduino ............................... 44
2.1.1 Historia.............................................................................................. 44
2.1.3 Características generales ..................................................................... 46
2.1.4 Tipos y características de plataformas ............................................... 47
2.1.4.1 Arduino Uno ........................................................................................ 47
2.1.4.2 Módulo Ethernet ENC28J60 ............................................................... 50
2.1.5 Módulos XBee ........................................................................................ 51
2.1.5.1 Especificaciones técnicas de los Módulos XBee y XBee-Pro ........ 53
2.1.5.2 Series de Módulos XBee .................................................................... 53
2.1.5.3 Características físicas y distribución de pines (XBee) ................... 54
2.1.5.4 Señal y Rangos de Frecuencia de los Módulos XBee ..................... 56
2.1.6 Placas Adaptadoras de Módulos XBee ............................................... 57
2.1.6.1 Características .................................................................................... 58
2.1.6.2 Especificaciones ................................................................................ 58
2.1.6.3 Formas de su utilización.................................................................... 58
2.2 Cuadro comparativo de Tecnologías Inalámbricas ............................... 59
3 Diseño de una Website y una APP para el control y mantenimiento de
la iluminación LED exterior. .......................................................................... 60
3.1 Generalidades y Requerimientos para la Website y la APP Android .. 60
3.1.1 Objetivo del diseño de la APP Android ............................................... 61
3.1.2 Biblioteca de XBee Java .................................................................. 61
4. Diseño del hardware y el firmware para la adquisición de datos de
sensores a través de la plataforma Arduino. ............................................... 63
4.1 Configuración de los Módulos XBee ...................................................... 63
4.1.1 Prueba de Rango ................................................................................... 66
4.2 Configuración de las plataformas Arduino y los Módulos XBee ......... 67
4.2.1 Entorno Arduino IDE e implementación con los módulos XBee...... 67
4.2.2 Implementación de La Unidad de Control e Iluminación ................... 68
4.2.2 Aplicaciones de los Triacs .................................................................. 69
Conclusiones .................................................................................................. 70
Bibliografía...................................................................................................... 71
Introducción

El cambio climático es cada día más notorio, afecta a los ecosistemas y por ende
a los seres humanos; gran parte de estos cambios observados en el clima pueden
asociarse con los gases de efecto invernadero en nuestra atmósfera, ocasionados
mayormente por el uso excesivo de combustibles fósiles para la producción de
energía. Con la finalidad de evitar la contaminación del medio ambiente se emplean
con mayor frecuencia las energías renovables o energías alternativas, ya que no
producen gases de efecto invernadero como las energías proporcionadas por
combustibles fósiles (IPCC, 2017).
Una forma de contribuir con el ahorro energético puede ser la utilización de
dispositivos más eficientes en el consumo de energía, en el área de iluminación
que es primordial para realizar las actividades cotidianas debido a la necesidad de
iluminar los lugares de trabajo o descanso.
Para esta necesidad se propone una Red de Sensores Inalámbricos, la cual se
define como cientos o miles de nodos capaces de recoger, procesar y enviar
muestras de un entorno, para así́ monitorizar ciertos fenómenos físicos o controlar
ciertos objetos en un área determinada.
De esta forma, una WSN (Wireless Sensor Network) será capaz de recoger
diferentes variables, tales como luz, temperatura, humedad, presencia y para
conseguirlo, se necesitará que exista una colaboración entre ellos.
Así, los elementos que formarán una WSN serán los sensores, los cuales serán los
encargados de recoger los datos, datos que provendrán del análisis de diferentes
magnitudes físicas como la presión, temperatura, humedad.
Si bien por regla general los sensores se encargaran de recoger datos y enviarlos
para su análisis, se puede dar el caso que sean los propios nodos los que analicen
esa información y actúen según los resultados obtenidos.
Una de las características primordiales de las redes WSN es que puede estar
formada por una cantidad muy pequeña de nodos hasta una cantidad de decenas
de millones de ellos, el tamaño de la WSN será algo específico de la aplicación
final para la que esté destinada la WSN a implementar y el despliegue que se vaya
a realizar. Y es precisamente el hecho de que éstas puedan estar formadas por

1
una gran cantidad de nodos, que pueden ser monitoreados remotamente lo que no
dificulta el mantenimiento y el control de toda la red.
Los nodos WSN (Wireless Sensor Networks, como es Zigbee) están típicamente
organizados en uno de los tres tipos de topologías de red. Topología de estrella,
cada nodo se conecta directamente al Gateway, topología de árbol, cada nodo se
conecta a un nodo de mayor jerarquía en el árbol y después al Gateway, en el cual
los datos son ruteados desde el nodo de menor jerarquía en el árbol hasta el
Gateway. Finalmente, para ofrecer mayor confiabilidad, las redes tipo malla, la
característica de esta topología es que los nodos se pueden conectar a múltiples
nodos en el sistema y pasar los datos por el camino disponible de mayor
confiabilidad; ésta es la arquitectura más habitual en las aplicaciones para uso
exterior.
La tecnología elegida para el hardware es Arduino que es una plataforma de
electrónica abierta para la creación de prototipos basadas en software y hardware
libre, flexible y fácil de usar. Además, puede tomar la información del entorno a
través de sus entradas utilizando toda una diversidad de sensores las cuales
pueden utilizarse para el control de todo los que nos rodea.
Asimismo, dependiendo del despliegue, la situación puede hacer que los nodos se
encuentren en constante movimiento. Es por ello que surge la necesidad de que la
red sea capaz de adaptarse a los cambios que se den en la topología y que
busquen la mejor solución con el objetivo de obtener los resultados esperados.
Una de las grandes ventajas de las Redes de Sensores Inalámbricos es la gran
cantidad de campos de aplicación en las que pueden ser desplegadas. Estos
pueden ir desde lo más sencillo hasta lo más complejo tales como la monitorización
de pacientes médicos, el control de tráfico en una ciudad pasando por el control de
animales a la domotización de un edificio.
Se utilizará Zigbee que es un estándar de comunicaciones inalámbricas diseñado
por la Zigbee Alliance. Está basado en el estándar IEEE 802.15.4 de redes
inalámbricas de área personal (Wireless Personal Área Network, WPAN) y tiene
como objetivo las aplicaciones que requieren comunicaciones seguras con baja
tasa de envío de datos y maximización de la vida útil de sus baterías.
Es un sistema ideal para redes domóticas, específicamente diseñado para
reemplazar la proliferación de sensores/actuadores individuales.
2
Zigbee fue creado para cubrir la necesidad del mercado de un sistema a bajo costo,
un estándar para redes Wireless de pequeños paquetes de información, bajo
consumo, seguro y fiable.
Se ha desarrollado para satisfacer la creciente demanda de capacidad de red
inalámbrica entre varios dispositivos de baja potencia.
Por lo tanto, es el estándar global utilizado para la automatización del hogar,
permite que las aplicaciones domóticas desarrolladas por los fabricantes sean
completamente ínter operables entre sí, garantizando así al cliente final fiabilidad,
control, seguridad y comodidad.
A modo de resumen sobre el protocolo de comunicación Zigbee podemos destacar
las siguientes características:
- Basado en el Estándar 802.15.4.
- Con aplicaciones WPAN (Wireless Personal Área Network
- Con gran soporte desde la industria: Honeywell, Mitsubishi Electric,
Motorola, Philips, Samsung, etc.
- Bajo costo.
- Bajo consumo.
- Instalación fácil y barata.
- Redes flexibles y extensibles.
El objetivo general de este Trabajo Final de Carrera fue el diseño de una Red de
sensores inalámbrica para el control de la Iluminación Exterior LED basados en la
tecnología Arduino utilizando el protocolo de comunicación Zigbee en el Campus
de la Universidad Blas Pascal; para asegurar un importante ahorro energético y
una adecuada utilización de los artefactos de iluminación.

3
Materiales y métodos

1. Estudio exploratorio de carácter bibliográfico sobre el Protocolo Zigbee


basado en el estándar IEEE 802.15.4) de redes inalámbricas de área personal.
(Wireless Personal Área Network, WPAN)

Se realizó el estudio exploratorio de la tecnología utilizada desde la generalidad de


las redes de sensores inalámbricos hasta la tecnología específica que se ha
empleado en este trabajo. Así, se destacó algunas de las características que
presentan Arduino y los transceptores XBee.
Para el estudio se consultó la siguiente bibliografía:

● Acero A. R. y otros. (2013)


● Arias A. y otros. (2009)
● Gascón D.(2009)
● Oliva Ramos R. (2017)
● Reyes Cortés F. & Cid Monjaraz J. (2015)
● Ventura G. y otros. (2016)
Web grafía:
 IEEE 802.15.4 URL: http://www.ieee802.org/15
[13/04/2018]

2. Se caracterizó las plataformas Arduino en base a los marcos teóricos y


sus aplicaciones en el entorno inalámbrico.

Se presentó los componentes básicos de la red a implementar, desde Arduino


como la placa de control, las comunicaciones vía XBee.
 Se consultó a la página web de la marca Arduino
https://www.arduino.cc [06/04/2018]
● Reyes Cortés F. & Cid Monjaraz J. (2015)
● Torrente, O. (2017)
● Digi international URL:http://www.digi.com/ [21/04/2018]

4
3. Se diseñó una Website y una APP para el control y mantenimiento de
la iluminación LED exterior.

Se diseñó los requerimientos de la Website para el control y mantenimiento


de la iluminación LED exterior, en la que los datos de intensidad de lumínica
y de movimiento se captan por los nodos de la red WSN (módulos XBee),
de esta forma se conoce el estado actual de cada luminaria perteneciente a
nuestra red de sensores.
Se estableció los requerimientos técnicos para la APP, la cual se sugiere
que el desarrollo sea Android Studio, que es un entorno de desarrollo
integrado (IDE) gratuito para la plataforma Android diseñado para ser
utilizada por el personal de mantenimiento de la Institución.

● Android Studio. URL: https://developer.android.com/studio/


● Torrente Artero O. (2013)

4. Se diseñó el hardware y el firmware para la adquisición de datos de


sensores a través de la plataforma Arduino.

En esta etapa del trabajo se desarrolló experimentalmente el montaje del


sistema. Para ello se utilizó medios técnicos, diagramas de funcionamiento,
codificaciones.
La misma constó de:
 La prueba de rango que sirve para medir la calidad del enlace entre
dos módulos XBee. El software XCTU permitió la configuración de
ambos módulos.
 El puente Wireless SD Shield permitió a un Arduino establecer una
comunicación de forma inalámbrica utilizando al módulo XBee.
 El ensamble de los XBee USB Shield SD con el módulo XBee a un
PC o Microcontrolador.
 Se realizó la configuración y programación de la Board Arduino UNO,
el Arduino Wireless SD / Xbee Shield y el módulo Xbee (IEEE

5
802.15.4) con el Arduino serial monitor para el extremo de sistema
del nodo de control.
 Luego se realizó la configuración y programación de la XBee USB
adapter board y el módulo XBee (IEEE 802.15.4) en la PC con la
plataforma XCTU para el extremo nodo de esclavo.
 Posteriormente, se realizó una serie de ensayos y diagnósticos
experimentales que nos permitió poner a punto el sistema.

6
Resultados y Discusión

1. Estudio exploratorio de carácter bibliográfico sobre el Protocolo Zigbee


basado en el estándar IEEE 802.15.4) de redes inalámbricas de área personal.
(Wireless Personal Área Network, WPAN)

1.1 Introducción a las Redes Wireless Sensor Networks (WSN)

“Las redes de sensores inalámbricas (Wireless Sensor Networks, o simplemente


WSN), constituyen actualmente una herramienta tecnológica muy valiosa para
recolectar información del entorno. Estas redes están formadas por plataformas de
hardware con recursos limitados de memoria, cómputo y energía, motivo por el cual
las WSN trabajan con protocolos especialmente diseñados para funcionar sobre
plataformas Arduino (IEEE 802.15.4, ZigBee, etc.).” [Arias a. y otros 2009]
Las WSN, permiten conectar nodos, sensores o dispositivos sin necesidad de una
conexión física es decir son redes sin cables, que se comunican mediante medios
no guiados, donde su medio de transmisión son ondas electromagnéticas. Su
principal característica es la de obtener y transmitir información del entorno donde
están desplegadas. Estas redes pueden ser utilizadas en aplicaciones tales como
agricultura de precisión, meteorología y monitoreo del medio ambiente, cuidado y
monitoreo de pacientes, prevención de inundaciones, etc. Una red de sensores
inalámbrica está formada por nodos, routers, y una estación base. Los datos
recolectados por las WSN pueden ser luego puestos a disposición de usuarios a
través de alguna red (Internet, GPRS).
En las redes inalámbricas existe un transmisor y uno o más receptores, por lo cual
tanto el Receptor como el transmisor deben disponer de antenas, las cuales son
las encargadas de enviar y recibir los datos hacia los distintos dispositivos de la
red.
Este tipo de redes con frecuencia son utilizados para la transmisión de señales
como: telefónicas, de televisión, de seguridad y otras aplicaciones como datos
entre sensores, domótica, agricultura e industria en general.

7
1.1.1 Elementos de una WSN

Los elementos por los cuales están formada una WSN se pueden clasificar en:

 Sensores: Recogen del medio diferente información (luz, humedad,


temperatura, sonido, etc.) y la transforman en señales eléctricas.
 Nodos: Son los elementos de la red que se encargan de recoger la
información proporcionada por los sensores, tratarla según las
necesidades de la red y transmitirlas a la estación base.
 Estación Base: Encargada de recoger toda la información que le proporcionen
los diferentes nodos por los que estará formado la red.
 Gateway: Servirá de interconexión entre la red de sensores y una red basada
en TCP/IP a través de la cual se podrá operar sobre las estaciones
base y así analizar la información que han recibido.

1.1.1.1 Sensores

Los sensores serán los encargados de recoger, procedentes del medio en el que
se encuentran, información de diversa índole para que los nodos en las que están
integrados los analicen y actúen en consecuencia.
Numerosos son los tipos de nodos existentes:
 Aceleración: estos sensores miden la aceleración que tiene el objeto al que
están unidos. De esta forma, este tipo de sensores puede actuar cuando se
reciben un impacto superior a una determinada aceleración, medir
vibraciones o conocer la inclinación.
 Presencia: estos sensores son capaces de detectar mediante tecnología de
infrarrojos si algún cuerpo se interpone en el rango de acción del sensor.
 Temperatura: estos sensores son capaces de detectar la temperatura del
ambiente en el que se encuentran.
 Sonido: sensores capaces de transformar una señal de audio en señal
eléctrica para que el nodo la analice.
 Otros posibles sensores son: humedad del aire, fuerza, proximidad, gas,
etc.

8
1.1.1.2 Nodos

Los nodos de una WSN tienen como objetivo el recolectar los datos que han
tomado los sensores y enviar la información correspondiente a la estación base.
Los nodos se caracterizan por:
 Tamaño pequeño.
 Poca memoria (escasos Kilobytes).
 Poco procesados (unos cuantos MHz).
 Sistema de radio para envío de información de poco alcance.
 Fuente de alimentación que va desde una pila de botón hasta el
aprovechamiento de la energía solar.

1.2 Protocolo Zigbee

Zigbee es un protocolo de comunicaciones inalámbrico basado en el estándar de


comunicaciones para redes inalámbricas de área personal (Wireless personal área
network, WPAN) IEE 802.15.4. “Creado por Zigbee Alliance, una organización,
teóricamente sin fines de lucro, formada por más de 200 grandes empresas
(destacan Mitsubishi, Honeywell, Philips, Invensys, entre otras), muchas de ellas
fabricantes de semiconductores. Zigbee permite que dispositivos electrónicos de
bajo consumo puedan realizar sus comunicaciones inalámbricas. Es especialmente
útil para redes de sensores en entornos industriales, médicos y, sobre todo,
domóticas.” [Alliance Zigbee 2018]
Las comunicaciones Zigbee se realizan en la banda libre de 2.4GHz. A diferencia
de bluetooth, este protocolo no utiliza FHSS (Frequency hooping), sino que realiza
las comunicaciones a través de una única frecuencia, es decir, de un canal.
Normalmente puede escogerse un canal de entre 16 posibles.
El objetivo de esta tecnología no es obtener velocidades muy altas, ya que sólo
puede alcanzar una tasa de 20 a 256 Kbps en un rango de 10 a 75 metros, sino
que es obtener sensores cuyos transceptores tengan un muy bajo consumo
energético.
Una red Zigbee la pueden formar, teóricamente, hasta 65535 equipos, es decir, el
protocolo está preparado para poder controlar en la misma red una gran cantidad
de dispositivos.
9
Entre las necesidades que satisface el módulo se encuentran:
• Bajo costo.
• Muy bajo consumo de potencia.
• Uso de bandas de radio libres y sin necesidad de licencias.
• Redes flexibles y extensibles.
El uso del protocolo Zigbee va desde reemplazar un cable por una comunicación
serial inalámbrica, hasta el desarrollo de configuraciones punto a punto, multipunto,
peer-to-peer (todos los nodos conectados entre sí) o redes complejas de sensores.

1.2.1 Bandas de Operación

Zigbee opera en las bandas libres de 2.4Ghz, 858Mhz para Europa y 915 MHz para
Estados Unidos. En la figura 1 se puede ver el espectro de ocupación en las bandas
del protocolo 802 (incluyendo a Zigbee).

Figura 1 Tecnologías en 2.4 GHz (Tomada de Arias A. y otros 2009)

La banda de 2.4 GHz utiliza la modulación de espectro expandido DSSS (Direct


Sequence Spread Spectrum). A una velocidad de transmisión de 256 Kbps y a una
potencia 1 mW cubre aproximadamente 13 metros de radio.
En la tabla 1 se puede observar la distancia en función de la potencia transmitida y la
velocidad de transmisión:

10
Tabla 1 Distancia de transmisión (Tomada de Acero A. R. y otros 2013)

Potencia(mW) / Velocidad(Kbps) 1 mW 10 mW 100 mW


28 Kbps 23 mts 54 mts 154 mts
250 Kbps 13 mts 29 mts 66 mts

En cuanto a la gestión del control de acceso al medio hace uso de CSMA/CA


(Carrier Sense Multiple Access with Collision Avoidance) y es posible usar ranuras
temporales TDMA (Time Division Multiple Access) para aplicaciones de baja
latencia.

1.2.2 Nodos y topología de Red

En una red ZigBee puede haber hasta 254 nodos, no obstante, según la agrupación
que se haga se pueden crear hasta 255 conjuntos/clúster de nodos con lo que se
puede lograr tener 64770 nodos para lo cual existe la posibilidad de utilizar varias
topologías de red en estrella, en malla o en grupos de árboles como puede verse
a continuación: (Ver Figura 2)

Figura 2 Topologías de Red (Tomada de Misra S. 2009)

Se permite un encaminamiento o enrutamiento de saltos múltiples, también


conocido como multi-hop, que permite que estas redes abarquen una gran
superficie. (Se muestra en la figura 3)
En ZigBee hay tres tipos de dispositivos:
 Coordinador
 Sólo puede existir uno por red.
 Inicia la formación de la red.
 Es el coordinador de PAN.
 Router
 Se asocia con el coordinador de la red o con otro router ZigBee.

11
 Puede actuar como coordinador.
 Es el encargado del enrutamiento de saltos múltiples de los mensajes.
 Dispositivo final
 Elemento básico de la red.
 No realiza tareas de enrutamiento.
Una posible configuración de una red sería la siguiente (ver figura 4):

Figura 3 Ejemplo de red ZigBee (Tomada de Misra S. 2009)

Otro punto importante es el soporte y la disponibilidad total de la malla, es decir,


que ante caídas de nodos, la red busca caminos alternativos para el intercambio
de mensajes, un ejemplo se puede ver a continuación en la figura 5.
Supongamos que disponemos de una red en la cual los nodos están conectados
en malla y se intercambian datos entre un interruptor y una lámpara.

Figura 4 Camino de Comunicación -Interconexión (Tomada de Misra S. 2009)

En el caso de que algunos nodos que contengan una falla y estos nodos formaban
parte del camino que seguían los mensajes en la comunicación, la red podría sufrir
una caída. (Se muestra en la figura 5)

12
Figura 5 Caída de dos nodos de la Red (Tomada de Misra S. 2009)

ZigBee permite que se puedan establecer rutas alternativas para seguir


comunicando los dispositivos: (Se muestra en la figura 6)

Figura 6 Creación de un camino alternativo (Tomada de Misra S. 2009)

1.2.3 Seguridad

En cuanto a seguridad, ZigBee puede utilizar la encriptación AES de 128bits, que


permite la autentificación y encriptación en las comunicaciones. Además, existe un
elemento en la red llamado Trust Center (Centro de validación) que proporciona un
mecanismo de seguridad en el que se utilizan dos tipos de claves de seguridad, la
clave de enlace y la clave de red.

1.3 Capa de Aplicación

“La pila de arquitectura ZigBee consta de varios componentes en capas como IEEE
802.15.4-2003 en la capa de Control de Acceso al Medio (MAC), la capa física
(PHY) y la capa de red Zigbee (NWK). La capa de aplicación de ZigBee se
subdivide en la subcapa APS, la capa ZDO (Zigbee Device Objects) y los objetos
de aplicación definidos por cada uno de los fabricantes.”[Acero A. R. y otros ,2013]

13
La capa de aplicación de ZigBee se subdivide en la subcapa APS, la capa ZDO
(Zigbee Device Objects) y los objetos de aplicación definidos por cada uno de los
fabricantes. (Ver figura 7)

Figura 7 Pila de protocolo ZigBee (Tomada de Acero A. R. y otros 2013)

1.3.1 Subcapa de Soporte

La subcapa de soporte de aplicación (APS) proporciona un interfaz entre la capa


de red (NWK) y la capa de aplicación (APL) a través de un conjunto de servicios
que se utilizan junto a los ZDO y otros objetos que hayan sido definidos por los
fabricantes. Los servicios los ofrecen dos entidades: la entidad de datos APS
(APSD) a través del servicio de punto de acceso APSDE (APSDE-SAP) y la entidad
gestora del APS (APSME-SAP) a través de un servicio que ofrece el punto de
acceso APSE-SAP. APSDE proporciona el servicio necesario para la transmisión
de datos y el transporte de datos de aplicación entre dos o más dispositivos en la
misma red. APSME proporciona el servicio de descubrimiento y enlace de
dispositivos y mantiene una base de datos de los objetos llamado “APS Information
Base (AIB)”.

14
1.3.2 Estructura de Aplicación

Dentro de la estructura de aplicación, los objetos de envían y reciben datos a través


del APSDE-SAP. El control y la gestión de los objetos de aplicación son llevados a
cabo por los interfaces de los ZDO. El servicio de datos ofrecido por el APSDE-
SAP, incluye primitivas de petición, confirmación, respuesta e indicación (request,
confirm, response, indication) para la transferencia de datos. La primitiva request
soporta la transferencia de datos entre pares de entidades objeto de aplicación. La
primitiva confirm da los resultados de una llamada de la primitiva request. La
primitiva indication se usa para indicar la transferencia de datos desde un APS a la
entidad objeto de aplicación. Se pueden definir más de 240 objetos de aplicación
llamados terminales, con interfaces que para cada uno de los terminales se
enumeran del 1 al 240. Hay dos terminales adicionales que utiliza el APSDE-SAP;
el 0 está reservado para el interfaz de datos de los ZDO y el 255 se reserva para
que el interfaz de datos realice las peticiones de broadcast de datos para todos los
objetos de aplicación.
Los terminales que van del 241 al 254 se reservan para usos futuros.

1.3.2.1 Servicio de Parejas Clave – Valor

El servicio de pares key-valor (KVP) permite a los atributos definidos, que en los
objetos de aplicación se puedan utilizar primitivas como get, get response, set y set
response. Además, KVP utiliza estructuras de datos de marcado XML en una
versión más reducida. Esta solución proporciona un mecanismo de instrucciones y
control para la gestión de pequeños dispositivos que permiten a las puertas de
acceso la difusión de los datos XML.

1.3.2.2 Servicio de Mensajes

Existen varias áreas de aplicación en ZigBee que tiene protocolos de


direccionamiento propietarios y que no funcionan bien con KVP. Por tanto, existen
cabeceras que KVP asume y que sirven para controlar el estado de las variables,
que permitan seleccionar, obtener o realizar las acciones necesarias que se
15
puedan producir ante ciertos eventos que requieran los dispositivos para mantener
las variables de estado de comunicación.

1.3.3 Direccionamiento de Terminales

ZigBee proporciona un subnivel de direccionamiento, que se usa de manera


conjunta con otros mecanismos como es el protocolo IEEE802.15.4. Por ejemplo;
hay un número de terminales (endpoints) que se pueden utilizar para identificar
interruptores y bombillas. El terminal 0 está reservado para la gestión de
dispositivos y es utiliza para direccionar los descriptores del nodo. Cada subunidad
que se identifica en un nodo (como pueden ser los interruptores y las bombillas) se
asigna a un terminal específico dentro del rango 1-240. Para permitir una
diferenciación de productos en el mercado, los fabricantes pueden añadir clúster
que contengan atributos extra para sus propios perfiles. Estos clústers específicos
no forman parte de la especificación de ZigBee y su interoperabilidad no está
garantizada. Dichos servicios deben ser indicados en cada uno de los terminales
descritos por parte del fabricante, acompañando a poder ser la nueva hoja de
especificaciones.
1.3.4 Fundamentos de comunicación de la capa de Aplicación

1.3.4.1 Perfiles

Los perfiles son acuerdos a los que se llega por mensajes. El formato de estos
mensajes y las acciones producidas, permiten a las aplicaciones residir en cada
uno de los dispositivos individuales para enviar instrucciones, realizar peticiones de
datos o procesar instrucciones/datos para crear así una aplicación distribuible e
interoperable. Los perfiles son desarrollados por cada uno de los fabricantes
ZigBee, que en base a las necesidades que existen en el mercado, proporcionan
soluciones tecnológicas específicas. Los perfiles por tanto tratan de unificar la
tecnología con las necesidades del mercado.

16
1.3.4.2 Clúster

Los clústeres son identificados por un identificador de clúster (Clúster ID), éste
clúster se asocia al dispositivo que produce los flujos de datos. Los identificadores
de clúster son únicos dentro de un mismo perfil. Los enlaces se producen por la
relación existente entre identificadores de clúster de salida y, de entrada,
asumiendo que ambos están dentro de un mismo perfil.

1.3.5 Descubrimiento

1.3.5.1 Dispositivo de Descubrimiento


El servicio de descubrimiento (Device Discovery), es el proceso por el cual un
dispositivo ZigBee descubre otros dispositivos. Para ello, realiza
preguntas/solicitudes que se envían por broadcast o unicast. Hay dos formas de
realizar las peticiones de descubrimiento de servicios y dispositivos: la petición de
dirección IEEE y la petición de dirección de NWK. La petición de IEEE es unicast y
asume que la dirección NWK es conocida. La petición de dirección NWK es por
broadcast y lleva la dirección de IEEE como datos de negociación de parámetros.
Las respuestas al elemento que ha realizado las peticiones broadcast o unicast de
mensajes de descubrimiento pueden variar según provengan de un tipo de
dispositivos lógicos u otros, como se indica a continuación:

 Terminal: responde a las peticiones de descubrimiento de dispositivos


enviando su propia dirección IEEE o la dirección NWK (dependiendo de la
petición).
 Coordinador: responde a la petición enviando su dirección IEEE o NWK
y las direcciones IEEE o NWK que tiene asociadas como coordinador
ZigBee (dependiendo del tipo de petición).
 Router: responde a peticiones enviando su dirección IEEE o NWK y las
direcciones IEEE o NWK de todos los dispositivos que tiene asociados
como router ZigBee (dependiendo de la petición).

17
1.3.5.2 Servicio de Descubrimiento

El servicio de descubrimiento es el proceso por el cual los servicios que en un


instante de tiempo están disponibles en los terminales o en los dispositivos
receptores y que son descubiertos por dispositivos externos. El servicio de
descubrimiento realiza las peticiones de sondeo para cada terminal de cada
dispositivo o por el uso de servicios de sondeo tipo broadcast o unicast.
El proceso del servicio de descubrimiento en ZigBee es la clave para interconectar
dispositivos dentro de una red. A través de dichas peticiones de los descriptores de
cada nodo especificado, las peticiones por broadcast para preguntar a los
dispositivos cuales son los objetos de aplicación que tienen sus dispositivos.

1.3.6 Enlace

En ZigBee, hay un concepto de nivel de aplicación que utiliza los identificadores


de clúster en los terminales de manera individual en cada uno de los nodos. Se
llama enlace a la creación de un vínculo entre los dispositivos de aplicación de
la red y los terminales.
La información de cómo los clústers se emparejan con los nodos se indica en
una tabla de enlace (binding table).
El enlace se lleva a cabo después de que el enlace de comunicaciones se haya
establecido. Una vez que el enlace se establece es en la implementación en la
que se decide de qué manera un nodo puede llegar a formar parte de la red o
no. Además, también depende de la seguridad definida para realizar la operación
y de cómo se haya implementado. El enlace sólo se permite si la implementación
de la seguridad de la red de todos y cada uno de los dispositivos lo permite.
La tabla de enlace se implementa en el coordinador ZigBee. Esto es porque se
necesita que la red esté continuamente operativa y disponible, con lo que es más
probable que el coordinador sea el que pueda ofrecer este servicio. Por otro lado,
algunas aplicaciones pueden necesitar tener esta tabla de enlace duplicada, para
que esté disponible por si ocurre un fallo de almacenamiento de la tabla original.
Las copias de seguridad de la tabla de enlace y/o de otros elementos de datos
sobre el coordinador ZigBee ya no pertenecen a la especificación de ZigBee 1.0,
por lo que es responsabilidad del software de aplicación.

18
1.3.7 Mensajes

1.3.7.1 Direccionamiento Directo

Una vez que los dispositivos se han asociado, las instrucciones entre los
elementos se pueden enviar y recibir, de forma que ya pueden ser enviadas de
un dispositivo a otro.
El direccionamiento directo asume que el descubrimiento del dispositivo y el
servicio de descubrimiento tienen identificados un dispositivo con un terminal, el
cual quiere realizar peticiones de servicios. El direccionamiento directo define
una manera de realizar el direccionamiento en el que se envíen mensajes a los
dispositivos incluyendo su dirección y la información de los terminales que
contiene.

1.3.7.2 Direccionamiento Indirecto

El uso del direccionamiento directo requiere de un dispositivo controlador que


tenga el conocimiento de todas las direcciones, de los terminales, de los
clústeres identificadores y de los atributos identificadores de un dispositivo que
quiere comunicarse y que tiene su información almacenada en una tabla de
enlace (binding table) en un coordinador ZigBee. Este coste de almacenamiento
es mayor que el que se produce en la creación de un mensaje de
direccionamiento indirecto entre pares de dispositivos. La dirección IEEE
compuesta de 10 bytes además de un byte adicional que se necesita, son
suficientes para que dispositivos sencillos como pudieran ser interruptores
(switches) alimentados por baterías, se sobrecargarían al almacenar toda la
información que hay en la tabla. Para estos dispositivos, el direccionamiento
indirecto resulta más adecuado.
Cuando un dispositivo fuente/emisor contiene varios atributos, el identificador de
clúster se utiliza para realizar el direccionamiento y los atributos identificadores
se usan para identificar un atributo en particular incluido en el clúster.

1.3.7.3 Direccionamiento Broadcast

Una aplicación puede enviar mensajes broadcast a todos los terminales de un

19
dispositivo dado. Este direccionamiento forma parte del direccionamiento
broadcast llamado broadcast de aplicación. La dirección de destino está formada
por 16 bits de la dirección broadcast de la red y hay que indicar el flag de
broadcast en la trama APS dentro del campo de control. El origen debe incluir el
identificador de clúster, el perfil identificador y el campo del terminal origen en la
trama APS.

1.3.8 Objetos de dispositivos Zigbee

Los objetos de dispositivos ZigBee (ZigBee Device Objects, ZDO) representan la


clase base de la funcionalidad que proporciona un interfaz entre los objetos de
aplicación, el perfil del dispositivo y el APS. Los ZDO se encuentran entre el
framework de aplicación y la subcapa de soporte de aplicación. Permite así que se
cumplan todos los requisitos de las aplicaciones que operan con la pila de
protocolo ZigBee. Los ZDO son responsables de:
 Inicializar la subcapa de soporte de aplicación (APS), la capa de aplicación
(NWK), y los servicios de especificación (SSS).
 La información de configuración desde la aplicación para determinar e
implementar el descubrimiento y la gestión de la seguridad, red y enlace.

“Los ZDO proporcionan interfaces públicos para los objetos de aplicación en la


capa del framework de aplicación para tener el control de dispositivo y realizar las
funciones necesarias definidas por los objetos de aplicación. Los interfaces de los
ZDO tienen poca presencia en la pila de protocolo ZigBee. En el terminal 0, a través
del ADSDE-SAP para datos y a través del APSME-SAP para los mensajes de
control. Los interfaces públicos proporcionan la gestión de las direcciones de
dispositivos, el descubrimiento, el enlace (binding) y las funciones de seguridad
incluidos en la capa del framework de aplicación de la pila de protocolo de ZigBee.”
[Misra S., Zhang I, Misra S.C., 2009]

1.3.8.1 Gestión de Descubrimiento

El descubrimiento se gestiona dependiendo de los objetos de aplicación. Cuando


se solicita, la dirección IEEE de la petición del dispositivo tiene que ser devuelta (si
el dispositivo es un dispositivo final) o bien con las direcciones de los dispositivos

20
de todas las asociaciones (si el dispositivo es un dispositivo coordinador o router).
Todo esto se produce por un dispositivo que se encarga del descubrimiento de los
dispositivos ZigBee.
También sirve para proporcionar otros servicios que se pueden ofrecer a los
dispositivos finales (end devices) definidos en el dispositivo por los objetos de
aplicación que contiene. Un dispositivo puede descubrir terminales activos,
además puede descubrir servicios específicos que coincidan con un criterio dado
(como pueden ser los identificadores de perfiles y de clústeres).

1.3.8.2 Gestión de Enlace

La gestión del enlace la proporcionan los objetos de aplicación, de manera que


estos objetos en cada uno de los dispositivos ZigBee puedan conectar todas las
capas de la pila de protocolo a través de varias conexiones, que puedan
proporcionar varios nodos en la red ZigBee. Las tablas de enlace se construyen y
se publican en las peticiones de enlace y sus respuestas resultantes. Los
dispositivos finales y las instrucciones tanto de enlace como de desenlace
(abandono de la red) entre los dispositivos se soportan a través de los perfiles
ZigBee mencionados anteriormente.

1.3.8.3 Gestión de Seguridad


La gestión de seguridad la proporcionan también los objetos de aplicación para
habilitar o deshabilitar la parte de seguridad en el sistema. Si está habilitada, la
gestión de claves se lleva a cabo haciendo el uso de lo que se conoce como claves
maestras (master keys), claves de red (network keys) que permiten establecer una
clave de enlace (link key).

1.3.9 Dispositivos ZigBee

1.3.9.1 Coordinador

1.3.9.1.1 Inicialización

Normalmente se crea una única copia de los parámetros de configuración de la


red para los objetos pertenecientes a los ZDO. “Además, se pueden definir

21
parámetros para describir el Node Descriptor, Power Descriptor, Simple
Descriptor, e incluso los terminales activos.”[Misra S., Zhang I,Misra S.C., 2009]

La aplicación del dispositivo realiza una petición en la lista de canales para


realizar una búsqueda o escaneo de los canales indicados. La confirmación
resultante obtiene una lista detallada de los PANs activos. La aplicación del
dispositivo compara la lista de canales con la lista de red y selecciona uno de los
canales que se encuentre libre. Una vez se identifica el canal, la aplicación del
dispositivo selecciona los atributos de seguridad de la capa y trama
correspondientes a los parámetros de configuración. Después la aplicación
chequea si se ha podido establecer el PAN en el canal.

1.3.9.1.2 Operación Normal

En este estado, el coordinador ZigBee debe permitir que otros dispositivos se


unan a la red basándose en sus parámetros de configuración; como pudieran ser
la duración de la incorporación del dispositivo a la red o el número máximo de
elementos que se pueden unir.
El coordinador ZigBee debe responder a cualquier dispositivo u operaciones del
servicio de descubrimiento de su propio dispositivo o de cualquier dispositivo que
tenga asociado y que esté dormido. La aplicación del dispositivo debe
asegurarse de que el número de entradas de enlace no excede de los indicados
en los parámetros de configuración. Por tanto, el coordinador ZigBee tiene que
soportar el control del proceso de incorporación a la red de cualquier dispositivo.
El coordinador tiene que mantener una lista de los dispositivos asociados y
facilitar el soporte para elementos huérfanos, permitiendo que se vuelvan a unir
a la red, permitiendo que los dispositivos se incorporen directamente en la red.
Por otro lado, el coordinador ZigBee debe soportar primitivas que permitan
eliminar o desasociar los dispositivos que estén bajo su control. El coordinador
procesa las peticiones de solicitud del router o de los dispositivos finales. Una
vez recibida la solicitud de desconexión el coordinador espera un tiempo para
recibir una segunda petición de desconexión. Si le llega en un tiempo
determinado, el coordinador ZigBee pasará a examinar el identificador del perfil

22
(Profile ID) para ver si coincide. Si coincide, lo incluye en una lista llamada
AppOutClusterList para que deje de pertenecer a la red. Si no coincide se enviará
un error al dispositivo que solicita la desconexión, es decir, el dispositivo seguirá
perteneciendo a la red.

1.3.9.1.3 Operación del Centro de Validación

El coordinador ZigBee tiene la función de ser el Centro de Validación (Trust


Center) cuando la seguridad está habilitada en la red. Al centro de validación se
le notifica si existen nuevos dispositivos en la red por medio del APSME. El centro
de validación puede permitir que el dispositivo permanezca en la red o bien se le
fuerce a salir de ella.
Si el centro de validación decide permitir que el dispositivo permanezca en la red,
debe establecer una clave maestra con el dispositivo a no ser que ya exista una
clave maestra previa entre ellos. Una vez intercambiada dicha clave, el centro
de validación y el dispositivo ahora negociarán una clave para establecer la
conexión.
El centro de validación entonces proporciona al dispositivo la clave de red (NWK)
para que el dispositivo pueda establecer peticiones al coordinador.

1.3.9.2 Router

1.3.9.2.1 Inicialización

Por regla general se crea una única copia de los parámetros de configuración de
la red para los objetos pertenecientes a ZDO.
Si se puede, se crean los elementos de configuración para el Complex
Descriptor, el User Descriptor, el número máximo de entradas de enlace y la
clave maestra.
“La aplicación del dispositivo utiliza el ChannelList y sus parámetros de
configuración para buscar o escanear los canales que se le indiquen. El resultado
permite obtener la lista de red con los PAN activos en la red. Entonces se realizan
23
varias peticiones de descubrimiento para obtener cuales son realmente los
elementos que existen en la red y asociar los enlace en la capa de red. La
aplicación del dispositivo compara el ChannelList con la NetworkList para
seleccionar los PAN existentes que se deben unir. Una vez que el PAN al que
unirse se ha identificado, la aplicación del dispositivo debe realizar una petición
para asociar el PAN en el canal. Después debe chequear el estado de
verificación de la asociación en el coordinador u otros routers seleccionados en
ese PAN.”[Misra S., Zhang I, Misra S.C. ,2009]
Si la red tiene la seguridad activada, el dispositivo tiene que esperar a que el
centro de validación le proporcione la clave maestra y establecer con éste la
clave de enlace. Una vez establecido espera a que el centro de validación de
pase la clave de red. Ahora ya que está autenticado puede funcionar como un
router de la red.

1.3.9.2.2 Operación Normal

En este estado, el router debe permitir que otros dispositivos se unan a la red
basándose en los parámetros de configuración que tiene, como el número de
elementos máximos o el tiempo en el que puede estar un elemento en la red.
Cuando un dispositivo nuevo se une a la red, la aplicación del dispositivo debe
ser informada. Cuando se haya admitido en el PAN, el router debe indicarle la
confirmación de la conexión. Si la seguridad está habilitada, el dispositivo debe
informar al centro de validación.
El router ZigBee debe responder a cualquier dispositivo descubierto o a
operaciones del servicio de descubrimiento, tanto de su propio dispositivo como
de cualquier otro asociado que pudiera estar dormido.
Si la seguridad está activada, el router debe utilizar la clave maestra para
establecer los procedimientos para la gestión de la clave de enlace (Link Keys).
El router debe soportar el establecimiento de una clave maestra con el dispositivo
remoto y establecer entonces la clave de enlace. El router tiene que poder
almacenar y eliminar las claves de enlace para destinos conocidos que requieran
que la comunicación sea segura con lo que debe poder recibir las claves del
centro de validación.
24
El router debe permitir también la eliminación de la red de dispositivos asociados
bajo su control de aplicación. Además éste mantiene una lista con los
dispositivos asociados y tiene que facilitar el soporte para que los procesos de
búsqueda e incorporación de elementos huérfanos de los dispositivos que
previamente han estado asociando, puedan volver a unirse a la red.

1.3.9.3 Dispositivo Final

1.3.9.3.1 Inicialización

La aplicación del dispositivo debe obtener de la lista de canales la configuración


para escanear los canales especificados. El resultado debe contener una lista de
red (Network List) detallando los PAN activos en la red. Al igual que el router, se
realizan varias peticiones de descubrimiento para saber cuántos elementos son
los que hay en la red. La aplicación del dispositivo debe comparar la lista de
canales con la lista de red para deducir a qué red debe unirse. En el algoritmo
debe indicarse entre otras cosas: el modo de operación de la red, identificación
del router o coordinador de la red, capacidad del router o coordinador, coste de
enrutamiento, etc. Una vez hecho, debe chequear la asociación con el router o
el coordinador ZigBee en el PAN.
Si la red tiene la seguridad habilitada, el dispositivo tiene que esperar a que el
centro de validación negocie primero la clave maestra, seguido de la clave de
enlace y finalmente la clave de red (NWK), estará autenticado y listo para unirse
a la red.

1.3.9.3.2 Operación Normal

El dispositivo final ZigBee debe responder a cualquier dispositivo descubierto o


a las peticiones de operación del servicio de descubrimiento de su propio
dispositivo.
Si la seguridad está habilitada, igual que en el apartado anterior, debe negociar
primero la clave maestra y seguidamente la clave de enlace, con lo que tiene que

25
poder almacenar también las claves de enlace de los destinos que requieran una
comunicación segura. Debe poder gestionar estas claves, tanto para almacenar
como para eliminar. Por lo tanto, tiene que poder mantener una comunicación
con el centro de validación para actualizar las claves de red (NWK key).

1.3.10 Dispositivos y Servicio de Descubrimiento

El dispositivo y las funciones del servicio de descubrimiento soportan:


 El dispositivo de descubrimiento.
 El servicio de descubrimiento.

1.3.11 Dispositivos de Gestión

1.3.11.1 Gestor de Seguridad

El gestor de seguridad determina que seguridad está habilitada o deshabilitada.


Si está habilitada debe permitir:
 Establecer una clave.
 Transportar la clave.
 Autenticación

1.3.11.2 Gestor de Enlace

La función de gestión del enlace soporta:


 El enlace de los dispositivos finales.
 El enlace y desenlace.

1.3.11.3 Gestor de Red

La función del gestor de la red debe soportar:


 El descubrimiento de la red.
 La formación de la red.
 Permitir y denegar asociaciones.
 Asociaciones y des asociaciones.
 Descubrimiento de rutas.
26
 Reseteo de la red.
 Habilitación e Inhabilitación del estado del receptor de radio.

1.3.11.4 Gestor de Nodos

El gestor de nodos soporta la petición y respuesta de las funciones de gestión.


Estas funciones de gestión solo proporcionan visibilidad a dispositivo externos en
cuanto al estado del dispositivo receptor de la petición.

1.4 Capa de Red


Las primitivas de confirmación de la capa de red, suelen incluir parámetros
encargados de informar acerca del estado de las solicitudes que genera la capa
inmediatamente superior, la capa de aplicación. Estos parámetros son los que
aparecen en la tabla 2.

Tabla 2 Primitivas de Confirmación (Tomada Misra S., Zhang I, Misra S.C. 2009)

Nombre Valor Descripción


SUCCESS 0x0 La solicitud ha finalizado correctamente.
0
INVALID_PARAMETER 0xc1 Parámetro inválido.
INVALID_REQUEST 0xc2 La solicitud se deniega en función del estado
actual de la capa de red.
NOT_PERMITED 0xc3 Solicitud no permitida.
STARTUP_FAILURE 0xc4 Fallo en la inicialización de la red.
ALREADY_PRESENT 0xc5 Indica que un dispositivo que ya existe en la red
dispone de la dirección que se pretende
obtener.
SYNC_FAILURE 0xc6 Fallo de sincronización (problema con la MAC).
TABLE_FULL 0xc7 Indica que no dispone de más espacio para
almacenar direcciones de dispositivos en la
tabla de encaminamiento.
UNKNOWN_DEVICE 0xc8 Error porque el dispositivo indicado no aparece
en la tabla de encaminamiento del dispositivo.
UNSUPPORTED_ATTRIBUT 0xc9 Identificador de atributo
E no soportado o
reconocido.

NO_NETWORKS 0xca Fallo provocado por la inexistencia de redes


disponibles.
LEAVE_UNCONFIRMED 0xcb Fallo en el descubrimiento del propio dispositivo
al resto de la red.
MAX_FRM_CNTR 0xcc Proceso de Seguridad. Trama fuera de rango
NO_KEY 0xcd Proceso de Seguridad. La solicitud carece de
llave de paso.
BAD_CCM_OUTPUT 0xce Proceso de Seguridad. El sistema de
seguridad ha producido errores en su salida.

27
1.4.1 Descripción General

La capa de red es necesaria para ofrecer servicios a la capa inmediatamente


superior, la capa de Aplicación, que permitan realizar operaciones sobre la capa
inmediatamente inferior a la misma, la sub-capa de MAC, definida en el IEEE
802.15.4-2003. Es decir, la capa de red hace de interfaz entre la capa de Aplicación
y la de MAC. Para esto, la capa de red dispone en esta interfaz de dos servicios,
con los que cubre las necesidades de la capa de Aplicación. Estos dos servicios se
conocen como Servicio de Datos y Servicio de Control.

La comunicación entre la capa de Aplicación y la sub-capa MAC, se lleva a cabo


en el SAP de la capa de Red. Utilizando las interfaces descritas anteriormente.

Esto se traduce de forma que, entre la capa de Aplicación y la de Red existen dos
SAP, uno por cada servicio que la capa de Red oferta a la de Aplicación. De la
misma forma que aparecen otros dos SAP más entre la capa de Red y la sub-capa
de MAC. (Ver figura 8)

Figura 8 Capa de Red (Tomada de Arias A. 2009)

1.4.1.1 Servicio de Datos

Este servicio de interfaz es también conocido con NLDE (Network Layer Data
Entity). Provee de un servicio de datos, que permite a cualquier aplicación
comunicarse con las mismas unidades de datos, con dos o más dispositivos.
Obviamente todos los dispositivos que intervengan en esta comunicación deberán
estar en la misma red de interconexión.
Esta interfaz dispone de los siguientes servicios:
 Generación de la PDU de la capa de Red (NPDU).

28
 Especificación de la topología de encaminamiento.

1.4.1.2 Servicio de Control

El también conocido como NLME (Network Layer Management Entity), es un


servicio ofertado desde la capa de Red a la superior, que permite a la capa de
Aplicación interactuar o comunicarse con la pila directamente.
Esta interfaz dispone de los siguientes servicios:
 Configuración de un nuevo dispositivo. Esto permitirá la inicialización de
un dispositivo Coordinador, así como el descubrimiento de nuevos
dispositivos dentro de la red de interconexión.
 Inicialización de una nueva red.
 Integración y salida de una red.
 Direccionamiento.
 Descubrimiento de vecinos.
 Descubrimiento de ruta.
 Recepción de control.

1.4.2 Especificación del servicio

Además de la posibilidad de comunicación entre la capa de Aplicación y la de Red,


la capa de Red de ZigBee dispone de un canal de comunicación directa entre los
servicios de la misma capa. Es decir, dispone de una interfaz para comunicar los
servicios intermedios de Datos y de Control. Mediante esta nueva interfaz, el
servicio de Control podrá utilizar los servicios de su capa contigua, la de Datos.
Dentro de cada uno de los servicios de la capa de Red, en las interfaces de
comunicación, se definen las primitivas de comunicación entre las capas de
Aplicación y de MAC. De la misma forma que sucede en la comunicación entre los
servicios de la propia capa. Estas primitivas son las siguientes:
 Formación de Red. Las primitivas que aquí se engloban, definen como la
capa superior de un dispositivo ZigBee puede inicializarse a sí mismo
como dispositivo coordinador de una nueva red.
 Admisión de Dispositivos. Grupo de primitivas que permiten tanto a un
dispositivo coordinador como a un router la posibilidad de incorporar
dispositivos a su red, mediante descubrimiento de estos.
29
 Conversión a Router. Estas primitivas son las que utiliza un dispositivo
ZigBee tipo router, tras haber sido admitido en una nueva red, para ejercer
como router en la misma, reconfigurando su trama para esto.
 Incorporación a una Red. Se trata de una serie de primitivas utilizadas
para la incorporación de dispositivos a una red ZigBee. Dentro se
clasifican en tres grupos.
 Incorporación a una red por asociación. Cuando un dispositivo
pretende entrar a formar parte de la red del vecino más cercano que
ha encontrado.
 Incorporación a una red directamente.
 Reincorporación a una red. Esto sucede en el caso de que un
dispositivo se despierte y no sea capaz de encontrar su red.

 Incorporación directa de Dispositivos. Se trata de una serie de


primitivas que permiten tanto a los routers como coordinadores de una red
ZigBee la incorporación directa de un dispositivo a su red, sin necesidad
de que este dispositivo lo solicite.
 Abandonar una Red. Grupo de primitivas utilizadas por los dispositivos
para abandonar la red a la que pertenecen. También pueden ser utilizadas
por otros dispositivos vecinos para informar al coordinador o router de que
algún dispositivo pretende abandonar la red. Así mismo estas primitivas
las utilizan los coordinadores para notificar al dispositivo en cuestión, que
ha abandonado correctamente la red.
 Reseteo de Dispositivos. Primitivas utilizadas para que los dispositivos
puedan resetear su capa de red.
 Sincronización. Juego de primitivas que los dispositivos utilizan para
sincronizar su comunicación con los dispositivos coordinadores o routers.
 Mantenimiento de la capa de Red. Este último grupo de primitivas es
utilizado por la capa superior de los dispositivos para leer y escribir en la
base de información de la capa de red.

1.4.3 Funcionalidades

Todos los dispositivos ZigBee disponen de dos funcionalidades:

30
 Incorporación a una Red.
 Abandonar una red.
Además de estas funcionalidades, los dispositivos Coordinadores y Routers
disponen de una serie de funcionalidades adicionales
 Permitir a otros dispositivos incorporarse a la red. De dos formas
distintas:
 Por indicaciones de la sub-capa de MAC.
 Por solicitud de incorporación desde la capa de Aplicación.
 Permitir a los dispositivos miembros de la red abandonarla. De la
misma forma que sucedía en el caso anterior, dispone de dos
posibilidades:
 Por indicaciones de la sub-capa de MAC.
 Por solicitud de incorporación desde la capa de Aplicación.
 Asignación de direcciones de red lógicas.
 Mantenimiento de una tabla o lista de dispositivos cercanos o vecinos.
Por último, los dispositivos Coordinadores, disponen de una funcionalidad
particular. Esta es la que les permite crear o establecer nuevas redes de datos entre
dispositivos.

1.4.3.1 Creación de una Nueva Red

Este procedimiento sólo puede ser iniciado por dispositivos Coordinadores, que no
se encuentren ya dentro de una red ZigBee. Es decir, un coordinador, sólo puede
aparecer en una red. Pero en el caso de que cualquier otro tipo de dispositivo o de
que un Coordinador asociado ya a una red, iniciase este procedimiento sería
denegado por la capa de Red.
Una vez iniciado el procedimiento, desde el interfaz de control de Red, se
comunica con la subcapa de MAC para comprobar si existen posibles
interferencias (otros coordinadores haciendo la misma operación, por ejemplo).
Esta comprobación se hace utilizando varios canales, hasta que se encuentra
uno disponible, el cuál es reservado para la nueva red. En caso de que no se
encuentre ningún canal disponible, se notificará a la capa superior y se
abandonará el proceso de establecimiento de la red.
Una vez encontrado un canal disponible, este es ocupado y se le asigna un
31
nombre a la subred a partir del ID del PAN. El cuál obviamente no puede ser el
de broadcast. Este parámetro es elegido aleatoriamente y siempre dejando
16bits disponibles, reservados para futuras ampliaciones de la red. Al finalizar
esta secuencia, el nuevo ID es comunicado a la subcapa inferior (MAC).
Entonces, y si no aparecen conflictos con el ID del PAN, se escoge y establece
la nueva dirección de red. Hecho esto, se notifica que el proceso ha finalizado
correctamente y se inicializan los parámetros del coordinador en base a los
parámetros de identificación obtenidos.
En la figura 9, se muestra todo este proceso, en un diagrama de comunicación,
en el que se puede apreciar además las primitivas utilizadas en todo el proceso.

Figura 9 Creación de una Nueva Red (Tomada de Reyes Cortés F. 2015)

1.4.3.2 Incorporación de Nuevos Dispositivos a la Red

Este procedimiento sólo puede ser iniciado por dispositivos ZigBee que sean
Coordinador o Router. En caso de que otro dispositivo iniciase este proceso,
32
sería cancelado por el Servicio de Control de la capa de Red.
Entonces se habilita el parámetro PermitDuration y la sub-capa de MAC se
configura para permitir la asociación con nuevas direcciones MAC.
Desde este momento, el dispositivo está esperando que nuevos dispositivos
acepten su oferta para formar parte de la red. Este proceso no tiene una duración
determinada, sólo finalizará en el caso de que aparezca otra orden o primitiva
que la anule.
A continuación, se muestra todo este proceso, en un diagrama de comunicación,
en el que se puede apreciar además las primitivas utilizadas en todo el proceso.

1.4.3.3 Incorporación a una Red

En este momento aparece la diferenciación entre padre e hijo. Se llama padre al


dispositivo que permite que otros dispositivos se conecten a su red, es decir, se
tratará de un dispositivo Coordinador o en su defecto un Router. Mientras que el
hijo pasará a ser el nuevo dispositivo que pretende formar parte de la red.
La incorporación a una nueva red puede hacerse de dos formas distintas.
 Por asociación.
 Directamente.
También hay que tener en cuenta que un dispositivo puede reincorporarse a una
red. Bien por haber estado dormido durante un largo periodo de tiempo o bien
porque ha perdido su red y busca una nueva.

1.4.3.3.1 Incorporación a una Red por Asociación

Para la incorporación de un dispositivo a una red por asociación, aparecen dos


procesos distintos, pero paralelos. Estos son los procesos correspondientes al
padre y al hijo.

Procedimiento del Hijo

El procedimiento empieza cuando el dispositivo escanea desde la sub-capa de


MAC los canales disponibles. Es decir, en este caso el dispositivo estará
buscando canales en los que haya algún tipo de tráfico. Este proceso de escaneo
por canales tendrá una duración determinada por canal, al contrario que sucedía
33
en el caso anterior.
Una vez escogido el canal, se procesan las tramas encontradas en el mismo, en
busca de alguna cuya longitud sea distinta de cero. Entonces el dispositivo
comprueba si la comunicación efectivamente es entre dispositivos de tecnología
ZigBee. De ser así localiza el identificador de la red.

A continuación, toda esta información es procesada por el dispositivo, el número


de redes que ha encontrado, dispositivos cercanos, etc. Buscando, en cuál de
todas las redes localizadas se le permite la incorporación. Pasando a trabajar
con el identificador de dicha red.
En este momento, el dispositivo, también puede decidir desechar las redes
encontradas y volver a analizar los canales de comunicación en busca de otras
que cumplan sus necesidades.
Si el dispositivo es un Router, deberá indicarlo en su siguiente comunicación, en
la que intentará finalmente incorporarse a la red.
Acto seguido, el dispositivo hace una lista individual de los dispositivos cercanos
a él (vecinos) para comprobar la distancia a la que se encuentra del padre. Si
este es muy distante, podría acceder a través de la asociación con otros
dispositivos, sólo si el coste de esta asociación no supera una distancia de tres
dispositivos asociados. En caso de que esta condición no se cumpla, el proceso
se anulará nuevamente.
En caso de encontrar un vecino, que cumpla las condiciones, la capa de MAC se
habilita de forma que solicite una dirección de red. Este proceso puede fallar, por
diversas causas, como que el dispositivo elegido desaparezca de la red. Si esto
ocurriese el proceso sería anulado y se volvería a empezar.
Si el proceso se completa satisfactoriamente, es decir, el dispositivo es aceptado
en la red se le asignada una dirección de red de 16bits única en toda la red.
Además, se actualiza la tabla de dispositivos de su vecino, para que sepa que
ese dispositivo ya forma parte de la red y que accederá a la misma a través de
él. (Ver en la figura 10)

34
Figura 10 Incorporación a una red por Asociación -Hijo (Tomada de Reyes Cortés F. 2015)

Procedimiento del Padre

Este procedimiento es iniciado por la llegada de una solicitud de incorporación a


la subcapa de MAC del dispositivo. Los dispositivos que pueden aceptar estos
mensajes y permitir la incorporación a la red son sólo los Coordinadores y
Routers. En caso de que otro dispositivo intente aceptar estos mensajes a la
capa de red los eliminará.
A continuación, el dispositivo comprueba por qué un dispositivo que ya es de su
red, solicita su incorporación. Tras esto comprueba que lo que pretende el
dispositivo es informar del descubrimiento de un nuevo dispositivo en la red
cercano a sí mismo. Entonces se asigna a este nuevo dispositivo su dirección
lógica y única de red.
Aunque también puede darse el caso de que el dispositivo padre no disponga de
espacio de memoria física para recordar a este nuevo dispositivo. Caso en el
que la incorporación no podrá ser llevada a cabo y por lo tanto el proceso será
anulado. (Ver figura 11)

35
Figura 11 Incorporación a una red por Asociación -Padre (Tomada de Reyes Cortés F. 2015)

1.4.3.3 Incorporación a una red Directamente

En este caso el proceso de incorporación a una red es mucho más sencillo


porque la comunicación es directa entre padre e hijo, sin utilizar intermediarios.
El hijo, una vez encontrada una red en la que un dispositivo Controlador o Router
se encuentra próximo le envía la petición de unión a la red. Si el dispositivo padre
dispone de memoria física suficiente para almacenar la nueva dirección de este
dispositivo genera una nueva dirección lógica de red, se la envía al nuevo
dispositivo hijo y la almacena en su tabla en encaminamiento.

1.5 Especificación de los Servicios de Seguridad

1.5.1 Arquitectura de Seguridad

1.5.1.1 Claves de Seguridad

La seguridad en una red de dispositivos ZigBee se basa en claves de enlace y


de red. En una comunicación por unicast entre pares de entidades APL la
seguridad se basa en claves de 128bits entre los dos dispositivos. Por otro lado,
la comunicación existente cuando es por broadcast, también las claves para la
seguridad se establecen de 128bits entre todos los dispositivos de la red.
Un dispositivo adquiere la clave de enlace mediante el transporte de clave,
establecimiento de clave o dada en la preinstalación desde el fabricante. Por
otro lado, para el establecimiento de la clave de red hay dos maneras: el
transporte de clave y la preinstalación. Como se ha mostrado en apartados
anteriores el establecimiento de clave se obteniendo previamente una clave de
enlace basándose en una clave maestra. Esta clave maestra puede ser obtenida
por el transporte de dicha clave o en fábrica.
36
La clave de red tiene que ser usada por las capas MAC, NWK y APL de ZigBee.
Las claves maestras y las de enlace sólo pueden ser usadas en la subcapa APS,
de hecho, las claves maestras y de enlace deben estar disponibles sólo en la
capa APL.

1.5.1.2 Arquitectura de Seguridad

Las aplicaciones ZigBee se comunican usando el estándar de Wireless IEEE


802.15.4 -2003 que especifica que hay dos capas, la física (PHY) y la capa de
control de acceso al medio (MAC). ZigBee construye en estas capas una capa
de red (NWK) y otra de aplicación (APL). La capa de MAC proporciona servicios
de que permiten la fiabilidad y la comunicación directa entre dispositivos. La capa
de red (NWK) proporciona enrutado y funciones de multi-hop que se puedan
necesitar para crear cada una de las topologías que se necesiten como la de
estrella, malla, árbol, etc. La capa APL incluye la subcapa de soporte de
aplicación (APS), los ZDO y las aplicaciones. El ZDO es responsable de toda la
gestión de dispositivos mientras que la capa APS proporciona el servicio
necesario para los ZDO y las aplicaciones ZigBee.

1.5.2 Seguridad MAC

Cuando una trama en la capa MAC tiene que ser asegurada, ZigBee tiene que
usar la capa de seguridad que se indica en la especificación 802.15.4.
La capa MAC se encarga de su propio proceso de seguridad, aunque sean las
capas superiores las encargadas de determinar el nivel de seguridad a usar. En
la figura 12 se muestra un ejemplo de los campos de seguridad que tienen que
ser incluidos en las tramas en las que se indica que tiene que existir seguridad a
nivel de MAC.

Figura 12 Seguridad en MAC (Tomada de Oliva 2017)

37
1.5.3 Seguridad NWK (Red)

Cuando una trama en la capa de red necesita ser asegurada, ZigBee debe usar
ciertos mecanismos de protección de los datos. Al igual que la capa MAC, el
mecanismo de protección de trama en la capa de red NWK usa de la encriptación
Advanced Encription Standard, es decir, AES. Sin embargo, son las capas
superiores las que deben indicar el nivel de seguridad que se tiene que aplicar.

Una responsabilidad de la capa de red (NWK) es enrutar los mensajes sobre


enlace multi- hop. La capa de red tiene que enviar como broadcast sus peticiones
de enrutado y recibir las respuestas. Se realiza de manera simultánea el
enrutamiento de los mensajes de peticiones que se envían a los dispositivos
cercanos y los que se reciben de ellos. Si la clave de enlace apropiada se indica,
la capa de red usa esta clave de enlace para asegurar sus tramas de red. Si por
el contrario no se indica, para poder asegurar los mensajes de la capa de red
usa su propia clave de red para asegurar las tramas de red. Por tanto, en el
formato de la trama se indica de manera explícita la clave que se ha usado para
protegerla.

En la figura 13 se muestra los campos que se deben incluir en una trama de red.

Figura 13 Seguridad en NWK (Tomada de Oliva 2017)

1.5.4 Seguridad en APL

Cuando una trama en la capa APL necesita ser asegurada, la subcapa APS es la
encargada de gestionar dicha seguridad. La capa APS permite que la seguridad de
trama se base en las claves de enlace y de red (Link y Network Keys) como se ha
visto en apartados anteriores. En la figura 14 se muestra los campos para
proporcionar seguridad en una trama del nivel APL.

38
Figura 14 Seguridad en APL (Tomada de Oliva 2017)

1.5.4.1 Establecimiento de Clave

Los servicios de establecimiento de clave en la subcapa APS proporcionan el


mecanismo por el cual un dispositivo ZigBee puede obtener una clave secreta
compartida (la clave de enlace) con otro dispositivo ZigBee. En establecimiento
de clave existen dos elementos: el que inicia la comunicación y el que responde,
que normalmente es el que le dará la validación. La información de validación,
es decir, la clave maestra da paso a que el elemento iniciador pueda establecer
una clave de enlace.

En el establecimiento del protocolo de clave simétrica Symmetric-Key Key


Establishment (SKKE), el dispositivo iniciador establece una clave de enlace con
el receptor usando la clave maestra. Esta clave maestra, puede venir dada de
fábrica o que se implemente desde el centro de validación, que puede ser un
tercer elemento o bien puede venir dada como datos introducidos por usuario.

1.5.4.2 Transporte de Clave

El servicio de transporte de clave proporciona tanto la posibilidad de transportar


la clave de manera segura y no segura de un dispositivo a otros. La instrucción
o comando de transportar clave segura significa transportar las claves maestras,
de enlace, de red desde el centro de validación a los dispositivos. Este comando
no protege con criptografía la clave que tiene que ser cargada.

1.5.4.3 Actualización de Dispositivos

El servicio de actualización de dispositivos proporciona una forma segura para


39
que un dispositivo, como un router, informe a otro dispositivo, como el centro de
validación, que existe un tercer dispositivo que ha cambiado su estado y que por
tanto hay que actualizarlo, como pudiera ser la inclusión o eliminación de un
dispositivo en la red. De esta manera el centro de validación mantiene una lista
precisa de los dispositivos activos en la red.

1.5.4.4 Eliminación de dispositivos

El servicio de eliminación de dispositivos proporciona una forma segura por la


cual un dispositivo como el centro de validación puede informar a otros, como
son los routers de que uno de sus hijos tiene que ser eliminado de la red. De esta
manera se puede eliminar un dispositivo de la red que no ha cumplido los
requisitos de seguridad dados por el centro de validación que haya en la red.

1.5.4.5 Petición de Clave

El servicio de petición de clave proporciona una manera segura para los


dispositivos pedir la clave de red o bien la clave maestra a otro dispositivo como
es el centro de validación.

1.5.5 Rol del Centro de Validación

Por temas de seguridad, ZigBee define el rol de Centro de Validación. Este


elemento es un dispositivo validado por los dispositivos de la red para distribuir
las claves para que gestione la configuración de aplicación de los dispositivos.
Todos los miembros de la red deben reconocer solo a un centro de validación
(Trust Center) y debe existir solo y solo un centro de validación por cada red
segura.
Las funciones dadas por el Centro de Validación pueden ser subdivididas en tres
roles: el gestor de la validación, el gestor de la red y el gestor de la configuración.
Un dispositivo se encarga de validar el gestor de validación para identificar los
dispositivos que toman el rol en dicha red y el gestor de configuración. El gestor
de red se encarga de gestionar la clave de red, tanto para tenerla como para
distribuirla. El gestor de configuración se encarga del enlace (binding) de dos
aplicaciones y facilitar la seguridad entre estos dos dispositivos que gestiona,
como por ejemplo distribuyendo las claves maestras o de enlace. Para simplificar

40
el manejo de estos tres roles, se incluyen dentro de un único dispositivo, el centro
de validación.

1.6 Capa Física

La capa física proporciona un servicio de transmisión de datos y una interfaz de


gestión de la propia capa. Permite dos modos de funcionamiento en función de
las bandas de frecuencia en la que operemos. Así tenemos:

 Banda ISM (Industry Science Medicine) a 2.4 GHz.


 Banda 868 MHz en Europa o 915 MHz en América.
En la Figura 15 podemos observar cómo se distribuyen los canales en el IEEE
802.15.4. En la banda 915 MHz contamos con 10 canales con una separación de 2
MHz y un sólo canal para 868 MHz. Por razones de costo, se fabrican los circuitos
para que puedan operar en ambas frecuencias debido a su proximidad. Por otro
parte, en la banda de 2.4 GHz disponemos de 16 canales con una amplia separación
de 5 MHz, lo cual facilita el diseño de los filtros de transmisión y recepción
reduciendo considerablemente los costos.

Figura 15 Estructura de los Canales IEEE 802.15.4 (Tomada de Oliva 2017)

Es evidente que este tipo de dispositivos no tienen una idea de movilidad entre
países como podría suceder con otros sistemas como la telefonía móvil, por lo
tanto, resulta necesario seleccionar con antelación la banda de frecuencia en
la que vayamos a trabajar dependiendo de nuestro proyecto.
En la Tabla 3 podemos observar las características asociadas a la elección de

41
la frecuencia de trabajo. En la banda de 2.4 GHz podemos alcanzar tasas
binarias de hasta 250 Kbps, mientras que en 868/915 MHz sólo podemos
trabajar respectivamente con velocidades de 20 Kbps y 40 Kbps. Esta diferencia
es debida a que el esquema de modulación 0-QPSK (Offset Quadrature Phase-
Shift Keying) utilizado a 2.4 GHz es de mayor orden que el BPSK (Binary Phase-
Shift Keying) a 868/915 MHz, además de disponer de un mayor ancho de banda.

Tabla 3 Características de las diferentes Frecuencias de Trabajo (Tomada de Oliva 2017)

PHY Banda Canales Modulación Tasa


(MHz) frecuencia binario
(MHz) (Kbps)
868 868-868.56 0 BPSK 20
915 902-928 1-10 BPSK 40

2450 2400-2483.5 11-26 O-QPSK 250

Los esquemas de modulación emplean la técnica espectro ensanchado por


secuencia directa (DSSS: Direct Sequence Spread Spectrum). Mediante esta
técnica se consigue aumentar el ancho de banda de la transmisión y reducir la
densidad espectral de potencia. El uso del espectro ensanchado proporciona
una mayor robustez frente al fenómeno de multipath (multi-camino) y nos
permite transmitir con una mayor potencia, siempre y cuando la limitación esté
impuesta por la densidad espectral de potencia.

Para la banda de 868/915 MHz se emplea la modulación BPSK con filtros


rectangulares con el fin de obtener una envolvente constante, lo cual permite el
uso de amplificadores de potencia muy eficientes y de bajo costo. Se emplea
además una aproximación de DSSS en la que cada bit transmitido es
representado por una cadena de ensanchado de una longitud máxima de 15 bits.
Los datos binarios son codificados multiplicando estas secuencias por +1 ó -1,
modulando la secuencia resultante sobre la portadora empleando la modulación
BPSK.

En el esquema de modulación a la frecuencia de 2.4 GHz los datos binarios son


agrupados en símbolos de 4 bits cada uno, donde cada símbolo especifica una
de las 16 secuencias ortogonales pseudoaleatorias (PN) de 32 chips para el
42
proceso de transmisión. Las secuencias PN para símbolos de datos
consecutivos son concatenadas, siendo la nueva secuencia total modulada
sobre la portadora empleando O-QPSK con filtros cosenoidales. Este esquema,
equivalente a la modulación MSK (Minimum Shift Keyng), proporciona una señal
de salida con una envolvente de amplitud constante, lo que supone una enorme
ventaja desde el punto de vista de la amplificación. Por tanto, nos permite
emplear amplificadores de potencia muy eficientes, reduciendo costes.
Además, la señal resultante posee un espectro muy confinado por lo que sus
lóbulos secundarios no generan interferencias en los canales adyacentes.

El estándar define una sensibilidad de los receptores mínima, siendo de -85dBm


para 2.4 GHz y de -92dBm para las bandas de 868/915 MHz. Estos valores
incluyen un margen suficiente para cubrir las tolerancias de fabricación así
como para permitir implementaciones de muy bajo costo, por lo que no es
extraño encontrar dispositivos en el mercado que nos ofrezcan una sensibilidad
del orden de 10dB mejor que la marcada por la especificación.

Los dispositivos han de ser capaces de transmitir al menos 1mW de potencia,


aunque en función de la necesidad esta potencia puede ser mayor o menor,
dentro de los limites regulados. Así el alcance mínimo es de unos 20m, pero es
posible llegar hasta casi los 100m con una configuración adecuada en el
receptor y en el transmisor. Aunque, como más adelante se explicará, en función
de la topología que empleemos podremos aumentar el rango de cobertura sin
aumentar el nivel de potencia de los dispositivos.

43
2. Caracterización las plataformas Arduino en base a los marcos teóricos y
sus aplicaciones en el entorno inalámbrico.

2.1 Introducción a las Placas Controladoras Arduino

Arduino es una plataforma de prototipos electrónica de código abierto (open–


source) basada en hardware y software flexibles y fáciles de usar.
En su diseño consta de una placa principal de componentes eléctricos, donde se
encuentran conectados los controladores principales que gestionan los demás
complementos y circuitos ensamblados en la misma. Además, requiere de un
lenguaje de programación para poder ser utilizado y para su funcionamiento se
debe programar y configurar a nuestra necesidad, por lo que se puede decir que
es una herramienta completa.
También simplifica el proceso de trabajo con microcontroladores, ya que está
fabricada de tal manera que viene pre- ensamblada y lista con los controladores
necesarios para poder operar con ella, ofreciendo una gran ventaja para
profesores, estudiantes y aficionados interesados en el desarrollo de tecnologías.
Las posibilidades de realizar proyectos basados en esta plataforma tienen como
limite la imaginación de quien opera esta herramienta.

2.1.1 Historia

Arduino fue inventado en el año 2005 por un estudiante del instituto IVRAE donde
se fabricó el primer prototipo y surge como respuesta a la necesidad de aprendizaje
para los estudiantes de computación y electrónica porque adquirir una placa de
microcontroladores era costosa y no ofrecían el soporte adecuado; convirtiéndose
en el líder mundial de tecnologías DIY (Do It Yourself). El creador de Arduino,
Massimo Banzi, logró evitar la quiebra del instituto educativo con las ganancias que
produciría vendiendo sus placas dentro del campus a un precio accesible. (1 euro
por unidad)
Inicialmente estaba basado en una simple placa de circuitos eléctricos, donde
estaban conectados un microcontrolador simple junto con resistencias de voltaje,
además de que únicamente podían conectarse sensores simples como leds u otras
resistencias, y no contaba con el soporte de algún lenguaje de programación para
44
manipularla. Años más tarde, se integró al equipo de Arduino un estudiante de la
Universidad de Colombia que contribuyó al desarrollo de un entorno para la
programación del procesador de esta placa. Tiempo después, se introdujo mejoras
a la interfaz de hardware de esta placa, agregando los microcontroladores
necesarios para brindar soporte y memoria al lenguaje de programación para
manipular esta plataforma.
Al ver los grandes resultados de Arduino y las grandes aceptaciones por parte del
público, comenzó a distribuirse en Italia, después en España, hasta colocarse en
el número uno de herramientas de aprendizaje para el desarrollo de sistemas
autónomos. (Ver Figura 16)

Figura 16 Primer prototipo de Arduino (Tomada de Revista IEEE Spectrum 2011)

2.1.2 Hardware

Consiste en una placa con un microcontrolador Atmel AVR y puertos de


entrada/salida. Los microcontroladores más usados son el Atmega168,
Atmega328, Atmega1280 y Atmega8 por su sencillez y bajo costo que permiten el
desarrollo de múltiples diseños. Por otro lado, el software consiste en un entorno
de desarrollo que implementa el lenguaje de programación Processing/Wiring y el
cargador de arranque que es ejecutado en la placa. Se programa en el ordenador
para que la placa controle los componentes electrónicos. Desde octubre de 2012,
Arduino se utiliza también con microcontroladoras CortexM3 de ARM de 32 bits,
que coexistirán con las más limitadas, pero también económicas AVR de 8 bits.
ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden
programar con el mismo IDE de Arduino y hacerse programas que compilen sin

45
cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan
3,3V, a diferencia de la mayoría de las placas con AVR, que generalmente usan
5V. Sin embargo, ya anteriormente se lanzaron placas Arduino con Atmel AVR a
3,3V como la Arduino Fio y existen compatibles de Arduino Nano y Pro en que se
puede conmutar el voltaje.
Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede
ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data.
Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo
integrado libre se puede descargar gratuitamente. Pueden tomar información del
entorno a través de sus entradas analógicas y digitales, puede controlar luces,
motores y otros actuadores. El microcontrolador en la placa Arduino se programa
mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de
desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino
pueden ejecutarse sin necesidad de conectar a un ordenador. También cuenta con
su propio software que se puede descargar de su página oficial que incluye los
drivers de todas las tarjetas disponibles lo que hace más fácil la carga de códigos
desde la computadora.

2.1.3 Características generales

Lo principal que debemos saber es que tipo de proyectos vamos a implementar.


Con esto nos da una idea de la cantidad de pines analógicos y digitales (normales
y de tipo PWM o modulados por ancho de pulso para simular una salida analógica)
que necesitamos para nuestro trabajo. Esto nos permite elegir algunas placas más
simples o complejas para reducir los costos de nuestro proyecto.
También podemos deducir el tamaño de código que vamos a generar para los
sketch. Un programa muy largo, con muchas constantes y variables, demandará
una cantidad mayor de memoria flash para su almacenamiento, por lo que se debe
elegir una placa adecuada.
La RAM será la encargada de cargar los datos para su inmediato procesamiento,
pero no es uno de los mayores escollos, puesto que esto solo afectaría a la
velocidad de procesamiento. La RAM va ligada al microcontrolador, puesto que
ambos afectan a la agilidad de procesamiento de Arduino.

46
En los Arduino originales podemos diferenciar entre dos tipos fundamentales de
microcontroladores, los de 8 y 32 bits basados en ATmega AVR y los SMART
basados en ARM de 32 bits y con un rendimiento superior, ambos creados por la
compañía Atmel.

Figura 17 Descripción física de Arduino (Tomada de McRoberts M. 2010)

2.1.4 Tipos y características de plataformas

De entre las placas se encuentran diversos de modelos. Todos diseñados para un


fin, compatibles con los shields y módulos oficiales, así como con Arduino IDE
(entorno de programación de Arduino).

2.1.4.1 Arduino Uno


Arduino Uno es una placa con un microcontrolador de la marca Atmel y con toda
la circuitería de soporte, que incluye, reguladores de tensión, un puerto USB
conectado a un módulo adaptador USB que permite programar el microcontrolador
desde cualquier PC de manera cómoda y también hacer pruebas de comunicación
con el propio chip.
Dispone de 14 pines que pueden configurarse como entrada o salida y a los que
puede conectarse cualquier dispositivo que sea capaz de transmitir o recibir
señales digitales de 0 y 5 V.
También posee entradas y salidas analógicas mediante las cuales podemos
obtener datos de sensores en forma de variaciones continuas de un voltaje. Las
salidas analógicas suelen utilizarse para enviar señales de control en forma de
señales PWM.

47
En la última versión de la placa, existen dos variantes, la Arduino UNO
convencional y la Arduino UNO SMD. La única diferencia entre ambas es el tipo de
microcontrolador que montan.

 En la figura 18 dispone de un microcontrolador en formato SMD.

 La figura 19 es un microcontrolador ATmega en formato DIP. Esta versión


nos permite programar el chip sobre la propia placa y después integrarlo en
otros montajes.

Figura 18 Arduino UNO con microcontrolador formato SMD (Tomada de Torrente Artero O. 2013)

Figura 19 Arduino UNO con microcontrolador ATmega en formato DIP (Fotografía propia tomada sobre la
plataforma Arduino UNO)

48
Entradas y salidas del Arduino UNO

Cada uno de los 14 pines digitales se puede usar como entrada o como salida.
Funcionan a 5V, cada pin puede suministrar hasta 40 mA. La intensidad máxima
de entrada también es de 40 mA.
Cada uno de los pines digitales dispone de una resistencia de pull-up interna de
entre 20KΩ y 50 KΩ que está desconectada, salvo que nosotros indiquemos lo
contrario.
Arduino también dispone de 6 pines de entrada analógicos que trasladan las
señales a un conversor analógico/digital de 10 bits.

 Pines especiales de entrada y salida:

o Los pines de RX y TX: Se usan para transmisiones serie de señales TTL.


o Interrupciones externas: Los pines 2 y 3 están configurados para generar una
interrupción en el Atmega. Las interrupciones pueden dispararse cuando se
encuentra un valor bajo en estas entradas y con flancos de subida o bajada de
la entrada.
o PWM: Arduino dispone de 6 salidas destinadas a la generación de señales PWM
de hasta 8 bits.
o SPI: Los pines 10, 11, 12 y 13 pueden utilizarse para llevar a cabo
comunicaciones SPI, que permiten trasladar información full dúplex en un
entorno Maestro/Esclavo.
o I2C: Permite establecer comunicaciones a través de un bus I2C. El bus I2C es un
producto de Phillips para interconexión de sistemas embebidos. Actualmente se
puede encontrar una gran diversidad de dispositivos que utilizan esta interfaz,
desde pantallas LCD, memorias EEPROM, sensores.

Alimentación de un ARDUINO

Puede alimentarse directamente a través del propio cable USB o mediante una
fuente de alimentación externa, como puede ser un pequeño transformador o, por
ejemplo una pila de 9V. Los límites están entre los 6 y los 12 V. Como única
restricción hay que saber que si la placa se alimenta con menos de 7V, la salida

49
del regulador de tensión a 5V puede dar menos que este voltaje y si sobrepasamos
los 12V, probablemente dañaremos la placa.
La alimentación puede conectarse mediante un conector de 2,1mm con el positivo
en el centro o directamente a los pines Vin y GND marcados sobre la placa.
Hay que tener en cuenta que podemos medir el voltaje presente en el jack
directamente desde Vin. En el caso de que el Arduino esté siendo alimentado
mediante el cable USB, ese voltaje no podrá monitorizarse desde aquí.

Resumen de características Técnicas de Arduino UNO (ver tabla 4)

Tabla 4 Características Técnicas Arduino UNO (Tomado de Torrente Artero O. 2013)

Microcontrolador Atmega328

Voltaje de operación 5V

Voltaje de entrada (Recomendado) 7 – 12V

Voltaje de entrada (Límite) 6 – 20V

Pines para entrada- salida digital. 14 (6 pueden usarse como salida de PWM)

Pines de entrada analógica. 6

Corriente continua por pin IO 40 mA

Corriente continua en el pin 3.3V 50 mA

Memoria Flash 32 KB (0,5 KB ocupados por el bootloader)

SRAM 2 KB

EEPROM 1 KB

Frecuencia de reloj 16 MHz

2.1.4.2 Módulo Ethernet ENC28J60

Este módulo de desarrollo Ethernet, formado por el controlador ENC28J60 de


Microchip, es una solución perfecta para crear una interfaz de red con la que
controlar la aplicación de forma remota a través de una red IP, ya sea mediante
una página web o a través del envío de correos electrónicos para advertir de
incidencias. Posee la electrónica necesaria para ser conectado directamente a un
Router/Switch mediante un cable de red. El control se realiza mediante el bus serie
50
SPI. El módulo puede ser alimentado tanto a 5V como a 3,3V, para ello dispone de
un jumper de selección de la tensión de alimentación. El conector Ethernet presenta
además dos leds (verde y naranja) para indicar la correcta conexión al router y el
estado de la transmisión de datos. En la tabla 5 se muestra el conexionado entre
el Módulo Ethernet ENC28J60 y la plataforma Arduino UNO.

Figura 20 Módulo Ethernet ENC28J60 (Fotografía propia tomada sobre el Módulo Ethernet ENC28J60.)

Tabla 5 Conexiones entre Módulo Ethernet ENC28J60 y Arduino (Tomada de Torrente Artero O. 2013)

Módulo Arduino
ENC28J60 Uno
VCC Pin 3.3V

GND Pin GND

SS (CS) Pin 10

MOSI (SI) Pin 11

MISO (SO) Pin 12

SCK Pin 13

2.1.5 Módulos XBee

Los módulos XBee son dispositivos que integran un transmisor - receptor de ZigBee
y un procesador en un mismo módulo, lo que permite a los usuarios desarrollar
aplicaciones de manera rápida y sencilla.
Los módulos XBee utilizan el protocolo IEEE 802.15. 4 conocido como ZigBee. Este
protocolo se creó para la implementación redes de sensores en entornos
industriales, médicos y domóticos.

51
Las comunicaciones Zigbee se realizan en la banda libre de 2.4GHz. A diferencia
de bluetooth no utiliza FHSS (Frequency hooping), sino que realiza las
comunicaciones a través de una única frecuencia, es decir, de un canal.
Normalmente puede escogerse un canal de entre 16 posibles. El alcance depende
de la potencia de emisión del dispositivo, así como del tipo de antenas utilizadas
(cerámicas, dipolos) El alcance normal con antena dipolo en visión directa suele
ser aproximadamente (tomando como ejemplo el caso de MaxStream, en la versión
de 1mW de potencia) de 100m y en interiores de unos 30m. La velocidad de
transmisión de datos de una red Zigbee es de hasta 256kbps y por último la pueden
formar, teóricamente, hasta 65535 equipos.

Figura 21 Módulo XBee S2 con Whip antena. (Fotografía propia tomada sobre el Módulo XBee S2)

Figura 22 Módulo XBee PRO con Whip Antena (Fotografía propia tomada sobre el Módulo XBee PRO)

Los módulos XBee son económicos, potentes y fáciles de utilizar. Algunas de sus
principales características son:

52
 Buen Alcance: hasta 100 metros en línea vista para los módulos XBee
y hasta 1.6 Km para los módulos XBee Pro.
 9 pines entradas/salidas con entradas analógicas y digitales.
 Bajo consumo <50mA cuando están en funcionamiento y <10uA
cuando están en modo sleep.
 Interfaz serial.
 65,000 direcciones para cada uno de los 16 canales disponibles. Se
pueden tener muchos de estos dispositivos en una misma red.
 Fáciles de integrar.

2.1.5.1 Especificaciones técnicas de los Módulos XBee y XBee-Pro

En la tabla 6 se muestran las especificaciones de ambos tipos de Módulos XBee.

Tabla 6 Especificaciones Técnicas Módulos XBee y XBee PRO (Tomada de Digi International Inc. 2017)

ESPECIFICACIONES XBee XBee - Pro


Voltaje de trabajo 2.8VDC-3.4VDC 2.8VDC-3.4VDC
Potencia RF 0dBm , 1mW 18 dBm, 63mW
Distancia Outdoor (LOS) 90 m 1,6 Km
Distancia Indoor 30 m 90 m
RX - Consumo de corriente 45 mA 50 mA
TX - Consumo de corriente 50 mA 215 mA
Reposo- Consumo de corriente <10 μA <10 μA
RF Data Throughput 250 Kbps 250 Kbps
Frecuencia de operación , Canales 2,4 GHz , 16 canales 2,4 GHz , 12 canales
Sensibilidad del RX -92 dBm -100 dBm

2.1.5.2 Series de Módulos XBee

Existen 2 series de estos módulos. La serie 1 y la serie 2 o también conocida como


2.5.
Los módulos de la Serie 1 y la Serie 2 tienen el mismo pin-out, sin embargo, no son
compatibles entre sí ya que utilizan distintos chipsets y trabajan con protocolos
diferentes.
La serie 1 está basada en el chipset Freescale y está pensado para ser utilizado
en redes punto a punto y punto a multipunto. Los módulos de la serie 2 están
basados en el chipset de Ember y están diseñados para ser utilizados en

53
aplicaciones que requieren repetidores o una red tipo mesh (malla). Ambos
módulos pueden ser utilizados en los modos AT y API.

Características técnicas Generales de los módulos XBee:


 ISM 2.4 GHz frecuencia de operación.
 1 mW (0 dBm) potencia de salida (arriba de 100m rango).
 RPSMA Connector, U.FL. Connector, Chip or Whip opciones de antenas.
 Rango de Temperatura industrial (-40° C to 85° C).
 Aprobado para el uso en los Estados Unidos, Canadá, Australia y Europa.
 Soportan redes avanzadas y modos de baja potencia.

2.1.5.3 Características físicas y distribución de pines (XBee)

En la figura 23 se pueden ver las características de tamaño y organización de pines


de los módulos XBee, tanto en su versión normal como PRO:

Figura 23 Descripción física del XBee (Tomada de Digi International Inc. 2017)

Este módulo, a pesar de tener unas reducidas dimensiones (25mm x 27mm),


proporciona hasta siete entradas analógicas, nueve entradas/ocho salidas digitales
y dos salidas PWM, todo ello en 20 pines.

54
Para ello, el XCTU permite configurar por software la función de los pines, para que
actúen de un modo u otro.
En la Figura 24 y tabla 7 se muestra la disposición de los pines de los Módulos
XBee.

Figura 24 Diagrama de pines del módulo XBee - Vista Superior (Tomada de Digi International Inc. 2017)

Tabla 7 Disposición de pines del XBee (Tomada Digi International Inc. 2017)

PIN NOMBRE FUNCION DESCRIPCION


1 VCC - Tensión de alimentación
2 DOUT Salida UART Salida de datos

3 DIN/CONFIG Entrada UART Entrada de datos

4 DO8* Salida Salida digital 8


5 RESET Entrada Modo reset
6 PWM0/RSSI Salida Salida PWM0 / Indicador de señal
recibida
7 PWM1 Salida Salida PWM 1
8 [reservado] - No conectado

9 DTR/ Sleep _ Entrada Pin de control de línea de sleep o Entrada


RQ/DI8 digital 8
10 GND - Tierra
11 AD4/DIO4 Entrada/Salida Entrada analógica 4 o entrada/salida
digital 4

12 CTS /DIO7 Entrada/Salida Control de flujo o entrada/salida digital 7

13 ON / SLEEP Salida Indicador módulo de estado


14 VREF Entrada Referencia de voltaje para entradas
analógicas / digitales
Indicador asociado / entrada analógica 5
15 ASSOCIATE/ AD5 / Entrada/Salida
o entrada/salida digital 5
DIO5
Solicitud de envío de control de flujo /
16 RTS / AD6 / DIO6 Entrada/Salida
entrada analógica 6 o entrada digital 6

55
17 AD3 / DIO3 Entrada/Salida Entrada analógica 3 o entrada/salida
digital 3
18 AD2 / DIO2 Entrada/Salida Entrada analógica 2 o entrada/salida
digital 2
19 AD1 / DIO1 Entrada/Salida Entrada analógica 1 o entrada/salida
digital 1
20 AD0 / DIO0 Entrada/Salida Entrada analógica 0 o entrada/salida
digital 0

2.1.5.4 Señal y Rangos de Frecuencia de los Módulos XBee

La distancia de alcance de la señal de los módulos XBee está afectada por diversos
factores:

 Algunos materiales pueden reflejar las ondas de radio provocando


interferencias. En particular materiales metálicos.
 Las ondas de radio pueden ser absorbidas por objetos en su camino
 Las antenas pueden ajustarse para incrementar la distancia.
 La línea de visión puede ayudar a incrementar la fiabilidad de la señal.

RSSI (Received Signal Strength Indicator) es el indicador de la cantidad de energía


presente en una señal de radio. Midiendo la fuerza de la señal en la antena
receptora es una forma de determinar la calidad del enlace de comunicación. Su
valor se mide en dBm cuanto mayor sea el valor negativo la señal es más débil.
Por lo tanto -50dBm es mejor que -60 dBm. (Se muestra en la figura 25)

Figura 195 Referencia sobre RSSI (Tomada de Digi International Inc. 2017)

56
El pin 6 de los módulos XBee puede ser configurado como salida PWM con el valor
de RSSI, para ello configurar P0 como RSSI [1]. También en el parámetro DB se
guarda el valor de RSSI del último paquete recibido expresado en valor decimal.

Además del valor de RSSI, es conveniente medir la fiabilidad del enlace en


porcentaje de paquetes perdidos, puesto que en entornos con interferencias el
valor de RSSI puede ser alto pero el enlace será malo.

2.1.6 Placas Adaptadoras de Módulos XBee

Es la solución para conectar una PC o microcontrolador a cualquier módulo XBee


o XBee Pro. Al usar este adaptador la placa puede proporcionar una interfaz
sencilla para los módulos XBee o XBee Pro.

Figura 26 Placa Adaptadora de Módulo XBee USB (Fotografía propia tomada sobre el Adaptador de Módulo
XBee)

Los módulos XBee funcionan a 3.3V y los pines no son tolerantes a 5V. Desde
Arduino podemos alimentar un módulo XBee, pero la comunicación serie en
Arduino es a 5V y en el módulo XBee es a 3.3V.

Las placas adaptadoras también proporcionan un medio para conectarse cables


conectables o conexiones de soldadura y también proporcionan orificios de
montaje.

57
2.1.6.1 Características

 Proporciona una interfaz sencilla para configurar un Módulo XBee a


través de una PC.
 4 LED indicadores de estado para Power, RSSI, Associate y modo
(sleep / ON).
 Proporciona conexiones fáciles de cable o soldadura conectables.
 Incluye orificios de montaje.
 Pin-out compatible con otros tableros adaptadores XBee.

2.1.6.2 Especificaciones

 Requisitos de alimentación: paso de 3,3 V al módulo XBee.


 Comunicación: Transmisión en serie al módulo XBee.
 Temperatura de funcionamiento: -40 a + 70 ° C.
 Dimensiones: 1.51 "L x 1.00" W x 0.58 "H (38.3 mm x 25.6 mm x 14.8
mm).

2.1.6.3 Formas de su utilización

 Fácil conexión de los módulos XBee a la PC para la configuración.


 Conexión fácil de los módulos XBee a la placa de pruebas o
protoboard.
 Forma conveniente de instalar el módulo XBee a distancia del
microcontrolador.

2.1.6.4 Dimensiones y Ensamble del Adaptador de Módulo XBee

Figura 27 Ensamble del Adaptador de Módulo XBee (Fotografía Propia tomada del Adapador de Módulo
XBee)

58
Figura 28 Dimensiones del Adaptador de Módulo XBee (Tomada de Parallax INC. 2018)

2.2 Cuadro comparativo de Tecnologías Inalámbricas

Tecnologías
Bluetooth Zigbee Wi-Fi
/Características
Estándar IEEE 802.15.1 802.15.4 802.11 a/ b/ g
2.4 GHz (Mundial)
868 MHz (Europa)
Bandas de Frecuencia 2.4 GHz 2.4 GHz
915 MHz ( América del
Norte)
Tasa de transferencia 250 kbps (2.4 GHz)
1 Mbps 40 kbps (915 MHz) 54 Mbps
(Velocidad Máxima )
20 kbps (868 MHz)
16 (2.4 GHz) -10 (915
Número de Canales 79 14
GHz)-1kbps (868 MHz)
0.3 MHz ( 868 MHz)
Ancho de banda del
1 MHz 0.6 MHz (915 MHz) 22 MHz
canal
2MHz (2.4 GHz)

Tipos de datos Digital -Audio Digital (texto) Digital

Conectividad inalámbrica
Conectividad de redes
entre dispositivos, Control industrial y
inalámbricas de área
ejemplo: celulares, monitoreo, redes de
local (WLAN), Internet
Aplicación Principal notebooks, auriculares, sensores, automatización
de banda ancha,
cámaras, impresoras, de edificios, domótica ,
cámaras de seguridad,
reemplazos de cable etc.
etc.
serial

Vida Batería (días) 1-7 100-1000 0,5-5


Latencia (Tiempo de Arriba de los 3
Arriba de los 10 segundos 30 mseg
Incorporación) segundos
Cobertura (metros) 10 m 1 - 100 m 100 m
Arquitectura de Red Estrella - small networks Estrella-Árbol y Malla Point to hub
Rentabilidad, bajo costo,
Parámetros más Bajo costo y perfiles de
baja potencia y Velocidad y flexibilidad
importantes aplicación
escalabilidad
Número de dispositivos 7 nodos 255 / 65536 nodos 32 nodos
400 ma transmitiendo 30 ma transmitiendo
Consumo de potencia 2000 ma – 6000ma
20 ma en reposo 3 ma en reposo

59
Precio Accesible Bajo Costoso
Ancho de banda
720 Kbps 20 - 250 Kbps 11 Mbps
(Kbits/s)
BPSK (+ ASK)
BPSK, QPSK, COFDM,
Modulación GFSK (886MHz/928MHz)
CCK, M- QAM
O- QPSK (2.4GHz)
Técnicas de
FHSS DSSS DSSS, CCK, OFDM
Modulación
Memoria Necesaria 250 KB 4 KB-32KB 1 MB
RC4 stream cipher
AES Block cipher (CTR,
Encriptación EO stream cipher (WEP), AES block
counter mode)
cipher
Autenticación Shared secret CBC-MAC (ext. Of CCM WPA2 (802.11)

Protección de Datos 16 bit CRC 16 bit CRC 32 bit CRC

3 Diseño de una Website y una APP para el control y mantenimiento de la


iluminación LED exterior.

3.1 Generalidades y Requerimientos para la Website y la APP Android

Los módulos XBee fabricados por Digi International son módulos de radiofrecuencia
capaces de crear redes XBee que son energéticamente eficientes. Sus aplicaciones
abarcan desde los casos sencillos, como reemplazar un par de cables en una
comunicación serial, hasta sistemas de monitorización y detección de
eventualidades.
Se sugiere para la realización de la APP Android el software Android Studio que por sus
características facilita la interacción d e un módulo XBee local como con los remotos
existentes en la red mediante la confección de la interfaz gráfica.
Las principales características que incluye Android Studio:
 Soporte para programar aplicaciones para Android Wear (sistema operativo
para dispositivos corporales como por ejemplo un reloj).
 Herramientas Lint (detecta código no compatible entre arquitecturas diferentes
o código confuso que no es capaz de controlar el compilador) para detectar
problemas de rendimiento, usabilidad y compatibilidad de versiones.
 Utiliza ProGuard para optimizar y reducir el código del proyecto al exportar a
APK (muy útil para dispositivos de gama baja con limitaciones de memoria
interna).

60
 Integración de la herramienta Gradle encargada de gestionar y automatizar la
construcción de proyectos, como pueden ser las tareas de testing, compilación
o empaquetado.
 Posee un diseño del editor con soporte para la edición de temas.
 Interfaz específica para el desarrollo en Android.
 Permite la importación de proyectos realizados en el entorno Eclipse.
 Posibilita el control de versiones accediendo a un repositorio desde el que
poder descargar Mercurial, Git, Github o Subversion.
 Alertas en tiempo real de errores sintácticos, compatibilidad o rendimiento
antes de compilar la aplicación.
 Vista previa en diferentes dispositivos y resoluciones.
 Integración con Google Cloud Platform, para el acceso a los
diferentes servicios que proporciona Google en la nube.
 Tiene un editor de diseño que muestra una vista previa de los cambios
realizados directamente en el archivo XML.

3.1.1 Objetivo del diseño de la APP Android

El objetivo del diseño de una aplicación para Android que permita utilizar el
dispositivo Android para realizar las labores de un XBee Gateway, es decir,
comunicar una red de dispositivos XBee con la central de operaciones para el
reporte de los eventos. La aplicación también deberá permitiral usuario interactuar
directamente con la red XBee. En concreto deberá abarcar los siguientes puntos:

 Conexión con un dispositivo local de radio XBee utilizando una API o librería.
 Comunicación con dispositivos remotos de la red XBee.
 Recepción procesamiento (mediante la red XBee).
 Recepción de peticiones de la red XBee y transmisión hacia la central de
operaciones.
 Capacidad para permitir a terceras aplicaciones interaccionar con la red XBee.

3.1.2 Biblioteca de XBee Java

Los dispositivos XBee le permiten habilitar la conectividad inalámbrica a sus


proyectos creando una red de dispositivos conectados. Proporcionan funciones para
61
intercambiar datos con otros dispositivos en la red, configurarlos y controlar sus
líneas de E / S. Una aplicación que se ejecuta en un dispositivo inteligente puede
aprovechar estas características para monitorear y administrar toda la red.
“La biblioteca XBee Java es una API Java que reduce drásticamente el tiempo de
salida al mercado de los proyectos XBee desarrollados en Java y facilita el desarrollo
de este tipo de aplicaciones, por lo que es un proceso fácil y sin problemas.” [Digi
International Inc. 2018]
La biblioteca XBee Java incluye las siguientes características:
 Soporte para múltiples dispositivos y protocolos XBee.
 Soporte para el sistema operativo Android.
 Posibilidad de configurar dispositivos XBee locales y remotos de la red.
 La función de descubrimiento encuentra nodos remotos en la misma red que
el módulo local.
 Posibilidad de transmitir y recibir datos desde cualquier dispositivo XBee en
la red.
 Posibilidad de administrar las líneas de entrada y salida de propósito general
de todos sus dispositivos XBee.

Figura 29 Red XBee (Tomada de Digi International Inc. 2018)

Figura 30 Esquema de Red ZigBee con sistema de Iluminación Exterior (Tomada de Digi International Inc.
2018)

62
4. Diseño del hardware y el firmware para la adquisición de datos de sensores
a través de la plataforma Arduino.

4.1 Configuración de los Módulos XBee

Lo primero que se hizo fue configurar cada uno de los módulos Xbee para la
emisión y recepción a través de radiofrecuencia con el fin de transmitir datos de un
módulo al otro de forma inalámbrica.
Para la comunicación de los módulos Xbee fue necesario 2 placas denominadas
XBee USB Adapter Board cuya utilidad es la comunicación a través de puerto USB
de los módulos al ordenador para proceder de esta manera a la configuración de
los Xbee utilizando el programa X-CTU.

Figura 31 Modulo XBee Serie 2 y Pro (Fotografía propia tomada de los Módulos XBee S2 y PRO)

Figura 32 Adaptador USB de Modulo XBee Explorer USB (Fotografía propia tomada del Adaptador de
Módulo XBee)

El XCTU nos sirve para configurar, inicializar, actualizar firmware y testear los
módulos XBee, comunicándose por puerto serie a los módulos. Una ventaja de este

63
software es que puedes ver rápidamente un resumen de todos los parámetros del
módulo y una descripción de ellos. (En la figura 33 se muestra la pantalla principal
del XCTU)

Figura 33 Pantalla Principal del Software XCTU (Captura propia tomada del software XCTU)

Luego se conectaron las placas adaptadoras (con los XBee en conexión a ellas)
mediante cable USB, al ordenador en donde tenemos instalado el software X-CTU
para empezar con la configuración de los módulos. (Ver figura 34)

Figura 34 Módulo conectado al USB de la PC (Fotografía propia tomada de adaptador USB del Módulo
XBee)

Una vez que la computadora encuentre los módulos, se empezó a configurar los
parámetros en el software para conseguir la comunicación deseada.

Los módulos XBee poseen una dirección MAC de fábrica, que se encuentra en la
64
parte trasera de cada módulo y se debe tener en cuenta ya que a través de estas
direcciones se consigue la comunicación inalámbrica entre los módulos.

Figura 35 Módulos XBee con sus MAC que utilizaremos (Fotografía propia tomada de los Módulos XBee)

También el software X-CTU nos muestra dicha información una vez reconocido
cada XBee por la computadora.

Figura 36 Direcciones MAC de los Módulos XBee en XCTU (Captura de pantalla propia tomada del XCTU)

En las figuras 35 y 36, se muestran las direcciones MAC de los módulos:

Emisor: 013A2004093525A

Receptor: 0013A200408B0F43

Al tener ya identificados ambos módulos XBee en el software, se configuró los


parámetros para que los módulos se reconozcan entre si y así poder enviar y recibir
65
información entre ellos.

Para esto se configuró los parámetros DH (Destination Address High) y DL


(Destination Address Low). En el XBee Emisor, se debe introducir los parámetros
del receptor y viceversa, insertando los 8 primeros dígitos de la dirección MAC en
el recuadro correspondiente a DH y los 8 posteriores en la ubicación que
corresponde a DL.

De esta manera, en el apartado DH del emisor se introdujo “0013A200” y el DL


“408B0F43”.
De igual forma en el lugar correspondiente a DH del receptor se escribió
“0013A200” y en DL “4093525A”.

4.1.1 Prueba de Rango

Una prueba de rango nos sirve para medir la calidad del enlace entre dos módulos
XBee. El software XCTU nos permite hacer una prueba de rango que supone
enviar paquetes desde un módulo local a uno remoto esperando el eco,
contabilizando el número de paquetes enviados y recibidos y midiendo el RSSI.
(Ver figura 37 y 38)

Fígura 37 Croquis de prueba de Rango (Tomada de Digi International Inc. 2018)

En la figura 38, se muestra la prueba de rango la siguiente información:

 RSSI Chart.
 Local and Remote instant RSSI.
 Packet Summary.

66
Figura 38 Prueba de Rango del XCTU (Captura de pantalla tomada del software XCTU)

4.2 Configuración de las plataformas Arduino y los Módulos XBee

4.2.1 Entorno Arduino IDE e implementación con los módulos XBee

En el entorno de programación de Arduino se realizó el programa o sketch para


que funcione correctamente la placa nuestro proyecto. Se utilizó Arduino IDE que
es open source y open Hardware el cual nos pareció que adaptaba al prototipo del
controlador diseñado.
Para el funcionamiento del mismo se interconectaron la plataforma Arduino UNO y
el módulo XBee a través de un Shield Adaptador Arduino –Zigbee. De forma que a
través de una PC con Arduino IDE se puede comandar los diferentes XBee
instalados con sus sensores distribuidos en la Red. (Ver figura 39)

67
Figura 39 Interconexión con Arduino y XBee (Fotografía propia de la interconexión)

4.2.2 Implementación de La Unidad de Control e Iluminación

Figura 40 Controlador de Luz (Fotografía propia del Shield de XBee S2)

En la figura 40, se muestra el controlador de luz el cual está compuesto entre otros
componentes electrónicos, por Triacs o Triodo para Corriente Alterna que es un
dispositivo semiconductor, de la familia de los tiristores. La diferencia con
un tiristor convencional es que éste es unidireccional y el TRIAC es bidireccional.

68
De forma podría decirse que el TRIAC es un interruptor capaz de conmutar
la corriente alterna.

Es importante mencionarlo ya que con este Shield puede conectarse directamente


a la red eléctrica lo cual resulta cómodo a la hora de instalarlo.

4.2.2 Aplicaciones de los Triacs

 Su amplia versatilidad lo hace ideal para el control de corriente alterna (C.A.).


 Su utilización más común es como interruptor estático ofreciendo muchas
ventajas sobre los interruptores mecánicos convencionales y los relés.
 Funciona como interruptor electrónico y también a pila.
 Los TRIACs de baja potencia se utilizan en muchas aplicaciones como
atenuadores de luz, controles de velocidad para motores eléctricos y en los
sistemas de control computarizado de muchos elementos caseros. No obstante,
cuando se utiliza con cargas inductivas como motores eléctricos, se deben
tomar las precauciones necesarias para asegurarse que el TRIAC se apague
correctamente al final de cada semiciclo de la onda de Corriente alterna.

69
Conclusiones

De acuerdo a los resultados obtenidos por medio de las herramientas de captura y


análisis de datos: el software XCTU y el interfaz de programación de Arduino (open
source y open hardware) sobre el sistema interconectado entre los Módulos XBee
y la plataforma Arduino mostró ser confiable en la transmisión y recepción de datos,
a través del protocolo Zigbee, demostrando su gran escalabilidad y flexibilidad,
permitiendo a los usuarios tener información en tiempo real, en un punto específico
o móvil.
Se logró verificar que este prototipo es sustentable desde el punto de vista del
cliente (ahorro de energía) como así de la Generación.
Además, el sistema contribuye a mejorar la iluminación del lugar en donde se
implemente ya que permite tener un control y seguimiento continuo a través de los
sensores que están incorporados.
Una cuestión que se analizó positivamente es reducir los residuos que generan
actualmente tecnologías de luminarias obsoletas y lograr menor niveles de fallas
en los artefactos instalados.
Este desarrollo permite construir una gran variedad de topologías de red, la
inclusión de diferentes y nuevas tecnologías, de gran utilidad en el manejo de la
información, con la alternativa de ser escalable para diversos tipos de necesidades
futuras.
Como trabajo futuro, se deja los requerimientos para la implementación un sitio
Web y desarrollo de una APP Android, con el cual la información del estado de las
luminarias estará disponible, desde cualquier punto de red con acceso de Internet
y dispositivos móviles.

70
Bibliografía

● Acero A. R.,Cano A. M., Orozco Quiceno J. A., Jiménez Bulies J. A. (2013)


Integration in Wireless sensor networks (WSN) IEEE 802.15.4-802.11 for
industrial automation.[04/06/2018]
● Arduino es una plataforma código abierto rápido y flexible de objetos
interactivos autónomos, apta para redes de sensores sin hilos.
URL:http://www.arduino.cc/ [10/05/2018]
● Arias A., Molina Vilchis M. A., Silva Ortigoza M. A., Marciano Melchor M.,
Portilla Flores M.(2009) Revisión del proceso de identificación de nodos en
las wireless sensor networks.[16/06/2018]
● Barrera Durango M., Londoño Ospina N., Carvajal J., Fonseca A. (2012)-
Análisis y diseño de un prototipo de sistema domótico de bajo costo-Revista
Facultad de Ingeniería -núm. 63- pp. 117-128.[24/05/2018]
● Digi International Inc. URL:http://www.digi.com/ [10/04/2018]
● El Grupo Intergubernamental de Expertos sobre el Cambio Climático (IPCC)
URL:http://www.ipcc.ch [15/04/2018]
● Estándar IEEE 802.15.4.URL: www.ieee.org. [18/05/2018]
● Fritzing Software libre. URL: http://www.fritzing.org/home/ [20/05/2018]
● Gascón D. (2009) Libelium World: 802.15.4 vs Zigbee. Disponible en
URL:http://www.libelium.com/802-15-4-vs-zigbee/ [22/04/2018]
● Guachapa B. O. (2016). ARDUINO- Guía Práctica. Ed.
Alfaomega.[10/06/2018]
● Lajara J. R., Pelegri J. (2014). Sistemas Integrados con Arduino. Ed.
Alfaomega- Marcombo.[02/05/2018]
● McRoberts M. (2010) Beginning Arduino. Ed. Apress [12/07/2018]
● Misra S., Zhang I,Misra S.C. (2009) Guide to Wireless Sensor Networks.Ed.
Springer [09/06/2018]
● MIT APP INVENTOR es un entorno de desarrollo integrado (IDE) para
plataforma Android. URL:http://appinventor.mit.edu/explore/ [21/05/2018]
● Oliva, Ramos R. (2017). Monitoreo Control y adquisición de datos con
Arduino. Ed. Alfaomega.[15/04/2018]

71
● Parallax INC. URL: www.parallax.com [25/06/2018]
● Revista IEEE Spectrum (2011) Kushner, David. The Making of Arduino. URL:
https://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/0.
● Reyes Cortés F. & Cid Monjaraz J. (2015). Arduino- Aplicaciones en
Robótica, Mecatrónica e Ingeniería. Ed. Alfaomega.[15/04/2018]
● Torrente Artero O. (2013). Arduino-Curso Práctico de formación. Ed.
Alfaomega.[10/04/2018]
● Torrente O. (2017). El mundo Genuino ARDUINO. Ed. Alfaomega.
[15/05/2018]
● Ventura G, Ranulfo J., Campos Cantón I.; Camacho Juárez S.,Núñez
Olvera O. F.(2016)-Instrumentación de un impulsor para lámpara de LED.
Investigación y Tecnología, vol. XVII, núm. 4, octubre-diciembre, pp. 445 -
452.[06/06/2018]
● XCTU Digi International Inc.(2017)URL:https://www.digi.com/products/xbee-
rf-solutions/xctu-software/xctu [20/05/18]
● Zigbee Alliance. (2018). ZigBee Specification Network Topology. Disponible
URL:http://www.zigbee.org/Specifications/[16/05/2018]
● AndroidStudio(2018).URL:https://developer.android.com/studio[06/08/2018]

72

También podría gustarte