Está en la página 1de 94

Dedicado a la Memoria de

2
CURSO IOT & IIOT

Presentación del Curso

Instructor: Alberto Valdez


3
Logotipos Propiedad de: Arduino, Espressif y NodeMCU
IOT & IIOT
OBJETIVO GENERAL DEL CURSO:
 Conocer el concepto general de IOT & IIOT y su importancia en la
actualidad.
 Conocer los aspectos generales y operativos de los módulos Espressif
ESP8266.
 Conocer los aspectos básicos de las redes de comunicación.
 Programar mediante el IDE de Arduino, los módulos ESP8266 a través
de la tarjeta de desarrollo Node MCU V2.
 Realizar diversas prácticas relacionadas con sus modos de operación.
 Uso de la librería para manejo de datos a través del Protocolo
Industrial Modbus TCP y su comunicación en red WiFi.
 Manejo básico del software SCADA IGNITION y su configuración para
comunicación con dispositivos remotos mediante Modbus TCP vía
WiFi.

4
IOT & IIOT
CONTENIDO
 PROLOGO
 INTRODUCCION A IOT & IIOT
 C.I. ESP8266 DE LA FIRMA ESPRESSIF
 LENGUAJES DE PROGRAMACION PARA EL ESP8266
 CONCEPTOS BASICOS DE REDES
 ARQUITECTURA DE RED CON ESP8266
 MODOS DE OPERACIÓN DEL ESP8266
 PREPARACION DEL ESP8266 PARA SU PROGRAMACION
 COMANDOS AT BASICOS
 PROGRAMACION DE ESP8266 CON IDE DE ARDUINO
 CONCEPTO DE CLIENTE Y SERVIDOR
 MODULO ESP8266 COMO SERVIDOR
 MODULO ESP8266 COMO CLIENTE
 INTRODUCCION AL PROTOCOLO MODBUS TCP
 LIBRERÍA ARDUINO PARA RED MODBUS TCP
 CONEXIÓN DEL MODULO ESP8266 A SCADA IGNITION

5  APLICACIÓN BLYNK PARA CONEXIÓN Y CONTROL DE MODULO ESP8266 POR INTERNET


IOT & IIOT

DURACION Y HORARIOS
 4 Sábados

 21 y 28 de Octubre, 4 y 11 de Noviembre de 2017

 Horario: 8:00 am – 1:30 pm

 Receso: 10:30 am - 11:00 am

6
IOT & IIOT

MATERIAL Y EQUIPO REQUERIDOS


 Módulo ESP8266-12 (NodeMCU ESP-12E)

 Protoboard

 Componentes electrónicos diversos (LEDs, Botones pulsadores,


Potenciómetro)
 Cables para conexión

 Computadora Portátil con Win7 o superior

 Versión del software de Arduino más reciente

 Instalar complemento para módulos ESP8266

7
IOT & IIOT
SOFTWARE
 Arduino IDE Versión más actualizada

 SCADA Ignition (32 ó 64 bits)

 AVReporter Modbus Communication Tester

 Flasher (32 ó 64 bits)

 Termite ó cualquier Hyperterminal

 Blynk – Descargar para Android ó IOS

 Modbus Droid – Descargar para Android

LIBRERIAS
 ESP8266WiFi
 Blynk
 BlynkESP8266_Lib

8
 ModbusTCPSlave
IOT & IIOT

METODOLOGIA DE TRABAJO EN RED


 Las Laptop, se conectarán a la Red Local Inalámbrica (WiFi)
identificada como minibotics. El instructor les proporcionará la clave
de acceso.
 Para evitar los problemas derivados por la cantidad de direcciones IP
del sistema, no conectar sus celulares u otros equipos a la red
minibotics.
 Se asignará una direccción IP a cada dispositivo ESP8266 para evitar
duplicidad de direcciones. Cada computadora también tendrá
asignada una dirección IP en forma manual para poder trabajar en la
red local (LAN). El instructor asignará las direcciones e indicará el
procedimiento para su configuración.

9
Arquitectura de la Red

10
Proceso de Conexión

La Red principal WiFi


1 SSID: MINIBOTICS
Password: sensores

