internet de las cosas...internet de las cosas sistemas embebidos avanzados ing. martín castro...

44
INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro

Upload: others

Post on 19-Aug-2020

1 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

INTERNET DE LAS COSAS

Sistemas Embebidos Avanzados

Ing. Martín Castro

Page 2: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Evolución de la Internet

IoT puede pensarse como la última fase conocida de internet

Page 3: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

ConexionesLos cuatro pilares

● PERSONA-PERSONA (P2P)

● MÁQUINA-PERSONA (M2P)

● MÁQUINA-MÁQUINA (M2M)

● PERSONAS

● PROCESOS

● DATOS

● OBJETOS

IoT se logra conectando los 4 pilares mediante una o varias conexiones distintas

Page 4: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

¿Que es IoT?Es un sistema de dispositivos informaticos,

maquinas digitales y mecanicas, objetos,

personas o animales provistas de un

identificador único que poseen la habilidad de

transferir información a través de la red sin

intervención de tipo persona-persona (P2P) o

persona-máquina (P2M)

Hoy se predice que para el 2020, 50 billones de dispositivos estarán conectados a internet

Page 5: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Areas de aplicacion

Page 6: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Modelo

Page 7: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Comunicaciones (repaso)

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

Mensaje enviado Mensaje recibido

Emisor Receptor

Capas Modelo ISO

Medio de comunicación

Page 8: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Comunicaciones: encapsulamiento

Cabecera de presentación

Mensaje de la capa de aplicación

Cabecera de sesión

Cabecera de transporte

Cabecera de red

Page 9: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Comunicaciones: TCP/IP

Mensajes (UDP) o Streams (TCP)

Aplicación

Transporte

Interred

Paquetes UDP o TCP

Datagramas IP

Marcos específicos de red

MensajeCapas

Red subyacente

Interfaz de red

Page 10: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Encapsulamiento bajo TCP/IP

Mensaje de aplicación

Cabecera TCP

Cabecera IP

Cabecera

Ethernet

Marco Ethernet / WiFi

Puerto

TCP

IP

Page 11: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Vista conceptual para programación

IP

Aplicación Aplicación

TCP UDP

Page 12: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Protocolos de comunicación

Physical and Local link

Internet Protocol

Transport

Application HTTPS

CoPA XMPP

MQTT

UDP TCP

IPv4/6 6LoWPANRPL

NFCWiFi Bluetooth

802.15.4ETH

ZigBee

GSMLTE

RFID

AMQPDDS

Application

Presentation

Session

Transport

Network

Data Link

Physical

OSI Model TCP/IP Model IoT Protocols

Page 13: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Ejemplos Capas Física y enlace de datos

● Velocidades: 10/100 Mbps, 1 Gbps, 10Gbps, 40Gbps, 40-00 Gbps (fibra)

● CSMA/CD

● Cada computadora debe tener Network interface card (NIC) y cada NIC tiene una dirección MAC (Media Access Control) única de 48 bits:

● Capacidad Broadcast y Multicast: mediante direcciones reservadas

● Best-effort delivery: No se no garantiza ni confirma recepción

● Control de errores básico

ETHERNET/802.3

● Velocidades: de 2 Mbps a 1.73 Gbps o más

● Existencia de múltiples formatos de tramas para soportar las funciones del protocolo (autenticación, asociación, data, management, etc.)

● Opera en spread-spectrum con canales en las bandas de 2.4 y 5 GHz

● Implementa encriptado de la información

802.11/WiFi

Page 14: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

ETHERNET / 802.3 Frame

Carrier Sensing Multiple Access with Collection Detection (CSMA/CD):

● Originalment todas las estaciones conectadas a un cable

● Carrier sensing: Estaciones escuchan por la presencia de portadora.

● Multiple Access with Collision detection: Al detectarse una colisión, se reintenta con períodos crecientes.

(Comparación con protocolos tipo Token Ring)

Page 15: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

802.11/WiFi FramesTrama genérica

Trama RTS

Page 16: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Stack TCP/IPDatagrama IP

