Área de Tecnologías de la Información
Programa Académico de Infraestructura de Redes Digitales
Materia: Electrónica para I d C
Título: Conexión Arduino-Wi-Fi
Profesor(a): Mario Cruz Alcaraz
Alumno(a): García López David Alessandro Hernández Guzmán Alfonso Porras Noriega Fátima Abigail Rodríguez Hernández Braulio Arturo
Grupo: IRD-401
León, Guanajuato. 31 de octubre de 2019
INTRODUCCIÓN El documento presente explicará la teoría y las distintas aplicaciones del módulo wifi ESP8266 que nos permite establecer comunicación con el mundo a través de internet.
El ESP8266 es un chip integrado con conexión Wi-Fi que permite a los microcontroladores conectarse a una red. Este dispositivo lleva una gran ventaja por encima de otros ya que es el producto ideal para wearables y dispositivos del IoT.
Este módulo fue creado en China por la empresa Espressif en agosto del 2014. Empezó con su versión básica ESP-01, pero debido a la falta de documentación, se empezaron a crear firmwares que permitieran traducir la documentación al mundo.
Presentaremos el esquema del módulo y la manera de configurarlo a la tarjeta de Arduino, además de su funcionamiento e importancia en la vida actual. Finalmente veremos también las distintas aplicaciones para desarrollar proyectos con éste y sus ejemplos.
DESARROLLO El wifi es un mecanismo de conexión de dispositivos electrónicos de forma inalámbrica. Los dispositivos habilitados con Wi-Fi como Arduino pueden conectarse a internet a través de un punto de acceso de red inalámbrica.
Para Arduino es posible añadirle conectividad Wi-Fi de forma muy sencilla y ampliar las posibilidades de este microcontrolador con comunicación inalámbrica Wi-Fi.
Hay varias formas de añadir hardware Wi-Fi a Arduino, ya sea con un shield, una breakout board específica, con microcontroladores que tenga Wi-Fi integrado o con placas Arduino que tenga chip Wi-Fi en la misma placa.
En esta ocasión explicaremos el módulo Wi-Fi Serial ESP8266
¿Qué es el módulo ESP8266? El ESP8266 Wi-Fi Module es un chip integrado compatible con el protocolo TCP/IP, diseñado para comunicarse con el mundo de Internet a través de señales de radio Wi-Fi.
Este pequeño módulo permite a los microcontroladores conectarse a una red Wi-Fi y realizar conexiones TCP/IP sencillas, pero su objetivo principal es dar acceso a cualquier microcontrolador a una red.
El módulo Wifi Serial ESP8266 ofrece una solución completa y muy económica para conexión de sistemas a redes Wi-Fi, permitiendo al diseñador delegar todas las funciones relacionadas con Wi-Fi y TCP/IP del procesador que ejecuta la aplicación principal. El módulo Wi-Fi serial ESP8266 es capaz de funcionar como “adaptador de red” en sistemas basados en microcontroladores que se comunican con él a través de una interfaz UART.
El ESP8266 se trata posiblemente del módulo Wi-Fi serial más económico en el mercado y que además concentra las características mínimas necesarias para poder utilizarse sin problemas.
Características/Especificaciones La empresa Espressif nos facilita una hoja de especificaciones y características técnicas para un mejor funcionamiento del módulo, éstas son las siguientes:
Hardware •
Utiliza una CPU Tensilica L106 32-bit
•
Voltaje de operación entre 3V y 3,6V
•
Corriente de operación 80Ma
•
Temperatura de operación -40°C y 125°C
Conectividad •
Soporta IPv4 y los protocolos TCP/IP/UDP/HTTP/FTP
•
El HTTPS no lo soporta en un principio, pero lo hace mediante un software.
Puertos GPIO •
Tiene 17 puertos GPIO pero sólo se pueden usar 9 o 10. El GPIO16 es especial ya que está conectado al RTC (Real Time Clock).
•
Pueden ser configurados con resistencia Pull-up o Pull-down.
•
Soporta los principales buses de comunicación (SPI, I2C, UART).
Características eléctricas •
Voltaje de trabajo entre 3V y 3,6V.
•
Según noticias del propio CEO de Espressif, admite tensiones de entrada de 5V e los puertos GPIO.
Consumos •
Dependerá de diferentes factores como el modo en el que esté trabajando el ESP8266, de los protocolos que estemos utilizando, de la calidad de la señal Wi-Fi y sobre todo de si enviamos o recibimos información a través de la Wi-Fi. Oscilan entre los 0,5 μA (microamperios) cuando el dispositivo está apagado y los 170 mA cuando transmitimos a tope de señal.
Modos de operación Debido a los sectores a los que va enfocado, wearables, dispositivos del IoT y móviles, el ESP8266 requiere de una gestión de energía eficaz. Dispone de una arquitectura de bajo consumo que trabaja en 3 modos: •
Active mode o modo activo: a pleno rendimiento.
•
Sleep mode o modo dormido: solo el RTC (Real Time Clock) está activo para mantener la sincronización. Se queda en modo alerta de los posibles eventos que le hagan despertar. Mantiene en memoria los datos de conexión.
•
Deep sleep o modo en sueño profundo: el RTC está encendido pero no operativo. Debe pasar por el modo dormido antes de despertar. Hay que llevar especial cuidado con los datos ya que en este estado es como si estuviera apagado y todos los datos que no estén almacenados se pierden.
Usos del ESP8266 El módulo se puede trabajar de modo suelo o integrado dentro de un PCB (Printed Circuit Board), aunque también tenemos la posibilidad de utilizarlos en la placa Arduino donde ya viene integrado.
El uso que se le dará dependerá si lo tenemos como chip o como módulo. Dentro de la gran cantidad de usos, podemos mencionar: •
Electrodomésticos conectados.
•
Automatización del hogar y de la industria.
•
Casas inteligente.
•
Monitor de bebés.
•
Cámaras IP.
•
Redes de sensores.
•
Wearables.
•
IoT (Internet of Things o Internet de las Cosas)
•
IIoT (Industrial Internet of Things o Internet de las Cosas para el sector Industrial)
•
Y cualquier aplicación donde se requiera conexión a una red o a Internet.
Funcionamiento/Conexión •
El ESP8266 trabaja a 3,3 V ya que si se conecta por error a 5 V es muy probable que se dañe a corto plazo, especialmente si se usa de forma intensiva.
•
Además de la alimentación será necesario conectar la entrada y salida serie RXD y TXD a las correspondientes del microcontrolador y activar el integrado conectando a nivel alto el pin CHPD (chip-enable).
•
Según la versión de firmware que incluya el módulo, el pin RST debe o no ser conectado a tensión (3,3V) para poder activar el uso del módulo.
•
El módulo podría funcionar dejando al aire el pin RST (reset) pero, para evitar que cualquier alteración electromagnética pudiera resetearlo, lo más recomendable es conectar también RST a nivel alto.
•
Nunca conectaremos las líneas de comunicación serie a los pines 0 y 1 del Arduino, siempre intentaremos usar otros pines y dejar estos libres para la comunicación vía USB.
Configuración/Programación El ESP8266 se programa utilizando comandos AT; cuando se recibe, responde con un acuse de recibo. El ESP8266 se alimenta con una fuente de alimentación de 3,3 voltios, un Arduino podrá encender el ESP a través de su pin de alimentación regulado de 3,3 V. El ESP8266 está conectado al Arduino a través de los pines TXD, RXD, GND y VCC a los pines RX, TX, GND y 3.3 V, respectivamente. El TX recibido del Arduino debe conectarse a un divisor de voltaje para que el RXD del ESP8266 reciba una señal de lógica de 3.3 voltios y no de 5 voltios. Si la señal se recibe en 5 voltios, el ESP8266 funcionará mal.
Los tres pasos para la programación son: 1. Conexión 2. Programa vacío → subirlo 3. Abril la terminal (donde aparecerá que está listo) 4. Comenzar con los comandos Hay muchos comandos AT que pueden ser usados para programar el módulo. Los comandos AT o Hayes son instrucciones codificadas que conforman un lenguaje de comunicación entre el hombre y un terminal modem, el ESP8266 utiliza estos para su funcionamiento.
Los siguientes comandos AT deben ser escritos (en orden) en la terminal de Arduino: COMANDOS EN ORDEN Verifica si el módulo o sistema de ordenes está
AT
conectado y está funcionando apropiadamente.
AT + RST
Reinicia el módulo Wi-Fi. Muestra información sobre la versión de
AT + GMR
firmware instalada en el módulo. Detecta los puntos de acceso y sus intensidades
AT + CWLAP
de señal disponibles en el área. Presenta redes disponibles.
AT+CWLAP=”SSID”,”Contraseña”
AT AT + CWJAP = ””, ””
AT+CWMODE=3
Conecta al módulo al punto de acceso indicado por el SSID usando la clave especificada. Si el usuario desea desconectarse de cualquier punto de acceso. Se cambia al modo 3 (el más recomendable) ya que por defecto viene en el modo 1.
OTROS COMANDOS
AT+CWMODE?
Pregunta en qué modo está trabajando o verifica que esté funcionando.
AT+CIFSR
Muestra la dirección IP que está asignada.
AT+CWQAP
Desconecta el punto de acceso. Muestra una lista de las direcciones IP de los
AT+CWLIF
dispositivos conectados al módulo en modo punto de acceso.
Módulos ESP-XX Al igual que con Arduino, donde trabajamos con la placa o circuito integrado, con el ESP8266 ocurre exactamente lo mismo. Se nos proporciona la serie ESP con diferentes modelos para diferentes usos. ESP-01 Tiene disponible dos pines GPIO digitales para controlar sensores y actuadores. También se puede llegar a utilizar para este uso los pines Rx y Tx si no se utilizan para la comunicación a través del puerto serie. Se puede programar a través de un adaptador serie/USB. Los conectores que vienen por defecto no permiten conectarlo a la protoboard. Lo podemos usar como un dispositivo autónomo o como complemento con Arduino. ESP-05
Está destinado a ser un Shield Wifi para Arduino. La disposición de los pines nos permite un fácil conexionado con la protoboard. Por el contrario no dispone de ningún puerto GPIO accesible.
ESP-12
Permite hacer bastantes más cosas que los módulos anteriores. Tenemos acceso a 11 puertos GPIO de los cuales uno, es analógico con una resolución de 10-bit (1024 valores posibles). La configuración en modo dormido es muy sencilla.
ESP-201 Es el módulo preferido por los Makers para prototipar. Sólo podemos acceder a 11 puertos GPIO pero tras unas modificaciones, podríamos acceder a un par más de ellos. Lo podemos encajar fácilmente en una protoboard y permite el acople de una antena externa para tener más alcance. NodeMCU El NodeMCU es el módulo más característico de este tipo. A diferencia de los otros módulos, viene con todo lo necesario para empezar a trabajar de forma autónoma. Incluye un adaptador serie/USB y se alimenta a través del microusb. Está basado en el ESP-12. Lo más interesante de este módulo es que puedes descargar un firmware que te permite programar en lenguajes como LUA, Python, Basic o JavaScript. Sin duda alguna este módulo es la mejor opción si queremos adentrarnos en el mundo del ESP8266.
CONCLUSIONES Hoy en día, conocer y saber del Wi-Fi es completamente necesario si de alguna u otra manera necesitamos conectar dos dispositivos de una forma inalámbrica. El Wi-Fi es de gran importancia ya que nos permite conectarnos sin la necesidad de usar cables reales.
Al finalizar el presente documento, pudimos concluir que el saber manejar estos módulos de Wifi es de gran importancia para todos ya que las aplicaciones que se le dan son muy comunes pero importantes para el desarrollo humano.
Como bien mencionamos, estos módulos pueden ser usados por ejemplo en una automatización del hogar y la industria, en casas inteligentes, en cámaras ip, en redes de sensores, para el Internet de las Cosas e Internet de las Cosas para el sector Industrial, o también para cualquier aplicación donde se requiera conexión a una red o a internet.
En pocas palabras, la red de redes es una ventana al mundo y, ahora con estos módulos que son fáciles de manejar, el internet y el acceso a él es un servicio al alcance de todos.
La importancia radica en que nos mantenemos informados, desempeñamos nuestros trabajos, nos mantenemos en contacto con las demás personas o incluso llevamos a cabo acciones cotidianas de una forma más sencilla que hace unos años.
Finalmente, creemos que en los próximos años, el ESP8266 o en general los módulos Wifi serán un chip que deberemos tener muy en cuenta en el desarrollo del IoT, IIoT y la industria 4.0. Todo gracias a su bajo coste, su bajo consumo y, cada vez, su facilidad de uso.