You are on page 1of 89

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y


ELÉCTRICA

UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”

INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA

“Implementación de una red WPAN para control de ocupación de


mesas en un restaurante”

PROYECTO TERMINAL

QUE PARA OBTENER EL TÍTULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

PRESENTAN:

ARELLANO SALGADO JORGE ALBERTO

MARTÍNEZ OLIVARES CARLOS DANIEL

MONROY VELASCO HÉCTOR

ASESORES:

ING. FERNANDO CRUZ MARTÍNEZ

ING. MARÍA ISABEL ZUÑIGA ROMERO

DRA. ÍNGRID JAZMÍN GUERRERO ROMERO

México D.F. 2015


ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

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

3.8. Etapas del proceso del sistema..…………….………………………….37


3.9. Módulos nRF24L01 …………………………………………….………...38
3.10. Librería RF24, RF24 Mesh, RF24 Network …………………………..39
3.11. Configuración del microcontrolador ATmega328P fuera de Arduino
UNO ……………………………………………………………….……….43
3.12. Diseño de Nodo Maestro y Nodo Esclavo ……………………...........48
4. CAPÍTULO 4: PRUEBAS Y RESULTADOS………...………………….……….52
4.1. Conexión inalámbrica punto a punto con módulos nRF24L01 y
Arduino UNO ………………………………………………………………53
4.2. Resultados de pruebas de conexión inalámbrica punto a punto …...55
4.3. Resultados ………………………………………………………………...57
4.4. Valoración de resultados ………………………………………………..58
CONCLUSIONES…..…………………………………………………………………...60
BIBLIOGRAFÍA…….…………………………………………………………………...62
ANEXOS…………….…………………………………………………………………...64
Hojas de Datos de los dispositivos utilizados ……………………………..…65
Transceptor nRF24L01...………………..……………………………...65
Microcontrolador ATmega328P….…………………………………….67
I Código 1 pruebas de comunicación punto a punto ………………………..69
II Código 2 (Nodo Maestro)…………………………………………………….73
III Código 3 (Nodo Esclavo)….…………………………………………………76
IV PCB Nodo Maestro….……………………………………………………….78
V PCB Nodo Esclavo……………………………………………………………79
GLOSARIO………………………………………………………………………………80
ABREVIATURAS….…………………………………………………………………….81

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

• Implementar una red inalámbrica WPAN.


• Crear una comunicación entre microcontroladores y dispositivos de
radiofrecuencia mediante un puerto SPI.
• Implementar conexiones inalámbricas para una red tipo estrella.

III | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

INTRODUCCIÓN

Las redes WPAN tienen un amplio rango de aplicaciones en las industrias


actuales, haciendo los procesos de estas cada vez más rápidos y eficientes,
sustituyendo las conexiones alámbricas entre dispositivos por conexiones
inalámbricas.

La aplicación más grande de las redes WPAN es en la domótica para crear


edificios inteligentes, automatizando procesos comunes que realizan las personas
en su vida cotidiana, haciéndola más simple. Algunas de estas tareas de
automatización dentro de un edificio son el control de temperatura, iluminación,
seguridad, comunicación, etc. Todas estas aplicaciones se logran a base de
sensores y enlaces de comunicación entre los diferentes tipos de dispositivos
periféricos en el mercado que caracterizan a las redes WPAN.

En la industria de los restaurantes de hoy en día se emplean uno o más


trabajadores para encargarse del control y asignación de las mesas, y aparte de
esto, es necesaria la adquisición de equipo de comunicación u otras herramientas
para llevar a cabo sus tareas.

Con este proyecto se pretende aumentar la eficiencia en el control de la ocupación


de las mesas en un restaurante, así como, la reducción de costos para evitar la
compra de dispositivos auxiliares como los radios, y así requerir de menos
empleados para la operación de los dispositivos, aumentando la eficiencia y
disminuyendo tiempos.

IV | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Se sabe que en restaurantes que tienen un flujo de comensales muy abundante


todos los días, factores como el estrés influyen en el desempeño de los
trabajadores. Con este proyecto se intenta eliminar los posibles errores en las
tareas de los empleados, pues los dispositivos son fáciles de operar sin necesidad
de que sólo una persona se encargue de su uso. Son dispositivos que con oprimir
un botón realizan toda su función.

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

En este primer capítulo se habla acerca de los antecedentes, evolución y de las


aplicaciones actuales de las redes WPAN (Wireless Personal Area Network, por sus
siglas en inglés).

1.1 Antecedentes y aplicaciones actuales de las WPAN

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

CAPÍTULO 2: MARCO TEÓRICO

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

Una red es la conexión de un conjunto de dispositivos que tienen la capacidad de


comunicarse e intercambiar información entre sí, utilizando sus propios recursos o
recursos ajenos. Las redes de comunicaciones están compuestas por nodos, que son
los puntos de conexión que contienen a los dispositivos dentro de una red.

También se puede definir una red como un conjunto de equipos informáticos