Page 17: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Stack TCP/IPPaquetes UDP/TCP

Header UDP Header TCP

Page 18: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Stack TCP/IPIntercambio de Paquetes TCP

Page 19: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Stack TCP/IPIntercambio de Paquetes TCP

Page 21: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Capas superiores (aplicación)

● Protocolo liviano de mensajería

● Corre en la capa superior de software sobre tcp/ip

● Arquitectura de publish/subscribe

● Modelo de comunicación asincrónico con mensajes

(eventos)

● Desacople clientes-emisor y cliente-receptor a través de

subscripciones a tópicos (colas de mensajes)

● Ideal para dispositivos con baja capacidad

procesamiento

● Redes con baja tasa de transmisión, de alta latencia,

conexiones débiles, límites de datos

● Multiplicidad de niveles de servicios agregados al propio

de tcp (qos)

● Fácil de implementar con pocos comandos

MQTT (Message Queuing Telemetry Transport)

Page 22: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

CLIENTES: Suscriben a los topics para enviar y recibir

información.

MQTT

BROKERS: Servidor que implementa el protocolo, hace

de mediación entre la comunicación entre clientes

(sensores y dispositivos) y la capa de integración del

usuario final.

TOPICS: Técnicamente es la cola de mensajes. Estos

permiten el intercambio de mensajería, obviamente

bajo cierta estructura semántica.

TRAMA:

2 bytes fijos para el encabezado

Page 23: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

PUBLISH:

MQTT

SUBSCRIBE:

Page 24: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

HTTP (Hypertext Transfer Protocol )● Protocolo para entregar mensajes hipermedia orientado a transacciones (document centric

MIME)

● Corre en la capa superior de software sobre tcp/ip

● Arquitectura de request/response

● Connectionless: Cliente se conecta hace el request, se desconecta y espera que el servidor,

procese y restablezca conexión para el response.

● Media independent: cualquier tipo de dato se puede transmitir. (cliente-servidor deben ser

capaces de procesarlo)

● Stateless: Cliente-Servidor son conscientes unos de otros solo en el momento de la conexión.

(cookies para sesión)

URI: Cadena de caracteres

que identifica los recursos

de una red de forma

unívoca

Pueden ser URL, URN o

ambos

Page 25: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

HTTPMÉTODOS REQUEST

● GET

● POST

● PUT

● DELETE

● CONNECT

CÓDIGOS RESPONSE

● 1XX

● 2XX

● 3XX

● 4XX

● 5XX

TRAMA (HTTP/2 version)

● CABECERA de 9 bytes

● 16.384 < Largo < 16.777.215

AJAX

LLamadas JS +

XMLHttpRequest

API-REST

● Protocolo cliente/servidor

sin estado

● Operaciones definidas

(métodos)

● Sintaxis universal

(direccionalidad a través de

URIs)

● Uso de hipermedios (HTML,

XML, JSON, etc)

Page 26: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

MQTT vs. HTTPMQTT HTTP

Orientación del dato Centrado en la información Centrado en el documento

Transacción del mensaje Publish/Subscribe Request/Response

Complejidad del protocolo Simple Complejo

Tamaño del mensaje Pequeño (header: 2 bytes) Mayor (usa formato de texto no

binario)

Nivel de servicios Tres configuraciones Todos los mensajes por igual

Librerías Librerías para: C (30 KB) Java

(100 KB)

Depende de la aplicación

(JSON, XML) pero normalmente

no muy pequeñas

Configuración de la

comunicacion

Soporta desde 1 a 0 a 1 a

muchos

Solo 1 a 1

Page 27: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

● Protocolo de mensajería basado en XML

● Servidores y clientes gratuitos

● Adoptado por Facebook, Whatsapp, Nimbuzz etc

● Originalmente P2P, adoptado M2M para intercambio de mensajes XML

XMPP (Extensible Messaging and Presence Protocol)

Ventajas

1. Descentralizado

2. Seguridad

3. Flexibilidad

Desventajas

1. Sobrecarga de datos en presencia

2. Escalabilidad

3. Datos NO BINARIOS