Todas las
computadoras,
2 deberán
conectarse a la
Red por WiFi

Todos los
módulos
ESP8266,
3 deberán
conectarse a
la Red por
WiFi
11
PROLOGO

REVOLUCION INDUSTRIAL

13
¿ESTAMOS VIVIENDO UNA NUEVA
REVOLUCIÓN INDUSTRIAL?

Carbón Petroleo Energía Nuclear Energías Renovables


Máquina de Vapor Electricidad Electrónica (PLC) Conectividad
14 Linea de Ensamble Robótica,Informática Sistemas Fisico Cibernéticos
4ª REVOLUCION INDUSTRIAL

Impresión 3D
Nanotecnología
Biotecnología

Robótica Procesos de
Energías Renovables Manufactura

15
4ª REVOLUCION INDUSTRIAL
Impresión 3D
Nanotecnología

Conectividad
Robótica

Energías Renovables

Procesos de
Manufactura

Biotecnología

16
PROCESO
INDUSTRIAL

17
TECNOLOGIA INDUSTRIAL
Informática Mecánica
Eléctrica

Electrónica
Redes/Telecomunicación

18
TECNOLOGIA INDUSTRIAL

Eléctrica
Informática

Máquina ó Sistema

Electrónica
Redes/Telecomunicación

Mecánica

AUTOMATIZACION
19
AUTOMATIZACION INDUSTRIAL
• La AUTOMATIZACION (del griego antiguo auto, “guiado por uno
mismo”) es la ejecución autónoma, repetitiva y coordinada de las
tareas necesarias para realizar un proceso en forma óptima,
ajustando su desempeño a los lineamientos establecidos por el
usuario.
• La AUTOMATIZACION INDUSTRIAL emplea sistemas o elementos
computarizados y electromecánicos para controlar maquinarias o
procesos industriales.
• En la actualidad, como una disciplina de la ingeniería más amplia
que un sistema de control, abarca la instrumentación industrial,
que incluye los sensores y actuadores de campo, los sistemas de
control y supervisión, los sistemas de transmisión y recolección de
datos y las aplicaciones de software en tiempo real (SCADA) y
terminales HMI para supervisar y controlar las operaciones de
plantas o procesos industriales.
• La AUTOMATIZACION INDUSTRIAL emplea tecnología:
•Neumática – movimientos lineales y rápidos.

•Hidráulica – movimientos de alta potencia.


ROBOTICA
•Mecánica – mecanismos y accionamientos. INDUSTRIAL
•Eléctrica – motores y elementos de control.

•Electrónica - control y comunicaciones.

20
PIRAMIDE DE LA AUTOMATIZACION

21
PIRAMIDE DE LA AUTOMATIZACION

Software
(SCADA),
Pantallas y
Terminales
HMI

Controladores
(PLC, Drivers,
Arduino, Etc.)

Sensores y
Actuadores

22
Listos? . . . . . .
IOT & IIOT

INTRODUCCION

24
IOT
Internet Of Things – Internet de las Cosas
• Es un concepto que se refiere a la interconexión digital de objetos
cotidianos a través de internet.
• El concepto de internet de las cosas lo propuso Kevin Ashton en el
Auto-ID Center del MIT en 1999, donde se realizaban investigaciones
en el campo de la identificación por radiofrecuencia en red (RFID) y
tecnologías de sensores.
• El IOT debería codificar de 50 a 100,000 billones de objetos y seguir el
movimiento de estos; se calcula que todo ser humano está rodeado de
por lo menos 1000 a 5000 objetos. Abi Research, asegura que para el
año 2020 existirán 30 mil millones de dispositivos inalámbricos
conectados al Internet (www.abiresearch.com). Ellos manejan el
concepto de IOE (Internet of Everything).
• Con la próxima generación de aplicaciones de Internet (protocolo IPv6)
se podrían identificar todos los objetos, algo que no se podía hacer
con IPv4. Este sistema sería capaz de identificar instantáneamente por
25 medio de un código a cualquier tipo de objeto.
IIOT
Industrial Internet Of Things – Internet Industrial de las Cosas
• Internet Industrial de las Cosas (IIoT), se define como el uso de
tecnologías de Internet de Cosas (IoT) en la automatización Industrial.
• También conocido como el Internet Industrial, IIoT incorpora el control
de la máquina y la tecnología de grandes volúmenes de datos (big
data), aprovechando los datos de sensores, comunicación de máquina-
a-máquina (M2M) y las tecnologías de la automatización que han
existido en configuraciones industriales por años.
• La filosofía de conducción detrás del IIoT es que las máquinas
inteligentes pueden llegar a ser mejores que los seres humanos en la
captura y comunicación de datos con precisión y coherencia.
• Estos datos pueden permitir a las empresas captar con anticipación las
ineficiencias y los problemas, ahorrando tiempo y dinero y apoyando
la toma de decisiones en las empresas para lograr una mejor
competitividad.