interconectados entre sí. En toda red hay una parte física y otra parte lógica. La parte
física está compuesta por todos los elementos materiales (hardware) y los medios de
transmisión. La parte lógica (software) son los programas que gobiernan o controlan la
transmisión y la información o datos que se transmiten.

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

Tabla 2.1. Alcance de tipos de redes

Tipo de Red Alcance

BAN (Body Area Network) 1mm – 1cm

PAN (Personal Area Network) 1cm – 100m

LAN (Local Area Network) 1m – 100m

MAN (Metropolitan Area Network) 100m – 1km

WAN (Wide Area Network) Desde 1km

GAN (Global Area Network) Globales

GAN

WAN

MAN

LAN

PAN

Figura 2.1. Tipos de redes1

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.

2.2 Topologías físicas

La topología física es la forma en la que se encuentran alambrados o conectados los


dispositivos para la transmisión de información, esto se refiere a las conexiones físicas
y la identificación de cómo se interconectan los dispositivos finales y de infraestructura.
Existen distintas topologías físicas como se muestra en las siguientes figuras:

• Estrella: En esta topología, múltiples nodos finales están conectados


directamente a un nodo central. Las redes con topología de estrella pueden
también ser llamadas redes planas, en las cuales sus nodos finales realizan la
misma función, como se observa en la Figura 2.2.

8|P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 2.2. Topología física en estrella2

• Estrella extendida: Esta topología es similar a la de estrella, la diferencia es


que en esta topología se encuentran conectadas múltiples redes de tipo estrella
por sus nodos centrales, como se puede observar en la Figura 2.3.

Figura 2.3. Topología física de estrella extendida2

• 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

al equipo que lo tenga en posesión. El diagrama de esta topología se puede


observar en la Figura 2.4.

Figura 2.4. Topología física de anillo2

• Anillo doble: Esta topología es similar a Token ring, la diferencia es que la


transmisión puede ser bidireccional como se puede observar en la Figura 2.5.

Figura 2.5. Topología física anillo doble2

• Á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

Figura 2.6. Topología física en árbol2

• Bus: En esta topología todos nodos están conectados a una línea de


transmisión común, por medio de la cual pueden enviar y recibir datos. En la
Figura 2.7 se observa el diagrama de conexión.

Figura 2.7 Topología física Bus2

• Malla: En esta topología, cada dispositivo se encuentra conectado directamente


con todos los demás dispositivos de la red, como se observa en la Figura 2.8, de
esta manera es posible mandar la información por diferentes rutas en caso de
que algún nodo falle.

11 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 2.8. Topología física en malla2

2.3 Topologías lógicas

La topología lógica es la forma en que se accede al medio, la cual va a estar definida


dentro de la capa 2 del modelo OSI (Enlace de datos). Esta capa se divide en dos
subcapas: Control de Enlace Lógico (LLC, Logical Link Control) y Control de Acceso al
Medio (MAC, Medium Access Control).

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

2.4 Modelo OSI

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.

Capas de Modelo OSI

1. Física: Esta capa especifica las características físicas, eléctricas, mecánicas, de


procedimiento y de funcionamiento para activar, mantener y desactivar un
enlace entre dos o más dispositivos que pueden estar comunicados en lugares
geográficamente diferentes. En esta capa se definen los diferentes tipos de red
de acuerdo a su alcance y distribución, las cuales se mencionan en la sección
2.1.

2. Enlace de datos: Esta capa provee características tanto de red como de


protocolo, buscando proporcionar transito confiable a través del medio,
posibilitando conectividad de extremo a extremo. Para brindar confiabilidad de
extremo a extremo utiliza “direccionamiento físico”, el control de flujo, la
topología de red (ver sección 2.2). Esta capa enmascara los errores reales, de
manera que la capa de red no los vea. Para lograr esta tarea, el emisor divide
los datos de entrada en tramas de datos y transmite las tramas en forma
secuencial. Si el servicio es confiable, para confirmar la recepción correcta de
cada trama, el receptor devuelve una trama de confirmación de recepción. La
capa de enlace de datos toma los paquetes que obtiene de la capa de red y los
encapsula en tramas para transmitirlos. Cada trama contiene un encabezado, un
campo de carga útil para almacenar el paquete y un terminador, como se
muestra en la figura 2.10.

14 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 2.10. Relación entre paquetes y tramas4

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. Transporte: Esta capa es la encargada de segmentar la información


proveniente de las capas superiores y reensamblarla en una corriente de datos
generada en el host receptor. Inicia, administra, controla y termina los circuitos
virtuales. Esta capa es una interfaz entre los protocolos de las capas superiores
con los de las capas inferiores. Los protocolos TCP (Transport Control Protocol,

4
Redes de computadoras, Tanenbaum, Pag. 168
15 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

orientado a conexión) y UDP (User Datagram Protocol, no orientado a conexión)


basan su funcionamiento en esta capa.

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.

6. Presentación: Esta capa da formato a los datos que se presentarán en la capa


de aplicación. Es capaz de traducir datos de un formato utilizado por la capa de
la aplicación a un formato común en la estación emisora y, después, traducir el
formato común a un formato conocido por la capa de la aplicación en la estación
receptora.

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.