DESCENTRALIZACIÓN Y DIRECCIONAMIENTO: Basada en servidores NO HAY NINGÚN SERVIDOR CENTRAL.

Existe un servidor XMPP publico en jabber.org cualquiera puede poner en marcha el propio, comúnmente a

través del puerto 5222.

Page 28: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Clientes Servidores Librerías

Page 29: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

● Especificación industrial WPAN

● Diseñado para bajo consumo, corto alcance de emisión y

transceptores de bajo costo

● Opera en 2.4 GHz a 2.8 GHz

● Posibilidad de transmitir full-duplex

BLUETOOTH

POTENCIA DE TRANSMISIÓN

ANCHO DE BANDA

ESPECIFICACIÓN

SEGÚN MODELO OSI

BLE, ULP Y SMART BLUETOOTH

Transmite su información en rafagas,

economizando energía poniéndose a dormir

Page 30: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

RFID● Chip emite peticiones por radio

al lector, este responde y coteja

con una base de datos

❏ Pasivos

❏ Semiactivos

❏ Activos

TAGS

DISTANCIA Y FRECUENCIA

DE TRANSMISIÓN

APLICACIONES

❏ Logística

❏ Identificación de animales

❏ MErcadotecnia/ Eventos

Page 31: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

NFC● Comunicación por inducción de un campo magnético

● Frecuencia: 13,56 MHz, Proximidad: 10 cm, tiempo de

enlace NFC: 200 us, velocidad de transmisión: 106, 212,

424 o 848 Kb/s

● Basada en ISO 14433

● Dos modos: activo o pasivo

❏ Lectura/escritura

❏ Identificación

❏ Acceso físico

❏ Tarjetas de fidelización

❏ Pagos

Aplicaciones

Page 32: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

BASES DE DATOSRELACIONALES

NO RELACIONALES

❖ Basadas en el modelo relacional,

relaciones: conjunto de datos

(tuplas)

❖ Garantiza duplicidad, integridad

referencial

❖ Comprensible y aplicable

❖ Deficiencias con datos gráficos

❖ No se manipulan eficientemente

como texto o tipo de dato

❏ SQLite

❏ PostgreSQL

❏ MySQL

❏ MongoDB

❏ Redis

❏ CouchDB

❏ LevelDB

❖ No contienen un esquema definido

❖ Mejor manejo de grandes

volúmenes de datos (1M registros)

❖ Escalado horizontal y estructura de

datos más simples

❖ Facilita la escalabilidad

❖ Orientadas a objetos (XML, JSON) o

claves.

Page 33: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

SEGURIDAD1 - Deficiencia técnica

4 - Dificultad para monetizar

la seguridad

Aspectos a resolver por fabricantes de dispositivosAutomotriz Industria Casas/Edificios inteligentes

Componentes disponibles son ineficaces

Falta de componentes que ofrezcan soluciones end-to-end eficaces

Clientes no están dispuestos a pagar por productos mejorados en aspectos de seguridad

Las compañías tienen problemas para introducir soluciones de software

2 - Estándares de seguridad inmaduros

Grandes empresas compiten por desarrollarlos

Organizaciones industriales no crean estándares acorde a la velocidad de desarrollo de los nuevos dispositivos.

Las partes interesadas no saben quien y como van a ser establecidos

3 – Enfoque incorrecto de la

seguridad (commodity)

Falta de visión por parte de usuarios finales de IoT

Falta de visión por parte de de fabricantes de semiconductores

Page 34: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

SEGURIDADPrincipales recursos:

1. Autentificación: 1. Protocolos que soportan a nivel de dispositivo

2. Encriptado:1. Asegurar privacidad e integridad de la

información en la comunicación entre protocolos

(WPA2, PPSK, etc)

3. Protección del puerto:1. Asegura que solo los puertos necesarios para

comunicarse con el gateway queden abiertos a

conexiones externas

2. Todos los demás deben ser protegidos por

firewalls

SEGURIDAD END-TO-END

Page 35: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Presentación de la informaciónMontaje local: ● Desarrollo de interfaz

