meetup embedded iot colombia · 2015-10-29 · agenda objetivo meetup 15.5 tipos de dispositivos...

30
Meetup IoT Colombia Meetup 15.5 Dispositivos de interconexión a internet y practica con ESP8266 + Arduino Jueves, 14 Octubre de 2015 HackBo Hacker Space

Upload: others

Post on 30-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Meetup

IoT Colombia

Meetup 15.5 Dispositivos de interconexión a internet

y practica con ESP8266 + Arduino

Jueves, 14 Octubre de 2015

HackBo Hacker Space

Page 2: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Hola!

Jorge Ernesto Guevara C. Ingeniero de Sistemas - Miembro de HackBo

[email protected]

@jegc_

Andres Kwan Orjuela Ingeniero Electrónico

[email protected]

@andreskwan

Gabriel Enrique Garcia R. Ingeniero Mecatrónico

[email protected]

@GabrielGarciaR

Organizadores del Meetup 15.5

Page 3: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Agenda

Objetivo Meetup 15.5

Tipos de dispositivos comerciales en Colombia para

Interconexión a la red.

Proyectos y aplicaciones IoT.

El ESP8266, clases y caracteristicas.

Practica basica del funcionamiento del ESP8266 y Arduino.

Conclusiones y Preguntas.

Agradecimientos y Networking.

Page 4: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

1.

Objetivo Meetup

15.5

Page 5: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

“ En este Meetup 15.5, evaluaremos

algunos dispositivos para conectividad a

la red disponibles en el mercado

colombiano, con los cuales podemos

implementar el concepto de IoT a

nuestros proyectos.

Page 6: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

2. Tipos de dispositivos

comerciales en Colombia para

interconexión a la red.

Page 7: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Shield WiFi CC3000

El módulo Shield CC3000 es un dispositivo que se ha

encargado de romper barreras gracias a su usabilidad,

precio y excelente capacidad. Esta board usa

comunicación SPI (no UART), por lo que la

transferencia de datos es tan lenta o tan rápida como el

usuario la desee, esto ya depende de la aplicación a

llevar a cabo.

Este Shield posee un sistema adecuado de interrupción

a través de un pin IRQ, obteniendo así conexiones así-

ncronas. Este módulo es soportado por protocolo

802.11b/g, con seguridad open/WEP/WPA/WPA2,

TKIP y AES. Está board está diseñada en base a la

librería computacional BSD manejando así los

protocolos TCP/IP, TCP y UDP como cliente y servidor,

con hasta 4 conexiones de socket simultáneas.

Page 8: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Arduino WiFi Shield R3

Se basa en el controlador WiFi HDG204,

802.11b/g, WEP y WPA/WPA2 Personal, stack

de red (IP) con capacidad para TCP y UDP,

antena integrada, conector para tarjetas de

memoria microSD. Con el

microcontrolador Atmega 32UC3 y con la tarjeta

de memoria por medio del la interfaz SPI a

través del conector ICSP, esto ocupa los pines

digitales 11, 12 y 13 en la

Arduino Duemilanove y Uno, y pines 50, 51 y

52 en el Mega. Además en todas estas boards

(Incluyendo la Leonardo) el pin 10 se utiliza

para seleccionar el HDG204, el pin 7 para

handshake entre la shield y el Arduino base, el

pin 4 para seleccionar la tarjeta microSD.

Page 9: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Arduino YUN

Combina el chip del modelo Leonardo

(ATMega32U4) junto con un módulo SOC

(System-On-a-Chip) corriendo una distribución de

Linux llamada Linino, basada en OpenWRT. Una

de las características más interesantes es que

soporta red cableada Ethernet y Wifi.

El chip Arduino está conectado al módulo Linux,

por lo que es muy fácil que se comuniquen entre

ambos y delegar procesos pesados a la máquina

Linux integrada en la placa.

Dispone de dos conexiones de red. Una red

ethernet 10/100 mbps y otra Wifi (IEEE 802.11

b/g/n, 2,4GHz) que puede montarse como cliente