2.5 IEEE 802.2

El estándar 802.2 de la IEEE se conoce como Control de Enlace Lógico (LLC). La


función de este estándar es gestionar y asegurar la transmisión de información, así
como, cubrir los servicios requeridos por, o en, la subcapa LLC en las interfaces lógicas
con la capa de red, la subcapa MAC y las funciones de gestión de la subcapa LLC.

16 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Los servicios de este estándar se especifican describiendo las primitivas de servicio y


los parámetros que caracterizan a cada servicio. Un servicio puede tener una o más
primitivas relacionadas que constituyen la actividad relacionada al servicio particular.

Están definidos cuatro tipos genéricos de primitivas:

• Petición: La primitiva de petición es pasada del usuario N a la capa o subcapa N,


para pedir que se inicie un servicio.
• Indicación: La primitiva de indicación es pasada de la capa o subcapa N al
usuario N, para indicar un evento de una capa interna N de significado para el
usuario N.
• Respuesta: La primitiva de respuesta es pasada de un usuario N a una capa N
para completar un procedimiento previamente invocado por una primitiva de
indicación.
• Confirmación: La primitiva de confirmación es pasada de una capa N a un
usuario N, para mostrar resultados de una o más peticiones de servicio
asociadas.

2.6 Redes WPAN

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

El Instituto de Ingenieros Electricistas y Electrónicos (IEEE) especifica las normas para


este tipo de redes bajo el estándar IEEE 802.15.x; dentro de éste tenemos distintos
subgrupos los cuales son:

• 802.15.1 basado en las especificaciones del Grupo de Interés Especial (SIG) de


Bluetooth.
• 802.15.2 desarrolló un modelo de coexistencia entre las redes Wireless LAN
(Redes de Área Local Inalámbricas) y las WPANs.
• 803.15.3 ofrece alta velocidad de transmisión, bajo consumo de energía, bajo
costo y calidad de servicio.

• 802.15.4 investiga y desarrolla soluciones que requieren una baja transmisión de


datos y con ello una duración en las baterías de meses e incluso de años.

Estos estándares se definirán con mayor detalle en las secciones posteriores.

2.7 IEEE 802.15

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

Los dispositivos de radiofrecuencia en este estándar operan en la banda de 2.4 GHz. El


sistema emplea un transceptor capaz de transmitir 1 Mb/s. Durante una operación
típica, un canal de radio físico es compartido por un grupo de dispositivos sincronizados
con un reloj y una frecuencia común. Un dispositivo provee al sistema de una
referencia de sincronización; este dispositivo se conoce como “maestro”, y los otros
dispositivos son conocidos como “esclavos”.

La operación de RF utiliza una forma de modulación de frecuencia binaria para


minimizar la complejidad de los transceptores. Un dispositivo proporciona la referencia
de sincronización y es conocido como “maestro”. Todos los demás dispositivos se
conocen como “esclavos”. Un grupo de dispositivos sincronizado de esta manera
forman una piconet, como se muestra en la figura 2.11. Esta es la forma fundamental
de la comunicación en esta tecnología.

Maestro

Esclavo 1 Esclavo n

Figura 2.11. Piconet

19 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

2.8 Arquitectura del estándar 802.15

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.

Para tener una mejor comprensión de estos estándares es necesario situarlos en el


modelo OSI. En la figura 2.12 se observa la correspondencia de estos estándares a las
capas del modelo OSI

Figura 2.12. Localización de los estándares IEEE en el modelo OSI

20 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Como se observa en la figura 2.12, los estándares de la IEEE están comprendidos en


la capa física y de enlace de datos, entre los cuales tenemos el 802.3 (Ethernet), 802.5
(Token Ring) para redes cableadas y para redes inalámbricas 802.11 (WLAN) y 802.15
(WPAN).

2.9 Tecnologías inalámbricas

La comunicación inalámbrica de corto alcance se lleva a cabo actualmente por cuatro


tecnologías: Bluetooth, UWB, ZigBee, y Wi-Fi, para transmisiones inalámbricas a través
de un rango de acción en torno a 10 - 100 metros. En pruebas hechas a Bluetooth y
WiFi en términos de varios indicadores como la capacidad, topología, seguridad,
calidad y consumo de energía, los resultados mostraron que en la diferencia de
rendimiento entre ellos es muy pequeña. En este trabajo, después de una visión
general de los cuatro protocolos inalámbricos de corto alcance mencionados,
intentamos hacer una comparación preliminar de ellos y luego estudiar específicamente
su tiempo de emisión, datos de la eficiencia, la complejidad del protocolo, y el consumo
de energía de codificación.

2.10 Bluetooth a través de IEEE 802.15.1

Bluetooth, también conocido como el estándar IEEE 802.15.1 se basa en un sistema


inalámbrico diseñado para corto alcance y dispositivos baratos para reemplazar los
cables en los periféricos de una computadora personal, tales como ratones, teclados,
joysticks e impresoras. Consiste en un pequeño transmisor de radiofrecuencia
integrado en un microchip que opera en una banda de “frecuencia de libre acceso” para
la mayoría de los países, para así asegurar la compatibilidad universal. El transmisor
21 | 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.