26
IIOT
Industrial Internet Of Things – Internet Industrial de las Cosas
• Específicamente en lo que respecta a la fabricación, IIoT tiene un gran
potencial para el control de calidad, las prácticas sostenibles y verdes y
la trazabilidad y eficiencia de la cadena de suministro.
• Una preocupación importante que rodea IIOT, es la interoperabilidad
entre dispositivos y máquinas que utilizan diferentes protocolos y
tienen diferentes arquitecturas. El Consorcio de Internet Industrial,
fundado en 2014 (http://www.iiconsortium.org/), se centra en la
creación de estándares que promueven la interoperabilidad abierta y
el desarrollo de arquitecturas comunes.

27
IOT && IIOT
PROTOCOLOS IP:
• Total de espacio IPv4: 4,294,967,296 direcciones.

• Total de espacio IPv6:


340,282,366,920,938,463,463,374,607,431,768,211,456 direcciones.

Ejemplo IPv4 (32 bits en 4 octetos con números decimales 0-255):


192.168.0.1
Ejemplo IPv6 ( 128 bits en 8 secciones de 16 bits con números
hexadecimales 0-FFFF):
2607 : f0d0 : 4545 : 3 : 200 : f8ff : fe21 : 67cf

28
IOT & IIOT
• Actualmente, el término internet de las cosas se usa con una
denotación de conexión avanzada de dispositivos, sistemas y servicios
que va más allá del tradicional M2M (máquina a máquina) y cubre una
amplia variedad de protocolos, dominios y aplicaciones.

29
ESP8266EX

HARDWARE

30
• La empresa Espressif Systems, de China (www.espressif.com), desarrolló
un dispositivo de control pensando en el concepto IOT. El circuito
integrado ESP8266EX Contiene embebido un microcontrolador Tensilica
con un puente WiFi. Este dispositivo fue desarrollado en 2014, lo cual
indica al día de hoy que es un producto de muy nueva creación. Es muy
compacto y se puede encontrar en tarjetas pre-ensambladas ó sistemas
de desarrollo para una mejor conexión de sus terminales a muy bajo
costo. Cuenta con la mayoría de las prestaciones que ofrecen los
microcontroladores comerciales.

31 PMU – Power Management Unit


ESP8266
• Módulos comerciales:
ESP-07
ESP-05

ESP-01

NodeMCU

ESP-12

32
ESP8266
• Características principales:
ESPECIFICACIONES
Voltaje 3.3V (considerar para pines y ADC)
Consumo de Corriente 10uA – 110 mA. Pin: 12 mA.
Memoria Flash 4MB (10,000 ciclos de borrado)
Procesador Tensilica Xtensa LX106 32 bits
Velocidad 80 – 160MHz
GPIO’s 17 (multifuncionales) - SPI, UART, I2C
ADC 1 (10 bit) Máx 1Volt.
Soporte 802.11 b/g/n/ (+ 19.5dBm en modo b)
Conexiones TCP concurrentes Máx. 5
2.4GHz. 14 canales. Soporta WPA y
Frecuencia de operación WiFi
WPA2
Conexión WiFi Directa P2P, soft-AP
Protocolos que soporta IPv4/TCP/UDP/HTTP/FTP

802.11 – Estándar para el funcionamiento en una WLAN dBm – decibelio mili Watt
b/g/n – variantes del estándar, principalmente para WPA – Acceso Inalámbrico Protegido
transmisiones a 2.4GHz y diferentes velocidades de Soft-AP – Software Enabled Acces Point
33 transmisión. P2P – Point to Point
Terminales
ESP-01

34
Terminales

Función Descripción
TX Terminal Transmisión Serial
RX Terminal de Recepción Serial (Máx. 3.3V)
Chip enable. Debe estar en 1 para su operación normal:
CH_PD 0 - Deshabilita
1 - Habilita
Reset externo.
RST 0 – Reset
1 – Normal
Pin E/S. Se activa al reiniciar. Debe estar en bajo para
GPIO 0
programar.
GPIO 2 Pin E/S. Se activa al reiniciar.
VCC 3.3V (NO COMPATIBLE CON 5V)
GND Tierra
35
Modulo NodeMCU (ESP8266-12E)

36
ESP8266

LENGUAJES DE PROGRAMACION

37
ESP8266
Lenguajes de Programación
El Módulo ESP8266 puede ser programado actualmente mediante:
• Lenguaje BASIC – Cargar Web Server

• Comandos AT – Cargar Firmware

• Lenguaje LUA – Cargar Firmware

• Código Arduino – No requiere Firmware, solo instalar complemento.

En cada caso, es necesario realizar ciertas acciones para preparar el


hardware correctamente.

38
ESP8266
LENGUAJE BASIC
El legendario lenguaje BASIC adaptado para estos módulos es una herramienta simple y
gratuita para su programación. Los creadores de esta herramienta, proporcionan toda la
información necesaria para trabajar en este lenguaje, mediante la carga de un firmware
(Firmware Flash) que hace trabajar el módulo como un «servidor» que trabaja como un
editor al conectarnos a él a través de una IP. Para más detalles, visite
http://www.esp8266basic.com/

39
ESP8266
COMANDOS AT
Los comandos AT es un método clásico de programación para terminales seriales,
utilizado antiguamente para configurar los Módems de comunicaciones. Existe
una lista específica de comandos que soporta este dispositivo. Se transmiten vía
serial a través de una terminal serial (Hyperterminal o cualquier software similar)
y con ello se configura y opera el dispositivo. Es necesario cargar un firmware
para que pueda operar en este modo.

40
ESP8266
LENGUAJE LUA
Lua fue creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo y
Waldemar Celes, miembros del Grupo de Tecnología en Computación Gráfica
(Tecgraf) en la Pontificia Universidad Católica de Río de Janeiro. Está basado en C
y Perl con una estructura similar. El nombre significa «luna» en portugués. Lua es
utilizado para procesar datos de entrada a sistemas complejos, configurar
aplicaciones, controlar hardware, etc. Actualmente, para programar los Módulos
ESP8266 es muy utilizado el IDE ESPlorer (http://esp8266.ru/esplorer/) que
permite programar y al mismo tiempo disponer de una terminal serial para
monitoreo. Para utilizar este lenguaje, es necesario utilizar el software ESP8266
Flasher para cargar el firmware NodeMCU y pueda funcionar.

41
Software ESPlorer y lenguaje LUA

42
ESP8266
ARDUINO IDE
El Entorno de Desarrollo Integrado (IDE) Arduino, tal vez el más utilizado
alrededor del mundo para la programación de microcontroladores, gracias a un
complemento que podemos descargar y agregar en la lista de tarjetas a
programar, es posible en forma muy rápida y simple, iniciar con la programación
de estos dispositivos. No requiere de la instalación de ningún firmware en
particular, ya que el programa se graba directamente en la memoria Flash del
dispositivo. Para fines prácticos, este curso tratará lo relacionado al manejo de
estos módulos con Arduino.

PROGRAMACION CON IDE DE ARDUINO


Antes de iniciar, es importante preparar el escenario para trabajar. Es importante
contar con una conexión a Internet. Es necesario preparar el escenario para
Arduino.

43
REDES INFORMATICAS

CONCEPTOS GENERALES

44
• Una Red Informática, es un conjunto de equipos interconectados entre sí a través de
algún medio físico, en forma alámbrica o inalámbrica, con el objeto de enviar y recibir
información entre ellos.

• Las Redes, nos sirven para compartir archivos, recursos, dispositivos (impresoras),
aplicaciones (programas), conexiones (internet), etc.

Tipos de Redes:

Básicamente, existen cuatro tipos de redes, en base a su alcance (ámbito geográfico):

• LAN (Local Area Network – Red de Area Local). Distancia limitada a la capacidad de
transmisión de los equipos.

• WAN (Wide Area Network – Red de Area Amplia). No tiene limites de distancia.

• MAN (Metropolitan Area Network – Red de Area Metropolitana). Area de 50 km.

• PAN (Personal Area Network – Red de Area Personal). No mayor a 20 mts.


45
REDES INALAMBRICAS

• Una Red Inalámbrica, es aquella red LAN que no requiere de cables para poder
interconectar a sus equipos ya que transmite la información a través de radio
frecuencia, generalmente a una frecuencia de 2.4 GHz o superior. Actualmente se le
conoce como comunicación Wireless, mejor conocida como WiFi.

• WiFi. Es una marca de la Alianza Wi-Fi, la organización comercial que adopta, prueba y
certifica que los equipos cumplen con los estándares 802.11 relacionados a redes
inalámbricas de área local.

• Los dispositivos habilitados con wifi (como una computadora personal, un televisor
inteligente, una videoconsola, un teléfono inteligente o un reproductor de música)
pueden conectarse a internet a través de un punto de acceso de red inalámbrica. Dicho
punto de acceso tiene un alcance entre 20 y 50 metros en interiores, alcance que
incrementa al aire libre (desde 100 mts hasta 35 Km o más).

• Los equipos certificados con este tipo de conectividad, contienen el siguiente logotipo,
propiedad de la Alianza Wi-Fi:

46
REDES INALAMBRICAS

• La FCC fue creada en 1934 con la Ley de Comunicaciones y es


la encargada de la regulación (incluyendo censura) de
telecomunicaciones interestatales e internacionales por radio,
televisión, redes inalámbricas, teléfonos, satélite y cable.

• La FCC otorga licencias a las estaciones transmisoras de radio


y televisión, asigna frecuencias de radio y vela por el
cumplimiento de las reglas creadas para garantizar que las Logotipo
tarifas de los servicios por cable sean razonables. La FCC Oficial
regula los servicios de transmisión comunes, por ejemplo, las
compañías de teléfonos y telégrafos, así como a los
proveedores de servicios de telecomunicaciones
inalámbricas.

• Desde 1977 también se encarga de la elaboración de


normativas de Compatibilidad electromagnética, en lo que se
refiere a productos electrónicos para el consumidor; es muy
habitual ver en etiquetas, placas o manuales de muchos
aparatos eléctricos de todo el mundo el símbolo de la FCC y la
Declaración de Conformidad del fabricante hacia sus
especificaciones, que suponen una limitación de las posibles
emisiones electromagnéticas del aparato, para reducir en lo
47
posible las interferencias (electromagnéticas) dañinas, en
principio en sistemas de comunicaciones.
Imagen propiedad de: https://www.thinglink.com/scene/592308854188933120 48
Equipos más utilizados en las Redes Informáticas: Router/AP

• Router/Acces Point (Ruetador / Punto de Acceso). Son


dispositivos que sirven para interconectar diversos
equipos a una o varias redes. Por ejemplo, pueden
enlazar una red LAN con una red WAN. Existen Routers
tanto alámbricos como inalámbricos (WiFi).

• Switch ó Hub (Conmutador o concentrador)). Sirve para


unir físicamente las líneas de transmisión (cables) a un Ethernet
solo punto en común. Generalmente, el switch Swith
concentra todas las conexiones físicas de los equipos y
puede a su vez ser conectado a un Ruteador para poder
enlazarlos con otras redes o equipos.

• Tarjeta de Red. Cada dispositivo a conectarse


(Computadoras, impresoras, dispositivos, etc.) deberá
contar con la electrónica adecuada para poder
conectarse a una Red, esta puede ser a través de un
cable, por ejemplo RJ-45 CAT-5 o bien, Tarjetas de
inalámbricamente a través de transmisión WiFi. Red

• Adicional o en conjunto con estos dispositivos, se


emplea software especializado para poder realizar la
configuración y enlace de los equipos conectados a la
Red y crear por ejemplo, Servidores o Bases de Datos. 49
Topologías de Red:

• En base a su conexión, exiten


diversas topologías ó formas de
conectar los dispositivos a una
Red.

• Las más utilizadas, son las de Bus


y Estrella, sin embargo, es posible
encontrar cualquiera de estos
tipos o combinación de algunas
de ellas.

• Cada forma ofrece determinadas


ventajas y desventajas operativas
para adaptarse a una
determinada Red.

Imagen :http://www.monografias.com/trabajos53/topologias-red/topologias-red.shtml 50
• Las direcciones IP (IP - Internet Protocol – Protocolo de Internet) son un número único
e irrepetible con el cual se identifica una computadora o equipo conectado a una red
que opera con el protocolo IP.

• Una dirección IPv4, es un conjunto de cuatro números del 0 al 255 separados por
puntos. Por ejemplo, 192.168.0.1

• En realidad una dirección IP es una forma más sencilla de comprender números muy
grandes. En la actualidad, son muy utilizadas en el protocolo de comunicación
Ethernet (que es el que utiliza el Internet).

• Para obtener un bloque de direcciones de Internet, generalmente debes solicitarlo a tu


upstream provider (proveedor de Internet). Tu proveedor puede imponer las
condiciones y políticas que considere convenientes para administrar sus bloques de
direcciones.

• Para dar direcciones a Redes no conectadas directamente a Internet, se han reservado


algunos bloques de direcciones privadas. Estas direcciones pueden ser usadas por
cualquier persona en Redes Internas pero no pueden ser ruteadas a la Internet global.
51
32 bits

Red Host

8 bits (= 1 octeto) 8 bits 8 bits 8 bits

4 valores decimales, separados por un punto


(0-255)

52
Los bloques de direcciones privadas son:

• CLASE A: de 1.0.0.0 – 126.0.0.0 (2,097,152 direcciones).


• CLASE B: de 128.0.0.0 – 191.255.0.0 (4,194,304 direcciones).
• CLASE C: de 192.0.0.0 – 223.255.255.0 (65,536 direcciones).

Un ejemplo de IP muy utilizado en redes locales privadas (LAN) para dispositivos


(computadoras, impresoras, cámaras web, PLC´s, Drivers, sensores, etc.) es:

192.168.x.x

En donde: x son valores de 0-255.

53
• La dirección MAC (Media Access Control – Control de Acceso a Medio) es una
etiqueta de 48 bits (12 caracteres hexadecimales) que identifica una tarjeta
de red de manera única e inequívoca en el mundo.

• Este dato no depende del protocolo de conexión utilizado ni de la red: es un


valor fijado por el fabricante de la tarjeta que (normalmente) no se puede
cambiar porque viene grabado en el hardware de esta.

• Está determinada y configurada por el IEEE (los últimos 24 bits) y el


fabricante (primeros 24 bits).

• Ejemplo: 0A:0F:20:4D:04:FF

54
• La máscara de red o subred es una combinación de bits que sirve para
delimitar el ámbito de una red de ordenadores.​ Su función es indicar a los
dispositivos qué parte de la dirección IP es el número de la red, incluyendo la
subred, y qué parte es la correspondiente al host.

• La máscara de red, determina si un sistema (ordenador, puerta de enlace,


router, etc...) debe enviar un paquete dentro o fuera de la subred en la que
está conectado.

• Por ejemplo, si el router tiene la dirección IP 192.168.1.1 y máscara de red


255.255.255.0, entiende que todo lo que se envía a una dirección IP con
formato 192.168.1.X, se envía hacia la red local, mientras que direcciones con
distinto formato de direcciones IP serán buscadas hacia afuera (internet, otra
red local mayor, etc.).

55
56
ESP8266

PREPARACION PARA SU PROGRAMACION

57
• Dependiendo del método de programación empleado, es necesario instalar
en el dispositivo, el firmware adecuado.

• Si se va a programar en el lenguaje nativo (LUA) es necesario cargar un


firmware llamado INTERNAL://NODEMCU.

• Si se va a programar por comandos AT, se requiere el firmware mas


actualizado para este fin. En este curso, se emplea la versión 1.5.2.

• Si se va a programar por el IDE de Arduino, no requiere ningún firmware, solo


se requiere instalar un complemento, mas adelante se explica el
procedimiento.

58
• Para cargar el firmware adecuado, se emplea el programa ESP8266Flasher.
Hay una versión para sistemas operativos Windows de 32 y de 64 bits.

59
ESP8266

PROGRAMACION BASICA COMANDOS AT

60
• Los comandos AT tienen su origen en los antiguos Modems de transmisión de
datos seriales, inventados por la firma Modicom.

• AT signigica «ATENTION» (atención) y es un lenguaje de comunicación


bidireccional P2P (point to point – punto a punto) en donde se envia un
comando con una serie de datos y se obtiene una respuesta.

• Para el caso de los módulos ESP8266, existe una lista de comandos AT que se
actualiza según el firmware que este vigente. Se requiere de algún software
que sirva como hiperterminal para la comunicación serial entre la PC y el
módulo.

• Para ESP8266, existen comandos que dan como respuesta alguna información
que se solicita, otros configuran alguna operación y otros modifican
parámetros o modos operativos.

• Se recomienda ver el manual de comandos AT del fabricante y el documento


Anexo 1 y Anexo 2 de este curso. 61
ACTIVIDADES:

• Se recomienda ver el manual de comandos AT del fabricante y el documento


Anexo 2 de este curso.

• Seguir el procedimiento del Anexo 1.

62
ESP8266

PROGRAMACION CON IDE DE ARDUINO

63
ESP8266
PREPARACION DE SOFTWARE
 Descargar la versión más actualizada
del IDE de Arduino de su página web:
https://www.arduino.cc/en/Main/Soft
ware.
 Instalar el complemento para los
módulos ESP8266 siguiendo los
siguientes pasos:
 Ejecutar el IDE de Arduino.
 Click en: Archivo>Preferencias.
 En el recuadro del gestor de tarjetas,
colocar la siguiente liga:
 http://arduino.esp8266.com/stable/pa
ckage_esp8266com_index.json

64
ESP8266
 En el menú Herramientas, seleccione Placa>Gestor de tarjetas

65
ESP8266
 En el recuadro Type, seleccione Contribuited

 Ubicar esp8266 by ESP8266 Community y dar click sobre él.

66
ESP8266
 Al ejecutar lo anterior, aparece un recuadro para seleccionar la versión. Seleccione la
más actual que se muestre y después, click en Install.

 Comenzará un proceso automático de descarga. Asegúrese estar conectado a Internet.


Este proceso puede tardar algunos minutos, dependiendo de la velocidad de su
conexión.

67
ESP8266
 Al finalizar, aparece el mensaje INSTALLED.

68
ESP8266
Seleccionar el Módulo a utilizarse:
 En el IDE de Arduino, seleccione: Herramientas>Placa>Generic ESP8266 Module ó
NodeMCU según sea el caso.

ESP8266-01 NODEMCU 1.0

69
ESP8266
 Una vez seleccionado, vuelva a entrar al menú Herramientas y verifique los siguientes
datos de la placa seleccionada como se muestra a continuación:

NODEMCU

Importante: el dato de Puerto, es el que le sea asignado a su convertidor USB a Serial


el cual se explicará más adelante. Por el momento, no es importante el dato ya que
70
posteriormente lo vamos a actualizar al correcto para cada caso.
 PREPARACIÓN DEL HARDWARE:

NodeMCU
(ESP-12E)
Cable USB
a micro USB

Protoboard Componente Cables


s

71
ESP8266
 DIAGRAMA BASICO CON MODULO NODEMCU-ESP12E

72
ESP8266
 EJEMPLO MONTAJE EN PROTOBOARD

73
74
75
ESP8266

MODOS DE OPERACION

76
EL ESP8266 tiene la posibilidad de operar en 3 modos:

• Modo Estación (STA - Station)


• Modo Punto de Acceso (AP – Access Point)
• Modo STA y AP

MODO STA
En el modo Estación WiFi, sólo puede ser conectado a un punto de acceso,
mediante un SSID (Identificador Establecido para el Servicio - Service Set
Identifier) y si lo requiere, un PASSWORD. Generalmente opera como un Cliente.

MODO AP
En el modo AP WiFi, puede contener un SSID y un PASSWORD e interconectar
como punto de acceso hasta 5 dispositivos. Generalmente opera como un
Servidor.

MODO STA/AP
En este modo, puede trabajar simultáneamente como una estación o como un
punto de acceso. Puede ser un Cliente o un Servidor o ambos. 77
78
79
ESP8266

CONCEPTO DE CLIENTE Y SERVIDOR

80
CLIENTE Y SERVIDOR

CLIENTE:
Es el que pide un servicio, por ejemplo de Internet o Intranet. Los usuarios utilizan la parte cliente de la
aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que
utiliza el protocolo TCP/IP como transporte.

Las funciones que lleva a cabo el proceso cliente son las siguientes:
 Administrar la interfaz de usuario.
 Interactuar con el usuario.
 Procesar la lógica de la aplicación y hacer validaciones locales.
 Generar requerimientos de bases de datos.
 Recibir resultados del servidor.

81
CLIENTE Y SERVIDOR

SERVIDOR:
Es una aplicación que ofrece un servicio a usuarios, por ejemplo de Internet. El servidor es un programa
que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una
respuesta. Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo
tiempo.

Las funciones que lleva a cabo el proceso servidor son las siguientes:
 Aceptar los requerimientos de bases de datos que hacen los clientes.
 Procesar requerimientos de bases de datos.
 Genera y procesa datos para trasmitirlos a los clientes.
 Procesar la lógica de la aplicación y realizar validaciones.

82
1

83
2

84
3

85
4

86
CLIENTE Y SERVIDOR
CLIENTE- SERVIDOR:
Un ejemplo simple de un sistema Cliente-Servidor, es el que se lleva a cabo en Internet. Cuando
abrimos una página web, el navegador nos solicita una dirección IP (192.168.1.100) o un DNS
(www.algo.com). Al conectarse a la dirección, da como respuesta una información, inclusive, podemos
solicitar dentro de la página mas información o bien, llenar formularios o introducir datos que se nos
solicitan para obtener alguna respuesta. En este ejemplo, el cliente somos nosotros que mediante el
navegador, nos conectaremos a un Servidor (en este ejemplo, la página web que contiene la dirección
que solicitamos).

87
ESP8266
 El módulo ESP8266 puede conectarse inalámbricamente a una red mediante un
dispositivo administrador de la red, como un AP o un Router, accesando con el nombre
de usuario y contraseña de la misma. Puede operar como un cliente o un servidor. El
dispositivo administrador de la red le asignará una IP por la cuál es posible conectar al
módulo, o bien el usuario puede asignarle una. Mediante una PC y por ejemplo, con un
navegador de internet, podemos visualizar la información que proporciona el dispositivo.

WiFi

LAN

WAN
Http://www. MODEM/ROUTER/AP
ESP8266
IP: 192.168.0.100
IP: 192.168.0.254

88 PC
IP: 192.168.0.101
CLIENTE Y SERVIDOR

EJEMPLO CLIENTE - SERVIDOR:


Un buen ejemplo de un cliente – servidor, es utilizar dos módulos ESP8266. El primero, funciona como
un cliente en modo STA, que se conectará a un servidor en modo AP.

El objetivo, es que el cliente a través de comandos HTTP, controle el encendido y apagado de un Led
controlado por el servidor. Lo anterior, lo podemos llamar «Control Remoto por WiFi», cuya ventaja es
la distancia a la que puede transmitir la señal (entre 30 y 100 mts aproximadamente).

A continuación, realizar la siguiente práctica, en conjunto con un compañero en donde se define uno
como cliente y el otro como servidor. El cliente cargará en su módulo la práctica 6 TX, el servidor la
práctica 6 RX .

89
1

90
2

91
3

92
1

93
2

94

También podría gustarte