Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
2
CURSO IOT & IIOT
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
DURACION Y HORARIOS
4 Sábados
6
IOT & IIOT
Protoboard
7
IOT & IIOT
SOFTWARE
Arduino IDE Versión más actualizada
LIBRERIAS
ESP8266WiFi
Blynk
BlynkESP8266_Lib
8
ModbusTCPSlave
IOT & IIOT
9
Arquitectura de la Red
10
Proceso de Conexión
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?
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.
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.
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.
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
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.
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:
• 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.
• 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
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).
Red Host
52
Los bloques de direcciones privadas son:
192.168.x.x
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.
• 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.
55
56
ESP8266
57
• Dependiendo del método de programación empleado, es necesario instalar
en el dispositivo, el firmware adecuado.
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
60
• Los comandos AT tienen su origen en los antiguos Modems de transmisión de
datos seriales, inventados por la firma Modicom.
• 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.
62
ESP8266
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
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.
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.
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
NodeMCU
(ESP-12E)
Cable USB
a micro USB
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 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
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
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