Figura 2.13. Alcance de Bluetooth5

2.11 UWB sobre IEEE 802.15.3

UWB (Ultra-Wide Band) ha atraído recientemente la atención como sistema de corto


alcance con una alta velocidad de comunicación inalámbrica. Una de las características
más interesantes de UWB es que su velocidad de transferencia es de más de 110
Mbps (hasta 480 Mbps), que pueden satisfacer la mayor parte de aplicaciones
multimedia, como audio y entrega de video en las redes domésticas, y también puede

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.

Figura 2.14. Aplicaciones para UWB

2.12 ZigBee sobre IEEE 802.15.4

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

Figura 2.15. Aplicaciones de ZigBee6

Las comunicaciones Zigbee se realizan en la banda libre de 2.4GHz. A diferencia de


Bluetooth no utiliza FHSS (Frequency Hopping Spread Spectrum), 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 el tipo de antenas utilizadas (cerámicas, dipolos…). El
alcance normal con antena dipolo con visión directa suele ser aproximadamente de
100m y en interiores de unos 30m. La velocidad de transmisión de datos de una red
Zigbee es de hasta 256kbps. Una red Zigbee la pueden formar, teóricamente, hasta
65535 equipos, es decir, el protocolo está preparado para poder controlar en la misma
red esta cantidad enorme de dispositivos. La realidad es menor, siendo, de todas
formas, de miles de equipos.

2.13 WiFi a través de IEEE 802.11a / b / g

WiFi es un conjunto de estándares para redes inalámbricas basados en las


especificaciones IEEE 802.11, se creó para ser utilizada en redes locales inalámbricas

6
http://cortet.cel.com/technologies/zigbee
24 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

(WLANs), pero es frecuente que en la actualidad también se utilice para acceder


a Internet, como se ilustra en la figura 2.16.

Figura 2.16. Ilustración de aplicación WiFi.

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

2.14 Estudio Comparativo

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.

Tabla 2.2. Características de tecnologías inalámbricas

ZigBee Wi-Fi Bluetooth UWB

Estándar 802.15.4 802.11 802.15.1 802.15.3

Velocidad 250 kbits/s 11 -105Mbits/s 723 kbits/s 110 Mbits/s -


1.6 Gbits/s
Rango 10 – 300 mts. 10 – 100 mts. 10 mts. 4 – 20 mts.

Canales 65000 32 8 128

Aplicaciones Domótica y Internet Informática y Remplazo de


cable para
monitorización. móviles.
altos anchos
de banda
Costo Barato Caro Medio Barato

26 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

2.15 Interfaz periférica serial (SPI)

SPI es un protocolo de comunicación serial (Serial Peripheral Interface). SPI se ha


convertido en uno de los protocolos más populares para trabajar con comunicación
serial debido a su velocidad de transmisión, simplicidad y funcionamiento.

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.

La estructura general de comunicación de este protocolo se puede observar en la figura


2.17.

Maestro Esclavo
Memoria Memoria

Figura 2.17. Estructura general del protocolo SPI7

Dentro de este protocolo se define un maestro que será el dispositivo encargado de


transmitir información a sus esclavos. Los esclavos serán aquellos dispositivos que se
encarguen de recibir y enviar información al maestro. En algunos casos el maestro
también puede recibir información de sus esclavos. Para que este proceso se haga

7
http://panamahitek.com/como-funciona-el-protocolo-spi/
27 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

realidad es necesario la existencia de dos registros de desplazamiento, uno para el


maestro y uno para el esclavo, respectivamente. Los registros de desplazamiento se
encargan de almacenar los bits de manera paralela para realizar una conversión
paralela a serial para la transmisión de información.

Existen cuatro líneas lógicas encargadas de realizar todo el proceso:

• 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

Un microcontrolador es un circuito integrado que contiene una unidad central de


procesamiento (CPU), una memoria y puertos de entrada/salida. Estos elementos
componen lo que se conoce como microcomputadora, que puede ser diseñada para
cumplir con una o varias funciones incorporando un periférico para la aplicación
deseada. Cada vez existen más productos que incorporan microcontroladores con el fin
de reducir el tamaño de los dispositivos, costo y aumentar la eficiencia y fiabilidad.

Tabla 3.1. Comparación de microcontroladores

Característica PIC16F876a ATmega328P

Memoria EEPROM 256 Bytes 1 KB

Oscilador Interno 20 MHz 16 MHz

Salidas PWM 2 6

Programación No incluido Arduino UNO, Incluido

SPI Si Si

Tensión de funcionamiento 2 – 5.5 V 1.8 – 5.5 V

30 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

En la tabla 3.1 se compara el microcontrolador PIC16F876a y el ATmega328P,


obteniendo ventajas como la capacidad de memoria EEPROM, mayor cantidad de
salidas PWM, una programación más sencilla y mayor rango en el voltaje de operación.