o como punto de acceso.

Page 10: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Shield Ethernet W5100

Este módulo permite a una board Arduino conectarse a

internet. Está basada en el chip Ethernet Wiznet

W5100. El Wiznet W5100 tiene una pila de red IP

capaz de funcionar mediante los protocolos TCP y

UDP. Soporta hasta cuatro conexiones de sockets

simultáneas. Usa la librería Ethernet para escribir

programas que se conecten a internet usando la

Shield.

La Ethernet Shield dispone de unos conectores que

permiten conectar a su vez otras board encima y

apilarlas sobre la placa Arduino. Mediante esta board

Shield y con sus respectivas librerías, se pueden

realizar tanto un servidor web pequeño, como un

cliente. Incorpora un módulo PoE, en pocas palabras

esto es para que se pueda alimentar la board desde la

red Ethernet que se tenga. Dispone de un zócalo para

tarjetas de memoria micro-SD con el fin de almacenar

ficheros o servirlos como servidor web embebido.

Page 11: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Modulo Ethernet ENC28J60

Esta pequeña board es básicamente un controlador

Ethernet dotado de un puerto SPI (Serial Peripheral

Interface), diseñado especialmente para actuar

como un puente entre una red Ethernet y un

microcontrolador equipado con SPI. El ENC28J60

cumple con las especificaciones IEEE 802.3, e

incorpora una serie de esquemas de filtrado de

paquetes para limitar el número de paquetes

entrantes.

También provee un módulo DMA interno para

facilitar el flujo de datos y hardware específico para

el cálculo de las sumas de control (IP checksums).

La comunicación con el microcontrolador que hace

las veces de host se realizan mediante el bus SPI a

una velocidad de hasta 10Mb/s y dos pines

especiales capaces de provocar interrupciones en el

ENC28J60.

Page 12: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Modulo Inalámbrico WiFi ESP8266

Este módulo trabaja con comunicación serial, en pocas

palabras, esto significa que hace uso de transmisión

serial TX / RX para enviar y recibir buffers de Ethernet,

y del mismo modo, el uso de comandos serial para

consultar y cambiar las configuraciones del módulo

WiFi.

Esto es muy conveniente, ya que sólo requiere dos

cables (TX / RX) para la comunicación entre un

microcontrolador y WiFi, pero más importante aún,

descarga las tareas relacionadas con WiFi al módulo,

permitiendo que el código del microcontrolador no

ocupe mucha memoria.

Nos ofrece además puertos GPIO (General Purpose

Input/Output, Entrada/Salida de Propósito General) los

cuales son pines, cuyo comportamiento (incluyendo si

es un pin de entrada o salida) se puede controlar

(programar) por el usuario en tiempo de ejecución.

Page 13: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

3.

Proyectos IoT y

Aplicaciones

Page 14: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Campos de aplicación del Internet of Things

Page 15: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

4.

El Modulo ESP8266

Clases y

Caracteristicas

Page 16: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Tipos de ESP8266

Page 17: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Características del ESP8266

Protocolos soportados: 802.11 b/g/n

Wi-Fi Direct (P2p), Soft Access Point

Stack TCP/IP integrado

PLL, reguladores y unidades de manejo de energía

integrados.

Potencia de salida: +19.5dBm en modo 802.11b

Sensor de temperatura integrado.

Consumo en modo de baja energía: <10 uA

Procesador integrado de 32 bits, puede ser utilizado como

procesador de aplicaciones.

Page 18: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

5.

Practica básica de

funcionamiento del

ESP8266 + Arduino

Page 19: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Materiales de la practica y montaje

Arduino UNO

(Puede trabajar igualmente con

cualquier tipo de Arduino)

Modulo ESP8266 Tipo ESP-01

LED (Cualquier color)

PC

Page 20: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Comandos AT e instrucciones

▧Resetear = AT+RST

▧Verificar el modo de funcionamiento = AT+CWMODE?

▧Modificar el modo de funcionamiento =.

AT+CWMODE=n (Donde n puede ser 1, 2 o 3).

