Professional Documents
Culture Documents
PROYECTO TERMINAL
PRESENTAN:
ASESORES:
OBJETIVO……………..………………………………………………………….……...III
INTRODUCCIÓN……..……………………………………………………….….….…..IV
JUSTIFICACIÓN…..……………………………………………………….…..………..VI
1. CAPÍTULO 1: ANTECEDENTES……… ………………………………………….1
1.1. Antecedentes y aplicaciones actuales de las WPAN …………………2
2. CAPÍTULO 2: MARCO TEÓRICO ………………………………………………...5
2.1. Redes ……………………………………………………………………….6
2.2. Topologías físicas ………………………………..….…………………….8
2.3. Topologías lógicas …………………………….…..…………………….12
2.4. Modelo OSI ………………………………………………………………..13
2.5. IEEE 802.2 ………………………………………………………………...16
2.6. Redes WPAN …………………………………...………………………..17
2.7. IEEE 802.15 ………………………………………...…………………....18
2.8. Arquitectura del estándar 802.15 ……………......…………………….20
2.9. Tecnologías inalámbricas ……………………..…………………………21
2.10. Bluetooth a través de IEEE 802.15.1 ……..………………………….21
2.11. UWB sobre IEEE 802.15.3 ………………..…………………………...22
2.12. ZigBee sobre IEEE 802.15.4 ……………………………………..…...23
2.13. Wi-Fi a través de IEEE 802.11 a/b/g…….……………………….…...24
2.14. Estudio Comparativo ……………………………………………..…….26
2.15. Interfaz Periférica Serial (SPI) ………………………………….……..27
3. CAPÍTULO 3: DISEÑO E IMPLEMENTACIÓN …………………………..……..29
3.1. Microcontroladores ……………………………………………………….30
3.2. Arduino …………………………………………………………….……...31
3.3. Arduino UNO …………………………………………………….……….32
3.4. Especificaciones Técnicas …………………………………….………..33
3.5. Descripción de pines ………………………………………….…………33
3.6. Comunicación ………………………………………………….………….34
3.7. Estructura del sistema …………………………………………………..36
I|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
II | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
OBJETIVO
Objetivo General
Implementar una Red Inalámbrica de Área Personal (WPAN), para lograr una
supervisión eficiente de la ocupación de mesas en un restaurante mediante
microcontroladores y dispositivos inalámbricos WiFi.
Objetivos particulares
III | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
INTRODUCCIÓN
IV | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Este diseñó tiene el propósito de que cada mesero, con un conjunto de mesas a
su cargo, realice ésta tarea como una más de las que tiene, siendo sencilla y
rápida sin que entorpezca sus múltiples actividades. Si cada mesero y empleado
realiza sus tareas con un buen desempeño, agregando el uso de los dispositivos,
se logrará que el tiempo de espera para la asignación de mesa se reduzca
considerablemente.
Para que los meseros tengan el control de los asistentes en espera y de sus
movimientos, se hace uso de un tablero en donde aparte de mostrar el status de
cada mesa, también se muestra su distribución, lo que hace que el comensal
conozca la ubicación de su mesa y decida por el área de su interés. En éste
tablero se mostrará por medio de un LED encendido o apagado si la mesa está
libre u ocupada y de esta manera se escoge una mesa y se dirige hacia ella. El
resto lo hace el mesero a partir de que los recibe los comensales hasta que se
retiran de la mesa, recordando que todo esto es posible sólo con oprimir un botón.
V|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
JUSTIFICACIÓN
Actualmente los restaurantes que tienen una gran afluencia de comensales, por lo
que necesitan una buena organización sobre las mesas ocupadas y disponibles,
lo que a veces lleva a la contratación de personal que verifique el estado de las
mesas, haciendo uso de radios para la comunicación entre el personal encargado
y el anfitrión del establecimiento. Con la implementación de una red WPAN se
omite el uso de radios e incluso de la persona encargada de verificar el estado de
las mesas, simplificando trabajo, tiempo y costos, dando solución a los problemas
que pueden existir en restaurantes, principalmente de tamaño mediano a grande.
VI | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
CAPÍTULO 1: ANTECEDENTES
1|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Desde hace algunas décadas, la industria de las comunicaciones y las redes han
ocupado un lugar muy importante en la vida cotidiana, y han mostrado un gran
desarrollo tanto en la tecnología de los dispositivos electrónicos como en la forma de
crear enlaces formando redes de distintos tipos y tamaños, dando lugar a diferentes
topologías físicas y lógicas, además de múltiples formas de realizar intercambio de
información cada vez más rápido y en mayores cantidades. Esta evolución a gran
escala ha permitido que en la actualidad sean posibles las transmisiones de datos, voz
y video sobre distintos medios (cobre, fibra óptica, espacio libre), dando lugar a
llamadas telefónicas, video conferencias, voz sobre IP (VoIP), transacciones
electrónicas, redes de sensores industriales, etc.
Las Redes Inalámbricas gozan de un gran auge hoy en día, habiendo sido identificadas
como una de las tecnologías más prometedoras por diversos analistas tecnológicos y
revistas especializadas, debido a que dan respuesta a las exigencias actuales
referentes al establecimiento de redes que cubran necesidades de comunicación de
forma flexible en tiempo, espacio y autonomía, buscando autoconfiguración e
independencia de una estructura fija. La posibilidad de implementar dispositivos de bajo
costo y elevada duración capaces de obtener información del entorno y reenviarla de
forma inalámbrica a un centro de coordinación ofrece posibilidades inimaginables en
multitud de aplicaciones.
2|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
En la vida cotidiana el uso de redes se ha hecho cada vez más indispensable, ya que el
ritmo de los procesos va en aumento y es necesario hacerlos más eficientes para
aumentar la productividad de los negocios.
Con esta evolución tan acelerada de la tecnología, se consiguió que las redes se
dividieran en diferentes tipos para satisfacer las necesidades de la población,
considerando su alcance. Entre esta variedad de tipos de redes, se encuentran las
redes PAN (Personal Area Network, por sus siglas en inglés) que su alcance va desde
1 cm hasta 100 m. Este tipo de redes dio lugar a un crecimiento significativo de las
comunicaciones inalámbricas, ya que, al ser fáciles de implementar, así como, de bajo
costo, se comenzaron a sustituir los medios de comunicación por medio de cable por
una comunicación inalámbrica, principalmente la conexión inalámbrica de una
computadora con sus dispositivos periféricos (teclado, mouse, etc.), desarrollándose
posteriormente para otras aplicaciones.
Las redes inalámbricas han evolucionado a una velocidad cada vez mayor debido a su
amplia variedad de aplicaciones. Las redes convencionales alámbricas ofrecen una
mayor velocidad de transferencia de información y una comunicación más segura, pero
en contraste con las redes inalámbricas, estas últimas proporcionan una comunicación
más flexible con respecto a las redes alámbricas en el contexto de movilidad,
permitiendo al usuario tener acceso a alguna red desde cualquier lugar en el que se
encuentre, tomando en cuenta el factor de la red.
En las últimas décadas han surgido nuevos términos relacionados con las redes
inalámbricas, específicamente con las redes WPAN, como la domótica que se enfoca a
3|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
la automatización de viviendas y edificios para crear lo que hoy en día se conoce como
“Edificios Inteligentes”. Con la implementación de una red inalámbrica es posible
supervisar y controlar la temperatura de algún lugar, la iluminación, etc. dentro de una
localidad. Otra aplicación reciente de este tipo de redes son las redes inalámbricas de
sensores (WSN, Wireless Sensor Network), mayormente utilizadas en áreas a las que
muchas veces el hombre no puede llegar y donde es necesario tener un monitoreo
activo utilizando sensores colocados en zonas específicas, creando una red
interconexión de los nodos, que permite al usuario conocer las condiciones de
cualquier nodo en cualquier momento.
Las redes WPAN cuentan con una amplia gama de negocios e industrias en las que
pueden ser aplicadas; entre estos se encuentran los restaurantes. Los restaurantes de
hoy en día se enfrentan a un problema cotidiano, que es la ineficiencia del personal
para lograr identificar la ocupación del mismo, por lo que, los tiempos de espera cada
vez son más altos, lo que causa que los comensales no estén conformes con la
atención proporcionada. Las redes WPAN pueden ser implementadas casi en los
restaurantes, impulsando su productividad y eficiencia.
4|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
5|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
En este segundo capítulo se hablará acerca de los conceptos teóricos necesarios para
llevar a cabo una implementación de una red WPAN.
2.1 Redes
Existen diferentes tipos de redes, las cuales se pueden clasificar por su alcance como
se muestra en la tabla 2.1 y figura 2.1; en algunos casos, estas distancias pueden
variar con respecto a la tecnología que sea utilizada para llevar a cabo la comunicación
dentro de la red, ya que el rango de alcance puede aumentar o disminuir.
6|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
GAN
WAN
MAN
LAN
PAN
1
http://itizta2joatecnologiasinalambricas.blogspot.mx/2012_11_01_archive.htm
7|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Estos tipos de redes permiten tener una comunicación entre uno o más dispositivos,
dependiendo las necesidades o el enfoque que vaya a tener la red. En este documento
se trabajará con las redes PAN, específicamente con redes WPAN (Wireless Personal
Area Network), en las cuales se requerirá tener una comunicación entre todos los
nodos con uno central.
Para poder implementar estos tipos de redes es necesario conocer las topologías de
red que existen, ya sean físicas o lógicas, e identificar cual es la más apropiada para
una red PAN.
8|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
• Token ring (anillo): Esta topología está definida por el estándar IEEE 802.5,
que menciona que se va a transmitir de un dispositivo a otro unidireccionalmente
una pequeña trama llamada Token, la cual le va a dar la posibilidad de transmitir
2
http://nikyborja.blogspot.mx/
9|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
• Árbol: Esta topología se caracteriza por estar dividida en niveles, los cuales
parten de un nodo principal, del cual se derivan más nodos y a su vez de estos
nodos se conectan más, hasta llegar a un nivel inferior en el cual todos los
nodos son finales, como se observa en la Figura 2.6.
10 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
11 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Las topologías lógicas de las redes pueden ser las mismas que las topologías físicas,
la diferencia es que las topologías lógicas determinan la forma en que se va a dar el
intercambio de información entre los dispositivos conectados en la red.
Una vez definidas las topologías lógicas y físicas, se definirá lo que es una red WPAN,
que será implementada en esta tesis.
12 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
El Modelo OSI surge a partir del modelo TCP/IP, siendo creado este último a finales de
los años 60´s, principios de los 70’s, constituido solamente por cuatro capas. El Modelo
OSI fue diseñado en 1977 y se dio a conocer en 1984. Su acrónimo significa Open
Systems Interconnection (Interconexión de Sistemas Abiertos), y fue desarrollado por la
ISO (International Standard Organization). El Modelo OSI es un marco de referencia
que especifica a los fabricantes como desarrollar sus productos. En la figura 2.9 se
observan las capas del Modelo OSI y TCP/IP, así como la correspondencia de capas
entre uno y otro.
Figura 2.9 Siete capas del Modelo OSI y su correspondencia con las cuatro capas de Modelo
TCP/IP3
3
http://protocolos-comunicacion.blogspot.mx/2015/05/modelo-tcpip-vs-modelo-osi-se-puede.html
13 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
El Modelo TCP/IP, especifica en realidad las comunicaciones entre host origen y host
destino por medio de protocolos, haciendo posible la transferencia de información
desde la capa “n” de un sistema llamado emisor, hasta la capa “n” de un sistema
llamado receptor.
14 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
3. Red: Esta capa identifica todas las rutas desde el host origen hasta el host
destino, que pueden estar ubicados en lugares geográficamente distintos;
distintos protocolos operan en esta capa, como son los protocolos enrutados y
los protocolos de enrutamiento, entendiendo que un protocolo enrutado es aquel
que conduce la información del usuario y el protocolo de enrutamiento es aquel
que genera las tablas de enrutamiento y define las diferentes rutas dentro de
una red.
4
Redes de computadoras, Tanenbaum, Pag. 168
15 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
5. Sesión: Esta capa inicia, administra, controla y termina las sesiones entre dos
aplicaciones, es decir, establece la señalización y la sincronización entre dos
dispositivos a través de sus aplicaciones.
7. Aplicación: Esta capa actúa como ventana para los usuarios y los procesos de
aplicaciones para tener acceso a servicios de red. Se utiliza comúnmente para el
uso compartido de recursos y redireccionamiento de dispositivos, acceso a
archivos remotos, administración de la red, comunicación entre procesos, etc.
16 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Las redes inalámbricas de área personal (WPANs) son usadas para el intercambio de
información a corta distancia entre un grupo de dispositivos privados. A diferencia de
las redes inalámbricas de área local (WLANs), una conexión a través de una WPAN
involucra poca infraestructura. Esto permite que sean implementadas soluciones
pequeñas, de bajo costo y eficientes para un amplio rango de dispositivos.
17 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Los estándares de redes inalámbricas de baja potencia como el 802.15 han atraído el
interés de los consumidores en las redes de área personal (PAN). Este tipo de redes
están diseñadas para la utilización de dispositivos de bajo costo y potencia para lograr
un alcance de 1m a 100m de un dispositivo a otro. Para este tipo de red se utilizan
tecnologías inalámbricas como Zigbee, Bluetooth, Ultra-Wide Band (UWB), WiFi y
dispositivos de radiofrecuencia como el nRF24L01, de los cuales se hablará en las
siguientes secciones.
18 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Maestro
Esclavo 1 Esclavo n
19 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
A simple vista la operación, así como los objetivos de una WPAN parecen ser los de
una WLAN, definidos en el estándar IEEE 802.11. Ambas tecnologías permiten a un
dispositivo electrónico conectarse con el ambiente que lo rodea e intercambiar datos
sobre canales inalámbricos libres o frecuencias que no necesitan licencia de uso. Sin
embargo, las WLANs se han diseñado y optimizado para dispositivos transportables de
comunicación, por ejemplo, las computadoras tipo notebook, teléfonos, celulares, etc.
Las WPAN fueron diseñadas para dispositivos con mayor movilidad y de mayor bajo
costo.
20 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
puede enviar voz y datos a gran velocidad y bajo consumo, ya que, al disminuir el
tráfico de datos, adopta el modo de ahorro de energía. El alcance que logran tener
estos dispositivos es de 10 metros, como se ilustra en la figura 2.13, buscando ahorrar
energía, ya que generalmente estos dispositivos utilizan mayoritariamente baterías. Sin
embargo, se puede llegar a un alcance de hasta 100 metros (similar a Wi-Fi), pero
aumentando el consumo energético considerablemente. Para mejorar la comunicación
es recomendable que nada físico, como por ejemplo una pared, se interponga.
5
http://style4man.com/accessories/besprovodnye-naushniki-bluetooth.html
22 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
actuar como un reemplazo del cable inalámbrico de alta velocidad del puerto serie.
UWB promete revolucionar las redes en los hogares, teniendo aplicaciones tales como
bajar imágenes de una cámara digital hacia una computadora, distribuir señales de alta
definición de televisión (HDTV) de un receptor a múltiples aparatos de televisión a lo
largo de una casa, conectar impresoras a una computadora, remplazar cualquier cable
de información en el perímetro de un cuarto de una casa, oficina, escuela, hospital,
industria, etc., tal como se ilustra en la figura 2.14.
ZigBee sobre IEEE 802.15.4 define las especificaciones de Baja Velocidad WPAN (LR-
WPAN) para soportar dispositivos simples que consumen un mínimo de energía y por
lo general operan en el espacio personal operativo (POS) de 10m. 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, entre otros, como se ilustra en la figura 2.15.
23 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
6
http://cortet.cel.com/technologies/zigbee
24 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Hay al menos dos tipos de WiFi, basado cada uno de ellos en un estándar IEEE 802.11
los estándares IEEE 802.11b e IEEE 802.11g que disfrutan de una aceptación
internacional debido a que la banda de 2.4 GHz está disponible casi universalmente,
con una velocidad de hasta 11 Mbps y 54 Mbps, respectivamente. Existe también el
estándar IEEE 802.11n que trabaja a 2.4 GHz a una velocidad de 108 Mbps. Esta
velocidad de 108 Mbps se puede de alcanzar en el estándar 802.11g gracias a técnicas
de aceleramiento que consiguen duplicar la transferencia teórica, como lo es la
utilización de antenas con tecnología MIMO (Multiple Input Multiple Out).
25 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
La Tabla 2.2 resume las principales características entre las cuatro tecnologías
mencionadas en apartados anteriores. Cada tecnología está basada en un estándar
IEEE. Claramente, UWB y Wi-Fi brindan una mayor velocidad de transmisión, mientras
que Bluetooth y ZigBee dan una menor. En general, el Bluetooth, UWB, y ZigBee están
destinadas para la comunicación WPAN (desde 1 cm a 100 m), mientras que Wi-Fi está
orientado a WLAN (desde 1 m a 100 m). Sin embargo, ZigBee también puede llegar a
100m en algunas aplicaciones.
26 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
El SPI es un protocolo Síncrono que trabaja en modo Full Duplex para recibir y
transmitir información, permitiendo que dos dispositivos puedan comunicarse entre sí al
mismo tiempo utilizando canales diferentes o líneas diferentes en el mismo cable. Al
ser un protocolo síncrono el sistema cuenta con una línea adicional a la de datos
encargada del proceso de sincronismo.
Maestro Esclavo
Memoria Memoria
7
http://panamahitek.com/como-funciona-el-protocolo-spi/
27 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
• MOSI (Master Out Slave In): Línea utilizada para llevar los bits que provienen del
maestro hacia el esclavo.
• MISO (Master In Slave Out): Línea utilizada para llevar los bits que provienen del
esclavo hacia el maestro.
• CLK (Clock): Línea proviniente del maestro encargada de enviar la señal de reloj
para sincronizar los dispositivos.
• SS (Slave Select): Línea encargada de seleccionar y a su vez, habilitar a un
esclavo.
28 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
CAPÍTULO 3: DISEÑO E
IMPLEMENTACIÓN
29 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
En este tercer capítulo se hablará acerca de la estructura del sistema, así como el
desarrollo del proyecto, haciendo un análisis de la tarjeta Arduino UNO y de los
módulos nRF24L01, con los cuales se realizará un código para lograr una
comunicación entre el microcontrolador y el dispositivo periférico (nRF24L01).
3.1 Microcontroladores
Salidas PWM 2 6
SPI Si Si
30 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
3.2 Arduino
31 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
UNO se diferencia de todas las placas, ya que no utiliza el chip controlador de USB a
serial FTDI.
32 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Microcontrolador ATmega328P
Digital pines I / O 14
Memoria Flash 32 KB
SRAM 2 KB
EEPROM 1 KB
Longitud 68,6 mm
Anchura 53,4 mm
Cada uno de los 14 pines digitales en el Arduino Uno puede ser utilizado como una
entrada o salida, utilizando pinMode(), digitalWrite(), y digitalRead(). Operan en 5
volts. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una
33 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
• Serial: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir datos en serie
(TX) TTL. Estos pines están conectados a los pines correspondientes
del ATmega8U2 USB a TTL chip de serie.
• Interrupciones externas: 2 y 3. Estos pines pueden configurarse para activar una
interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio
en el valor.
• PWM: 3, 5, 6, 9, 10, y 11. Proporcionar una salida PWM de 8 bits con la
función analogWrite ().
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Estos pines admiten la
comunicación SPI entre el microcontrolador y el dispositivo periférico
(nRF24L01) utilizando la librería de SPI.
• LED: 13. Hay un LED incorporado conectado al pin digital 13. Cuando el pasador
es de alto valor, el LED está encendido, cuando el pasador es bajo, está
apagado.
• El Uno tiene 6 entradas analógicas, etiquetada A0 a A5. Por defecto se miden
desde 0 a 5 volts, aunque es posible cambiar el extremo superior de su rango
usando el pin AREF y la función analogReference().
3.6 Comunicación
34 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
(TX). El software de Arduino incluye un monitor de serie que permite a los datos de
texto simples para ser enviados hacia y desde la placa Arduino. Los RX y TX LED en el
tablero parpadean cuando se están transmitiendo datos a través del chip y conexión
USB-USB a serie al ordenador (pero no para la comunicación en serie en los pines 0 y
1).
35 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
En la figura 3.2 se muestra el proceso que se sigue al usarse los dispositivos y la forma
en la que interactúa cada uno con el bloque siguiente.
digitales del microcontrolador. Cada led corresponde a una mesa que se muestra en el
panel, por lo tanto, cada vez que una mesa se ocupe, su led correspondiente en el
panel encenderá.
En la figura 3.3 se muestran las etapas del proceso que lleva a cabo el sistema; se
proponen 4 etapas del proceso. Esto se realizó de esta manera ya que de tener algún
problema, es más sencillo localizar la causa si se analiza cada etapa por separado.
Aparte de esto, si se requieren hacer futuras modificaciones, mejoras o actualizaciones,
simplemente se aplica en los procesos requeridos facilitando el trabajo.
En la primera etapa del proceso, Circuito Transmisor, se hace la lectura del voltaje y
dependiendo de ello se pasa a la siguiente etapa que es el Microcontrolador
Transmisor. Cada transmisor envía una letra a manera de que el receptor lo identifique
y realice la rutina pertinente. Se transmite la información y el tamaño que tiene la
información cada vez que existe el envío. En la tercera etapa el Microcontrolador
Receptor, que se mantiene preguntando de manera cíclica si algún transmisor está
enviando datos, recibe la información y compara el identificador. Una vez hecho esto,
se pasa a la última etapa que es en el circuito receptor, pues dependiendo de la rutina
37 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Los dispositivos nRF24L01 son periféricos, de muy bajo costo, pero muy versátiles, ya
que pueden ser usados para redes simples punto a punto o incluso soportar
configuraciones maestro - esclavo con distintos números de nodos.
Para el uso de estos dispositivos existen diversas librerías destinadas para tareas
específicas de las cuales se hablará en la sección 3.10. Durante el desarrollo se
probaron 4 librerías distintas, de las cuales se eligió la más óptima para el proyecto.
38 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Para la construcción del código que permitiera formar una red WPAN con un maestro y
cuatro esclavos fue utilizada la librería RF24, la cual que proporciona las siguientes
ventajas:
Para ello fue necesario una conexión distinta entre los dispositivos como se muestra en
la tabla 3.3 y figura 3.5:
39 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Figura 3.5. Diagrama de conexión Arduino UNO y nRF24L01 para librería RF24
Continuando con las pruebas, se hizo uso de la librería RF24 Mesh, que tiene la
intención de proporcionar un acoplamiento para redes de sensores, permitiendo una
configuración automática y dinámica permitiendo la personalización para distintos usos.
Esta librería está diseñada para su implementación directamente con la librería RF24
40 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Network, que trabaja en la capa de red, según el modelo de referencia OSI, usando los
dispositivos NRF24L01, la cual se deriva de igual manera de la librería RF24
optimizada.
Su propósito general fue el crear una alternativa para la comunicación de ZigBee con
Arduino. Su optimización se basó en mejorar la funcionalidad actual hacia la máxima
eficiencia, fiabilidad y velocidad.
Aunque su desarrollo fue principalmente para el uso con Xbees, que son dispositivos
pequeños respaldados por una infraestructura de protocolos robusta, su desventaja es
que son periféricos caros, para ello se optimizó la capa de red de la librería
RF24Network para su uso con NRF24L01 con lo que se espera una comunicación
entre estos dispositivos.
El código 2 (Ver anexo II) del Nodo Maestro muestra cómo configurar manualmente un
nodo a través RF24Mesh como nodo maestro, que tiene como tarea recibir todos los
datos de los nodos esclavos, con la ventaja de que pueden cambiar de posición física o
lógica en la red. El Nodo Maestro gestiona la asignación de direcciones de los nodos
individuales.
41 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Para ello se determinan dentro del código los pines que se usan en el microcontrolador
ATmega328PP con los correspondientes pines CE y CS del dispositivo NRF24L01. A
continuación se determina al Nodo Maestro con un identificador que seleccionamos
como 0 y se conecta a la red con el comando mesh.begin();.
Hecho esto, el Nodo Maestro hace un barrido a los distintos Nodos Esclavo
preguntando si existe información que se requiera transmitir.
Los datos que recibe son considerados un encabezado como si se tratase de una
trama, puesto que la librería requiere un identificador para atender al Nodo Esclavo
que está transmitiendo, la longitud de la información que se va a transmitir desde ese
nodo y los datos en sí que se transmiten, con lo cual el Nodo Maestro ejecuta la rutina
pertinente para cada uno y de esta manera evitando que se confunda la comunicación
entre nodos.
De tal manera que para el código 3 (Ver anexo III) del Nodo Esclavo, simplemente es
necesaria la rutina de iniciación para que sea parte de la red, la selección de los pines
que corresponden al microcontrolador y al dispositivo NRF24L01, asignar un
identificador diferente para cada nodo, elegir la longitud de la información y enviar los
datos a través del dispositivo periférico, logrando con ello la transmisión de datos y por
lo tanto, la identificación de cada uno de los nodos.
42 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
• 1 Arduino UNO
• 1 microcontrolador ATmega328P
• 1 resistencia de 10 kΩ
• 1 oscilador de 16MHz
43 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
44 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Para poder utilizar la tarjeta Arduino UNO como programador de debe configurar desde
el menú Herramientas/Programador/Arduino as ISP, como se observa en la figura 3.8.
Una vez seleccionada esta opción, Arduino UNO se puede utilizar para programar un
microcontrolador ATmega328P.
45 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Una vez que se ha configurado la tarjeta Arduino UNO como programador, se procede
a cargar el Bootloader en el microcontrolador ATmega328P. Para poder cargar el
Bootloader es necesario construir el circuito mostrado en la figura 3.9.
Ya que esta armado el circuito de la figura 3.9, se carga el Bootloader desde Arduino
UNO con el menú Herramientas/ Quemar Bootloader, como se observa en la figura
3.10.
46 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Una vez cargado el Bootloader, ya es posible cargar el código. Para utilizar el Arduino
UNO como programador y cargar el código en el ATmega328P se necesita construir el
circuito que se muestra en la figura 3.12 y se configura el Arduino UNO al valor
predeterminado (AVR ISP) desde el menú Herramientas/Programador/AVR ISP, como
se muestra en la figura 3.11.
47 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Una vez realizado este proceso, es posible utilizar el ATmega328P fuera de la tarjeta
Arduino UNO y la carga del código se realiza desde el programa de Arduino, como si
se estuviera programando la misma tarjeta. Este proceso se debe realizar para todos
los microcontroladores que se deseen utilizar fuera de la tarjeta Arduino UNO.
Para la conexión del nodo Maestro y Nodo esclavo se realizaron los circuitos que se
observan en las figuras 3.13 y 3.14 respectivamente. El material utilizado para la
construcción de los circuitos fue el siguiente:
• Diodo led.
o 1 en el circuito transmisor.
o 4 en el circuito receptor.
• Botón.
o 1 por circuito.
• Batería 9V.
o 1 por circuito.
49 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Una vez probados los circuitos anteriores, se procedió a realizar los PCBs (ver anexos
IV y V). Al finalizar el proceso de construcción de las tarjetas, los circuitos finales sin
componentes se observan en las figura 3.15 y con componentes integrados en la figura
3.16.
Figura 3.15. Circuitos impresos nodo Maestro (derecha) y nodo Esclavo (izquierda)
50 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
51 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
CAPÍTULO 4: PRUEBAS Y
RESULTADOS
52 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
En este cuarto capítulo se hablará de las pruebas realizadas para crear el enlace punto
a punto entre los dispositivos inalámbricos, así como las pruebas y resultados de la
implementación de la red WPAN.
4.1 Conexión inalámbrica punto a punto con módulos nRF24L01 y Arduino UNO
Para crear una conexión inalámbrica punto a punto se realizó una conexión
bidireccional entre dos módulos nRF24L01 configurados con Arduino Uno, utilizando el
siguiente material:
• 2 módulos nRF24L01
• 2 Laptops
• 2 protoboards
• 2 tarjetas Arduino Uno
• 2 LEDs
La primera librería utilizada fue Mirf, la cual sólo permite una conexión punto a punto.
Para el uso de esta librería, se hicieron las siguientes conexiones entre el dispositivo
NRF24L01 y Arduino UNO:
53 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
54 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Los Arduinos fueron programados con el mismo código para que pudiera haber una
comunicación bidireccional entre los dos módulos, con el código 1 (Ver anexo I).
Figura 4.3. Circuitos armados para recepción y transmisión con Arduino UNO y módulos
nRF24L01
55 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
56 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
4.3 Resultados
Se comienzan las pruebas con los dispositivos dentro de sus estuches y con
alimentación propia en caso del transmisor. Como se puede observar en la figura 4.7,
57 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
en ese momento se simulaba el botón que acciona los dispositivos con dos cables. Al
separar los cables el dispositivo transmite y se enciende el led, y al juntar los cables se
apaga.
Como se aprecia en la figura 4.8, se hizo una modificación a la caja que contiene los
circuitos para que la antena del dispositivo periférico NRF24L01 salga del estuche y así
solucionar los problemas de alcance que se presentan si se guarda todo en la caja.
58 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
59 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
CONCLUSIONES
Tomando en cuenta los objetivos planteados al inicio del trabajo realizado, y los
resultados obtenidos, es posible plantear las siguientes conclusiones.
Se logró cubrir cada uno de los objetivos particulares. Primero, se implementó una red
WPAN utilizando microcontroladores y dispositivos periféricos inalámbricos, de acuerdo
con las especificaciones técnicas de cada uno de ellos.
60 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
61 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
BIBLIOGRAFÍA
[1] Redes inalámbricas de sensores: una nueva arquitectura eficiente y robusta basada
en jerarquía dinámica de grupos, Capella Hernández Juan Vicente, Universitat
Politecnica de Valencia, 2011.
[2] Estándar IEEE 802.11x de las WLAN, Ing. Pablo Jara Werchau, Ing. Patricia Nazar,
Editorial de la Universidad Tecnológica Nacional – edUTecNe.
[6] Arduino Microcontroller Processing for Everyone!: Third Edition, Steven F. Barrett
[9] IEEE 802.15.1 Part 15.1: Wireless Medium Access Control (MAC) and physical layer
(PHY) specifications for personal area networks, 2005.
62 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
63 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
ANEXOS
64 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
65 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
66 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Microcontrolador ATmega328P
67 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
68 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
char *cadena;
String inputstring = ""; //cadena recibida desde el PC
boolean input_stringcomplete = false; //cadena recibida completamente desde el PC
//const int ledPin=2;
void setup()
{
Mirf.spi = &MirfHardwareSpi;
// inicio de la emision
Mirf.init();
// Se envia un byte cada vez
Mirf.payload = 1;
// seleccionamos el canal
Mirf.channel = 90;
Mirf.config();
// 1MHz
69 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Mirf.configRegister(RF_SETUP,0x06);
// Seleccionamos dirección
Mirf.setTADDR((byte *)"TX_01");
Serial.begin(57600);
Serial.println("Iniciando ...");
}
// enviar cadena
void transmit(const char *cadena)
{
byte c;
for( int i=0 ; cadena[i]!=0x00 ; i++ )
{
c = cadena[i];
Mirf.send(&c);
while( Mirf.isSending() ) ;
}
}
// enviar una secuancia CR/LF
void transmitlf(void)
{
byte c;
c = '\r';
Mirf.send(&c);
while( Mirf.isSending() ) ;
c = '\n';
Mirf.send(&c);
while( Mirf.isSending() ) ;
}
70 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
71 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
72 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
#include "RF24Network.h"
#include "RF24.h"
#include "RF24Mesh.h"
#include <SPI.h>
#include <EEPROM.h>
RF24 radio(9,10);
RF24Network network(radio);
RF24Mesh mesh(radio,network);
uint32_t displayTimer = 0;
void setup()
mesh.setNodeID(0);
// Se conecta a la red
mesh.begin();
void loop() {
73 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
mesh.update();
mesh.DHCP();
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
if(network.available())
RF24NetworkHeader header;
network.peek(header);
uint32_t dat=0;
switch(header.type)
digitalWrite(2,HIGH);
delay(100);
digitalWrite(2,LOW);
Serial.println(dat);
break;
74 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
digitalWrite(3,HIGH);
delay(100);
digitalWrite(3,LOW);
Serial.println(dat);
break;
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
Serial.println(dat);
break;
digitalWrite(5,HIGH);
delay(100);
digitalWrite(5,LOW);
Serial.println(dat);
break;
default: network.read(header,0,0);
Serial.println(header.type);
break;
}
75 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
#include "RF24.h"
#include "RF24Network.h"
#include "RF24Mesh.h"
#include <SPI.h>
#include <EEPROM.h>
RF24Network network(radio);
#define nodeID 2
uint32_t displayTimer = 0;
struct payload_t {
};
void setup() {
mesh.setNodeID(nodeID);
// Conectando a la Red
mesh.begin();
76 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
void loop() {
mesh.update();
int push=0;
pinMode(A0,INPUT);
push=analogRead(A0);
if (push!=0)
displayTimer = 1;
77 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
78 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
79 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Glosario
Host: Cualquier dispositivo en una red que tenga una dirección, un nodo.
Piconet: Red de pequeño tamaño que interconecta dos o más dispositivos, incluyendo
un Maestro y múltiples Esclavos.
80 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL
Abreviaturas
RX: receptor
TX: transmisor
CLK: Clock
GND: Ground
81 | P a g e