3.2 Arduino

Arduino es un sistema digital programable con un microcontrolador con el propósito de


facilitar la parte electrónica en el desarrollo de distintos proyectos. Está compuesto por
una placa AVR de la familia de microcontroladores RISC de la compañía de
semiconductores ATMEL, así mismo la elección de los procesadores usados en la
placa está guiada por la sencillez y precio bajo, permitiendo desarrollar diferentes tipos
de sistemas. El IDE con el que Arduino trabaja es fácil de aprender y utilizar, así como
el lenguaje de programación es sencillo, ya que el público clave de este sistema es
aquellos con conocimientos básico en el ámbito electrónico para el desarrollo de
objetos o entornos interactivos. La forma en el que el sistema trabaja es mediante la
recepción de datos a través de sus pines, los cuales pueden ser conectados una gran
cantidad de sensores, y puede devolver el manejo de luces, motores u otros
actuadores. Los entornos desarrollados en el sistema pueden ejecutarse sin la
necesidad de estar conectado a una computadora, obteniendo la corriente de voltaje
por tanto corriente alterna como directa.

31 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 3.1. Arduino UNO

3.3 Arduino UNO

El Arduino UNO R3 es una placa electrónica basada en el microcontrolador


ATmega328P. Cuenta con 14 pines digitales de entrada / salida (de los cuales 6 se
pueden utilizar como salidas PWM), 6 entradas analógicas, un oscilador de cristal de
16 MHz, una conexión USB, un conector de alimentación, un header ICSP, y un botón
de reinicio. Contiene todo lo necesario para apoyar el microcontrolador; simplemente
conectarlo a un ordenador con un cable USB o el poder con un adaptador de CA o la
batería a CC para empezar.

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

3.4 Especificaciones técnicas

Tabla 3.2. Especificaciones técnicas ATmega328P

Microcontrolador ATmega328P

Tensión de Funcionamiento 1.8 – 5.5V

Digital pines I / O 14

PWM digital de E / S Botones 6

Botones de entrada analógica 6

Corriente DC por E / S Pin 40 mA

Corriente DC de 3.3V Pin 50 mA

Memoria Flash 32 KB

Memoria flash para Bootloader 0,5 KB

SRAM 2 KB

EEPROM 1 KB

Velocidad De Reloj 16 MHz

Longitud 68,6 mm

Anchura 53,4 mm

3.5 Descripción de pines

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

resistencia de pull-up de 20 a 50 kOhm. Además, algunos pines tienen funciones


especializadas:

• 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

El Arduino Uno tiene una serie de instalaciones para la comunicación con un


ordenador, otro Arduino, u otros microcontroladores. El ATmega328P ofrece UART TTL
(5V) de comunicación en serie, que está disponible en los pines digitales 0 (RX) y 1

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

El ATmega328P también es compatible I2C (TWI) y la comunicación SPI. El software


Arduino incluye una biblioteca para simplificar el uso de la I2C bus; Para la
comunicación SPI, es necesario utilizar la librería de SPI.

35 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

3.7 Estructura del sistema

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.

Figura 3.2. Diagrama de flujo de la estructura del sistema

El usuario (mesero) presiona el botón del dispositivo de su mesa. En ese momento se


enciende un led señalando que la mesa está disponible, tanto en el dispositivo
transmisor como en el panel de visualización. Al accionar el botón, la corriente
proveniente de la alimentación de la placa llega a la entrada analógica 0 del
microcontrolador, enviando en ese momento la información. Dependiendo de la
información recibida, enciende el led que le corresponde haciendo uso de los puertos
36 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

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

3.8 Etapas del proceso

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.

Circuito Microcontrolador Microcontrolador


Circuito Receptor
Transmisor Transmisor Receptor

Figura 3.3 Etapas del proceso

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

que se realice en la etapa anterior, hace el encendido o apagado de los leds en el


panel de visualización mediante la instrucción “digitalWrite()”.

3.9 Módulos nRF24L01

El módulo nRF24L01 es un dispositivo transceptor, es decir, cumple con las funciones


de transmisor y receptor, puede ser programado mediante un microprocesador para
realizar una de estas funciones o las dos simultáneamente. Opera en la banda de 2.4
GHz por lo que está dentro del estándar IEEE 802.11 y 802.15, tiene un alcance de
hasta 100 m en espacios abiertos.

Este dispositivo se adecúa de una manera simple a este proyecto, debido a su


pequeño tamaño, librerías predefinidas y su fácil configuración y conexión.

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

Figura 3.4. Módulo nRF24L01

3.10 Librerías RF24, RF24 Mesh, RF24 Network

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:

• Mayor compatibilidad con las especificaciones de operación que proporciona el


fabricante, con lo que permite a los usuarios trabajar fuera de la operación
recomendada.
• Utilizar las capacidades del dispositivo en todo su potencial a través de Arduino.
• Más fiable, sensible, libre de errores y con mejoras en sus características.
• Fácil de usar para principiantes, con ejemplos y características bien
documentadas.
• Utilizando una interfaz pública similar a otras librerías estándar de Arduino.

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