▧Verificar los puntos de acceso WiFi de los alrededores.

AT+CWLAP

▧Conectar al router.

AT+CWJAP=”nombre_de_red”,”clave”

▧Verificar la IP asignada al ESP8266 por el router.

AT+CIFSR

▧Habilitar múltiples conexiones simultáneas.

AT+CIPMUX=1

Arrancar un servicio número de servicio = 1 y puerto 80.

AT+CIPSERVER=1,80

▧Averiguar la velocidad de comunicación serial

AT+CIOBAUD=?

▧Modificar la velocidad de comunicación del puerto serie.

AT+CIOBAUD=xxxx (Donde xxxx puede ser 9600, 19200,

38400, 74880, 115200, 230400, 460800 y 921600,

pero el monitor serie del IDE Arduino funciona solo a 9600,

19200 y 115200. Recomendable 19200.)

▧Enviar líneas de texto.

▧AT+CIPSEND

▧Restaurar los valores de fabrica

▧AT+RESTORE

Chequear la versión del filmware

AT+GMR

Habilitar múltiples conexiones

AT+CIPMUX=1

Ayuda comando CIPSTART CORROBORAR

AT+CIPSTART=?

ACLARAR

AT+CIPSTART=0,"TCP","192.168.1.100",8080

ID de conexión,Protocolo, Server IP, puerto

ID y Longitud de la cadena a transmitir en Bytes

AT+CIPSEND=0,4

Cierra conexión TCP NO 0

AT+CIPCLOSE=0

Habilitar múltiples conexiones

AT+CIPMUX=1

AT+CIFSR

1=crea server,Puerto por 8080

AT+CIPSERVER=1,8080

Borra conexión NO.0 (La conexión la podemos cerrar desde

el cliente o desde el servidor)

AT+CIPCLOSE=0

0= Borra Server (se necesita restaurar)

AT+CIPSERVER=0

Comando para desconectar de la red.

AT+CWQAP

Page 21: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Código y programación – recepción AT

#include <SoftwareSerial.h>

SoftwareSerial BT1(3, 2); // RX | TX

void setup()

{ Serial.begin(9600);

BT1.begin(9600);

}

void loop()

{ String B= "." ;

if (BT1.available())

{ char c = BT1.read() ;

Serial.print(c);

}

if (Serial.available())

{ char c = Serial.read();

BT1.print(c);

}

}

Page 22: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Monitor serial IDE Arduino - 1

Page 23: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Monitor serial IDE Arduino - 2

Page 24: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Monitor serial IDE Arduino - 3

Page 25: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Monitor serial IDE Arduino - 4

Page 26: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Resultados y análisis de la practica

- Versatilidad del

dispositivo.

- Económico.

- Independiente.

- Compatible.

- Comercial.

- Información extensa

y ejemplos en la red.

- Variedad de

modelos y

adaptabilidad.

Page 27: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

6.

Conclusiones y

Preguntas

Page 28: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Conclusiones

▧Hemos visto un primer contacto con el módulo

WIFI ESP8266.

▧Presentamos un pequeño circuito de prueba para

conectarlo a nuestros Arduinos, sin necesidad de

programas externos de comunicación.

▧Vimos las primeras instrucciones AT que acepta

este módulo.

▧Montamos un mínimo servidor Web con nuestro

modula, apto ya para recibir instrucciones a través

de un navegador Web.

Page 29: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

7.

Agradecimientos

Page 30: Meetup Embedded IoT Colombia · 2015-10-29 · Agenda Objetivo Meetup 15.5 Tipos de dispositivos comerciales en Colombia para Interconexión a la red. Proyectos y aplicaciones IoT

Agradecimientos

Hackbo (Hackerspace Bogota)

Equipo Organizador

▧ Leandro Perez

▧ Andres Kwan

▧ Giovani García

▧ Gabriel García

▧ Jorge Guevara

IoT Colombia

http://iotcolombia.wordpress.com

@iotcolombia

[email protected]

Meetup: ioT Colombia