multiplataforma (Página web)○ Implementación en plataformas

relativamente poco poderosas

○ Disponibilidad de librerías (JS) y técnicas de

programación (AJAX)

○ Generalmente JS, HTML y CSS (front-end)

o php (back-end)

● Servers locales + dashboards○ Necesidad de plataforma con SO

○ Herramientas poderosas (BDs,

dashboards)

○ Variedad lenguajes, librerías y paquetes a

trabajar (NodeJS, JSON, SQL, etc)

Page 36: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Arquitectura orientada a servicios SOA● Contrato de servicio estandarizado

● Bajo acoplamiento

● Abstracción

● Autonomía

● Sin estado

● Garantizar su descubrimiento

● Preparado para ser usado en composiciones

Monolíticos vs Microservicios● Libertad de desarrollar y desplegar de forma

independiente

● Se pueden usar diferentes lenguajes de programación

● Fácil de integrar

● Fácil de escalar e integrar con aplicaciones de terceros

● Funcionalidad modular

● Equipo de trabajo mínimo

Page 37: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

● Web Services:

Componentes de aplicaciones web que permite resolver el problema de interoperabilidad dando a

distintas aplicaciones una manera de unir/distribuir su información según corresponda.

● HOSTING Y VISUALIZACIÓN DE LA INFORMACIÓN

● DISPARO DE EVENTOS (SMS, Telegram, e-mail, etc)

● DASHBOARD

● ANALITICA

● LIBRERÍAS PARA DISPOSITIVOS

● SOPORTE TÉCNICO

Montaje en la nube:

Page 38: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

AWS

Page 39: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Elección del Hardware

● Seguridad

● Facilidad de desarrollo

● Adquisición, procesamiento y almacenaje de la información

● Requerimientos de Conectividad

● Requerimientos energéticos

● Requerimientos del desarrollo del producto

● Requerimientos de costos

Requerimientos

Page 40: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Oferta de módulos disponibles en el mercado● ESP8266

○ Diversas versiones

○ Muy Económico (En argentina $140 ARS - Exterior desde $2 USD)

○ MCU de 32 Bits a 80 Mhz

○ RAM de instrucción de 64 KB, RAM de datos de 96 KB

○ Capacidad de memoria externa flash SPI (puede soportar hasta 16 MB)

● EMW3165○ MCU: Cortex M4 de STM a 100Mhz

○ RAM: 128KB

○ Flash interna: 512KB

○ Memoria SPI de 2MB incluida

○ Costo en Argentina $400 - Exterior $8 USD

Page 41: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Oferta de módulos disponibles en el mercado● Photon

○ MCU: Cortex M3 de STM a 120Mhz

○ RAM: 128KB

○ Flash interna: 1MB

○ Costo en Argentina $750 - Exterior $19 USD

○ API open source muy desarrollada

○ Opción de Web IDE

○ Plataforma en la nube “Particle”

● Photon P0 (Módulo solo)○ Costo $10 USD

Page 42: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Comparación HardwareBare-metal SO

Page 43: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

Bibliografía● Introduccion a la Internet de las cosas (IdC) https://www.netacad.com/campaign/iot-es-

1?utm_source=Facebook&utm_medium=CPC&utm_campaign=IoTLook&utm_content=26

● Kolban’s book on ESP8266

● Building a smarter planet solutions with MQTT and IBM WebSphere MQ Telemetry

● https://ubidots.com/

● https://nodered.org/

● https://www.particle.io

● https://seeedstudio.com

● “Internetworking with TCP/IP, Vol. III: Client-Server Programming and Applications” - Douglas E.

Comer

● “An introduction to MQTT a protocol for M2M and IoT applications” - Peter R. Egli

● https://www.ibm.com/developerworks/library/iot-lp101-best-hardware-devices-iot-project/index.html

Page 44: INTERNET DE LAS COSAS...INTERNET DE LAS COSAS Sistemas Embebidos Avanzados Ing. Martín Castro Evolución de la Internet IoT puede pensarse como la última fase conocida de internet

¿PREGUNTAS?