Tabla 3.3. Conexión nRF24L01 y Arduino UNO con librería RF24


PIN nRF24L01 Arduino UNO
GND 1 GND
VCC 2 3.3
CE 3 9
CSN 4 10
SCK 5 13
MOSI 6 11
MISO 7 12

Figura 3.5. Diagrama de conexión Arduino UNO y nRF24L01 para librería RF24

A partir de ésta librería se logró avanzar significativamente en el desarrollo del código y


sus funciones, pero sin poder cubrir las necesidades por completo, por lo que se
requirió del uso de otras librerías que se derivan de ésta.

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.

Se procedió a la realización de los distintos códigos necesarios para la implementación


de la red del Nodo Maestro con los 4 Nodos Esclavo.

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();.

A partir de este momento, se hace el llamado a la actualización de la red para poder


determinar el número de Nodos Esclavo conectados a la red de manera que el Nodo
Maestro le pueda asignar una dirección a cada uno.

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

3.11 Configuración del microcontrolador ATmega328P fuera de Arduino UNO

Para poder utilizar el microcontrolador ATmega328P de forma independiente fuera de


la tarjeta Arduino, es necesario realizar el siguiente proceso, ya que la Arduino UNO
tiene pre-cargado el Bootloader a diferencia del microcontrolador. Para realizar la carga
del Bootloader en el microcontrolador se utilizará el siguiente material:

• 1 Arduino UNO
• 1 microcontrolador ATmega328P
• 1 resistencia de 10 kΩ
• 1 oscilador de 16MHz

Ya que se cuenta con el material anteriormente mencionado, es necesario identificar la


correspondencia de pines entre el microcontrolador ATmega328P y Arduino UNO,
como se muestra en la figura 3.6.

43 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 3.6. Correspondencia de pines entre microcontrolador ATmega328P y Arduino UNO

Ya que se conoce la correspondencia de pines entre Arduino UNO y el


microcontrolador ATmega328P, se procederá a utilizar el Arduino UNO para
configurarlo como programador.

Para configurar el Arduino UNO como programador se debe cargar el código


“ArduinoISP” que está disponible desde el menú Archivo/ Ejemplos/ ArduinoISP como
se muestra en la figura 3.7. Realizado esto, el proyecto es cargado en la tarjeta Arduino
UNO.

44 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 3.7. Proyecto “ArduionoISP”

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.

Figura 3.8. Configurar Arduino as ISP

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.

Figura 3.9. Circuito para cargar Bootloader en ATmega328P

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.

Figura 3.10. Cargar Bootloader en ATmega328P

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.

Figura 3.11. Configurar Arduino UNO a su valor predeterminado AVR ISP

Figura 3.12. Circuito para cargar código en ATmega328P

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.

3.12 Diseño de nodo Maestro y nodo Esclavo

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:

• Placa de fibra de vidrio.


o 5 placas de 5x6 cm cada una.
• Microcontrolador ATmega328P.
o 1 por circuito.
• Oscilador cristal de 16 MHz.
o 1 por circuito.
• Transceptor nRF24L01.
o 1 por circuito.
• Diodo Zener 1N5231B (5.1 Volts).
o 1 por circuito.
• Diodo Zener 1N746A (3.3 Volts).
o 1 por circuito.
• Resistencia de 1/4 de watt.
o 1 resistencia de 10K ohms por circuito.
o 1 resistencia de 220 ohms por circuito.
o 1 resistencia de 100 ohms por circuito.
48 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

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

El circuito es alimentado por dos baterías de 9 volts cada una asegurando el


funcionamiento óptimo del dispositivo periférico (nRF24L01). Se regula el voltaje
haciendo uso de un Diodo Zener para cada batería, de modo que para el dispositivo
periférico se alimentara con 3.3 volts y los demás componentes del circuito con 5 volts.
Debido a que el microcontrolador era el segundo dispositivo más sensible a las
variaciones de voltaje, se fijó su alimentación de 5 volts, así evitando a que llegue a
valores críticos de alimentación según su hoja de especificaciones.

Figura 3.13. Esquemático de nodo Maestro

49 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Figura 3.14. Esquemático nodo Esclavo

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

Figura 3.16. Circuito impreso con componentes integrados

Para los Nodo Esclavo se realizaron cuatro placas.

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

Tabla 4.1. Tabla de conexión Arduino UNO – nRF24L01


Módulo nRF24L01 Pin Arduino
VCC 3,3V
GND GND
MISO 12
MOSI 11
SCK 13
CE 8
CSN 7

Figura 4.1. Diagrama de conexión Arduino UNO – nRF24L01

Arduino Transceptor Transceptor Arduino


nRF24L01 Espacio Libre nRF24L01
UNO UNO

Figura 4.2. Diagrama a bloques de conexión de prueba para módulos nRF24L01

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

3.2 Resultados de conexión inalámbrica punto a punto

Después de realizar el desarrollo mencionado en el apartado 4.1 se obtuvo una


