Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería en Telecomunicaciones
-2018-
Agradecimientos
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
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.
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
4
3. Se diseñó una Website y una APP para el control y mantenimiento de
la iluminación LED exterior.
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
7
1.1.1 Elementos de una WSN
Los elementos por los cuales están formada una WSN se pueden clasificar en:
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.
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).
10
Tabla 1 Distancia de transmisión (Tomada de Acero A. R. y otros 2013)
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)
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):
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)
1.2.3 Seguridad
“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)
14
1.3.2 Estructura de Aplicación
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.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
17
1.3.5.2 Servicio de Descubrimiento
1.3.6 Enlace
18
1.3.7 Mensajes
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.
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.
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.9.1 Coordinador
1.3.9.1.1 Inicialización
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]
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.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.
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.1 Inicialización
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).
Tabla 2 Primitivas de Confirmación (Tomada Misra S., Zhang I, Misra S.C. 2009)
27
1.4.1 Descripción General
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)
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.3 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.
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.
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.
34
Figura 10 Incorporación a una red por Asociación -Hijo (Tomada de Reyes Cortés F. 2015)
35
Figura 11 Incorporación a una red por Asociación -Padre (Tomada de Reyes Cortés F. 2015)
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.
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.
En la figura 13 se muestra los campos que se deben incluir en una trama de red.
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)
40
el manejo de estos tres roles, se incluyen dentro de un único dispositivo, el centro
de validación.
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.
43
2. Caracterización las plataformas Arduino en base a los marcos teóricos y
sus aplicaciones en el entorno inalámbrico.
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)
2.1.2 Hardware
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.
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.
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.
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.
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í.
Microcontrolador Atmega328
Voltaje de operación 5V
Pines para entrada- salida digital. 14 (6 pueden usarse como salida de PWM)
SRAM 2 KB
EEPROM 1 KB
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
SS (CS) Pin 10
SCK Pin 13
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.
Tabla 6 Especificaciones Técnicas Módulos XBee y XBee PRO (Tomada de Digi International Inc. 2017)
53
aplicaciones que requieren repetidores o una red tipo mesh (malla). Ambos
módulos pueden ser utilizados en los modos AT y API.
Figura 23 Descripción física del XBee (Tomada de Digi International Inc. 2017)
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)
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
La distancia de alcance de la señal de los módulos XBee está afectada por diversos
factores:
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.
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.
57
2.1.6.1 Características
2.1.6.2 Especificaciones
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)
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)
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
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)
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.
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.
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.
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)
Emisor: 013A2004093525A
Receptor: 0013A200408B0F43
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)
RSSI Chart.
Local and Remote instant RSSI.
Packet Summary.
66
Figura 38 Prueba de Rango del XCTU (Captura de pantalla tomada del software XCTU)
67
Figura 39 Interconexión con Arduino y XBee (Fotografía propia de la interconexión)
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.
69
Conclusiones
70
Bibliografía
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