conexión inalámbrica bidireccional exitosa, logrando obtener transmisión y recepción
con los módulos nRF24L01, encendiendo un LED cuando se recibiera información
como se observa en las figuras 4.3, 4.4, 4.5.

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

Figura 4.4. Recepción de información en un módulo nRF24L01

Figura 4.5. Recepción de información en ambos módulos nRF24L01

56 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

4.3 Resultados

Figura 4.6. Primeras pruebas del funcionamiento del circuito impreso

En la figura 4.6 se observan las primeras pruebas a una distancia de aproximadamente


10 metros, en las cuales los dispositivos aún se encontraban fuera de sus estuches y
se utilizaba la placa Arduino como fuente alimentación. Dichas pruebas resultaron
exitosas al obtener comunicación entre los dispositivos.

Figura 4.7. Pruebas de funcionamiento

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.

Figura 4.8. Solución al problema de alcance

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.

4.4 Valoración de resultados

Para obtener un funcionamiento óptimo de los transmisores fue necesario cambiar la


forma en la que se alimentaba el dispositivo, pasando de usar solamente una batería a
usar dos, ya que para el uso prolongado que se pretende, se necesita suficiente
energía para alimentar el dispositivo periférico nRF24L01 y el resto de los
componentes, así como el microcontrolador. Con esto se modificó el código del
programa para que la transmisión tuviera una respuesta más rápida sin importar el
consumo de energía.

58 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Aparte de ello, al colocar los dispositivos en sus respectivos estuches, se produjo un


problema de alcance, puesto que el dispositivo periférico al estar encerrado, transmitía
a una distancia más corta comparada con el alcance que tiene el dispositivo fuera del
estuche, para lo cual se propuso la apertura de una rendija lo suficientemente grande
para que la antena pudiera sobresalir del estuche, solucionando así el problema de
alcance.

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.

Segundo, se realizó satisfactoriamente la conexión entre los microcontroladores y los


dispositivos de radiofrecuencia a través de un puerto SPI y por medio de sus líneas
lógicas configurar a cada dispositivo como Maestro (microcontrolador) y esclavo
(dispositivo de radiofrecuencia), realizar una sincronización de los dispositivos y
obtener una comunicación Esclavo – Maestro y Maestro – Esclavo, con lo cual se
confirmó la sencillez de utilización de este protocolo de comunicación.

Tercero, se realizaron exitosamente las conexiones inalámbricas entre los distintos


nodos, formando una red de tipo estrella, utilizando un Maestro y cuatro Esclavos, con
base a la investigación realizada acerca de las librerías del microcontrolador para la
utilización del protocolo SPI, con las cuales se logró la conexión inalámbrica y distinción
de cada nodo esclavo con una letra especifica asignada a cada uno, para ser enviada
en la banda de 2.4 GHz y ser recibida por el nodo maestro y activar el led
correspondiente.

El proyecto engloba distintas ramas de conocimiento. Fue necesario reforzar


conocimientos en electrónica, programación y comunicaciones, así como, conocer el
funcionamiento del protocolo SPI, el cual fue la clave de la conexión entre los
microcontroladores y los dispositivos periféricos de radiofrecuencia.

60 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Este proyecto queda abierto a posteriores investigaciones, teniendo en cuenta que la


red implementada es escalable y es posible utilizar dispositivos de mayor calidad para
obtener mayores rangos de alcance entre nodos.

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.

[3] http://docwiki.cisco.com/wiki/Token_Ring/IEEE_802.5 (30/06/15, 8:05 am)

[4] http://store.arduino.cc/product/A000066 (20/09/15, 7:16 pm)

[5] https://www.arduino.cc/en/Main/arduinoBoardUno (20/09/15, 7:16 pm)

[6] Arduino Microcontroller Processing for Everyone!: Third Edition, Steven F. Barrett

[7] Arduino: curso práctico de formación, Óscar Torrente Artero

[8] http://panamahitek.com/como-funciona-el-protocolo-spi/ (19/10/2015, 11:53 AM)

[9] IEEE 802.15.1 Part 15.1: Wireless Medium Access Control (MAC) and physical layer
(PHY) specifications for personal area networks, 2005.

[10] Redes WPAN – Análisis y Mejoras aplicadas a Sistemas Embebidos, Tesis de


Magister en Ingeniería, Guillermo Reggiani, Universidad Nacional del Sur, Argentina,
2010.

62 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

[11] https://github.com/stanleyseow/arduino-nRF24L01 (10/11/15, 9:35 am)

[12] http://tmrh20.github.io/RF24/ (11/11/15, 9:43 am)

[13] http://tmrh20.github.io/RF24Mesh/ (11/11/15, 10:37 am)

[14] http://tmrh20.github.io/RF24Network/ (11/11/15, 12:15 pm)

[15] Redes de computadoras, Andrew S. Tanenbaum, David J. Wetherall, quinta


edición, 2012, Editorial Person.

[16] IEEE std. 802.2, Logical Link Control, 1998

63 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

ANEXOS

64 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Hojas de datos de los dispositivos utilizados


Transceptor nRF24L01

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

I Código 1 Pruebas de comunicación punto a punto

#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>

// Emisor/Receptor inalambrico nRF24L01

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

//Evento de recepcion de caracteres desde el PC


void serialEvent()
{
char inchar = (char)Serial.read();
// Añadimos el caracter recibido a la cadena
inputstring += inchar;
// Fin de la cadena, recibido <CR>
if(inchar == '\r') {input_stringcomplete = true;}
}
void loop()
{
// Si se escribe algo por el puerto Serie lo envia.
if (input_stringcomplete)
{
inputstring.toCharArray(cadena, 10);
transmit(cadena);
transmitlf();
Serial.print("Yo: ");
Serial.println(inputstring);
input_stringcomplete = false;
inputstring = "";
}
// Esperando recepción
byte strin;
pinMode(2,OUTPUT);
// strin = Serial.read();
if( Mirf.dataReady() )
{
Mirf.getData(&strin);

71 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Serial.print("El otro: ");


digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
Serial.println(strin);
}
}

72 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

II Código 2 (Nodo Maestro)

#include "RF24Network.h"

#include "RF24.h"

#include "RF24Mesh.h"

#include <SPI.h>

//Include eeprom.h for AVR (Uno, Nano) etc. except ATTiny

#include <EEPROM.h>

/***** Configuración en la elección de pines CE,CS *****/

RF24 radio(9,10);

RF24Network network(radio);

RF24Mesh mesh(radio,network);

uint32_t displayTimer = 0;

void setup()

// Se coloca como 0 el nodeID para el Nodo Maestro

mesh.setNodeID(0);

// Se conecta a la red

mesh.begin();

void loop() {

// Se actualiza la red para agregar Nodos Esclavo a la red

73 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

mesh.update();

// Se asignan direcciones para cada Nodo Esclavo desde el Nodo Maestro

mesh.DHCP();

//Comienza la rutina para recibir la información

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

// Pregunta si existe información entrante

if(network.available())

RF24NetworkHeader header;

network.peek(header);

uint32_t dat=0;

switch(header.type)

// Selecciona la rutina dependiendo del encabezado que recibió de los Nodos


Esclavo

case 'M': network.read(header,&dat,sizeof(dat));

digitalWrite(2,HIGH);

delay(100);

digitalWrite(2,LOW);

Serial.println(dat);

break;

74 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

case 'N': network.read(header,&dat,sizeof(dat));

digitalWrite(3,HIGH);

delay(100);

digitalWrite(3,LOW);

Serial.println(dat);

break;

case 'O': network.read(header,&dat,sizeof(dat));

digitalWrite(4,HIGH);

delay(100);

digitalWrite(4,LOW);

Serial.println(dat);

break;

case 'P': network.read(header,&dat,sizeof(dat));

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

III Código 3 (Nodo Esclavo)

#include "RF24.h"

#include "RF24Network.h"

#include "RF24Mesh.h"

#include <SPI.h>

#include <EEPROM.h>

/**** Configura los pines CE and CS ****/

RF24 radio(9, 10);

RF24Network network(radio);

RF24Mesh mesh(radio, network);

#define nodeID 2

uint32_t displayTimer = 0;

struct payload_t {

unsigned long ms;

unsigned long counter;

};

void setup() {

mesh.setNodeID(nodeID);

// Conectando a la Red

Serial.println(F("Connecting to the mesh..."));

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);

// Mandando al Nodo Maestro

if (push!=0)

displayTimer = 1;

// Define el al Nodo Esclavo como P

if (!mesh.write(&displayTimer, 'P', sizeof(displayTimer)))

77 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

IV PCB Nodo Maestro

78 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

V PCB Nodo Esclavo

79 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Glosario

Periférico: Dispositivo que permite operaciones de entrada/salida, almacenamiento o


comunicación.

Nodo: Punto de intersección o unión de varios elementos que confluyen en el mismo


lugar

Host: Cualquier dispositivo en una red que tenga una dirección, un nodo.

Protocolo: Conjunto de normas o reglas que especifican el intercambio de información


durante la comunicación entre las entidades que forman parte de una red.

Trama: Unidad de envío de datos que contiene cabecera, datos y cola.

Piconet: Red de pequeño tamaño que interconecta dos o más dispositivos, incluyendo
un Maestro y múltiples Esclavos.

Transceptor: Dispositivo que realiza las tareas de transmisor y receptor.

Bootloader: Programa que carga un código cuando un dispositivo es encendido.

80 | P a g e
ESIME ZACATENCO | INSTITUTO POLITECNICO NACIONAL

Abreviaturas

WPAN: Wireless Personal Area Network (Red de Área Personal inalámbrica)

SPI: Serial Peripheral Interface (Interfaz Periférica Serial)

UWB: Ultra Wide Band

RX: receptor

TX: transmisor

MOSI: Master Out Slave In

MISO: Master In Slave Out

CLK: Clock

SS: Slave Select

GND: Ground

OSI: Open Systems Interconnection

ISO: International Standard Organization

81 | P a g e

You might also like