26
Aplicación práctica de FIWARE al Internet de las Cosas @jgpuga Javier García Puga javiergpuga Málaga 10-11 Junio

Aplicación práctica de FIWARE al Internet de las Cosas

Embed Size (px)

Citation preview

Page 1: Aplicación práctica de FIWARE al Internet de las Cosas

Aplicación práctica de

FIWARE al Internet de

las Cosas

@jgpuga

Javier García Puga

javiergpugaMálaga

10-11 Junio

Page 2: Aplicación práctica de FIWARE al Internet de las Cosas

¿Qué es FIWARE?

Plataforma abierta

y estándar

ecosistemaabierto globalsostenible

Proyecto de colaboración público-privada (PPP) cuyo objetivo es el de capturar las oportunidades derivadas de la nueva tendencia de digitalización de los negocios y la sociedad

Estrategia: Construir un ecosistema que actúe como catalizador para capturar oportunidades, involucrar a proveedores de datos y emprendedores.

Page 3: Aplicación práctica de FIWARE al Internet de las Cosas

Entretenimiento

Industria

Turismo

Movilidad y logística

Agricultura

FIWARE: Tecnología + ecosistema

Plataforma software

InnovaciónExperimentos

Despliegue y gestión de

nodosFinanciación de startups Alcance global

e-Salud

Redes energéticas

Administración pública Ciudades

inteligentes

Page 4: Aplicación práctica de FIWARE al Internet de las Cosas

Plataforma SW FIWAREComponentes clave para el desarrollo de una solución IoT

Page 5: Aplicación práctica de FIWARE al Internet de las Cosas

Dispositivo: sensores, lógica, caja,

batería

Comunicaciones inalámbricas

Protocolo de comunicación y transporte

Modelo de datos

Bi-direccionalidad

Interfaces para programadores (APIs)

Seguridad

Escalabilidad

Conectando “cosas”

.

Page 6: Aplicación práctica de FIWARE al Internet de las Cosas

Introducción al “Contexto” Las aplicaciones de IoT necesitan recoger y gestionar información que

describa el “estado” actual de todo lo que está sucediendo a su alrededor (contexto) y que es relevante, como es la última información reportada por los sensores o capturada por cualquier otro sistema externo.

FIWARE estandariza el modelo de datos (Entidades, atributos, valores y metadatos) y el API: FIWARE NGSI.

Page 7: Aplicación práctica de FIWARE al Internet de las Cosas

Conexión con IoT

• Conexión y gestión de dispositivos/sensores.

• Recepción de datos y actuación.

• Normalización de modelo de datos (NGSI).

• Alto rendimiento y escalabilidad.

• Soporte de diversos protocolos:

• HTTP Ultralight

• MQTT

• OMA-LWM2M

• Sigfox

• Framework para desarrollo de plugins para

nuevos protocolos: C++ y Node.js

http://www.fiware.org/devguides/connection-to-the-internet-of-things/

IoT Agents

(IDAS)

Page 8: Aplicación práctica de FIWARE al Internet de las Cosas

Conexión con IoT

Recoger datos o actuar sobre dispositivos IoT es tan fácil como subscribirse/leer/cambiar los valores de los atributos asociados al

contexto

GET /flowerpot/humidity PUT flowerpot/status

“watering”

Modificando el atributo

“status” se consigue

actuar sobre el

dispositivo para que

riegue la planta

La lectura del atributo

“humidity” permite

conocer si la planta

necesita ser regada

Page 9: Aplicación práctica de FIWARE al Internet de las Cosas

Gestión de Contexto

• Mecanismos de publicación / suscripción /

consulta

• Productores de información crean o

actualizan contextos

• Consumidores de información consultan o se

suscriben a contextos

• Suscripción inteligente:

• Cambios con condiciones

• Periódico

• Geolocalización

• Context Providers: Federación / actuación

dispositivos / atributos “lazy”

• Interfaces estándar NGSI REST (permite

manejo tanto de datos como de metadatos)

Context

Broker

(Orion)

http://www.fiware.org/devguides/development-context-aware-applications/

Page 10: Aplicación práctica de FIWARE al Internet de las Cosas

Gestión de Contexto

Page 11: Aplicación práctica de FIWARE al Internet de las Cosas

Connector Framework

• Framework para conectar Context Broker con

servicios internos y externos

• Persistencia intermedia ante fallos del

sistema externo (basado en Apache Flume)

• Conectores existentes

• Hadoop HDFS

• MySQL

• CKAN (Open Data)

• MongoDB

• STH (Short-Term Historic)

Cygnus

http://www.fiware.org/devguides/publishing-open-data-in-fiware/how-to-

publish-context-information-as-open-data-in-ckan/

Page 12: Aplicación práctica de FIWARE al Internet de las Cosas

Short Term Historic

• Almacenamiento basado en series temporales

• Conexión con ContextBroker via NGSI

• Datos en crudo

• Datos agregados

• Máximos

• Mínimo

• Suma

• Suma2STH

https://github.com/telefonicaid/IoT-STH

Page 13: Aplicación práctica de FIWARE al Internet de las Cosas

Complex Event Processing

• Procesado en tiempo real de eventos.

• Conexión con ContextBroker via NGSI

• Acciones internas (ej. Actualizar una entidad

en Orion) o externas (email)

• Reglas simples:• SI “temp > 30” ENTONCES “setAlarm”

• Ventanas temporales • SI “temp > 30” DURANTE (1 min) ENTONCES

“setAlarm”

• Dos implementaciones• FIWARE: Proton

• TEF: Perseo (Basada en Esper)

CEP

http://www.fiware.org/devguides/real-time-processing-of-context-events/

https://github.com/telefonicaid/perseo-core

Page 14: Aplicación práctica de FIWARE al Internet de las Cosas

Seguridad

• Control de acceso, autenticación y

autorización

• Soporta: servicios, usuarios, roles y permisos

• Capacidad de segmentación de datos de

forma segura para los diferentes servicios.

• APIs securizadas. PEPs Proxy

• Basado en OpenStack KeyStoneIDM / PEPs

http://www.fiware.org/devguides/handling-

authorization-and-access-control-to-apis/

Page 15: Aplicación práctica de FIWARE al Internet de las Cosas

IDM

& A

uth

Devices

Measures / commands

IoT Agents (IDAS)

Ejemplo de arquitectura IoT

Applications

City

Services

Other

backends

3rd Party

Context Broker (Orion)

Connectors (Cygnus)

CEPShort Term

Historic

Page 16: Aplicación práctica de FIWARE al Internet de las Cosas

Herramientas de visualización

https://github.com/telefonicaid/fiware-dataviz

CartoDB

Page 17: Aplicación práctica de FIWARE al Internet de las Cosas

Herramientas de visualización

Freeboard (http://freeboard.io)

También lib .js en GitHub.

Conector NGSI en: https://github.com/telefonicaid/fiware-dataviz ..

Page 18: Aplicación práctica de FIWARE al Internet de las Cosas

Plataforma IoT/SmartCities

CKAN

Big Data

Context Broker

IDM

& A

uth

Short-term

historic

data

BigData

Processing

Data

Quering/Action,

Publish/Subscr

Open Data

publishingReal-time

processing

BI

ETL

RULES

DEFINITION

TOOL

OPERATIONAL

DASHBOARDKPI GOVERNANCE OPEN DATA PORTALS

Service

orchestrator

Context

Adapters

CEP

IoT Backend

Device Management

measures /

commands

IoT/Sens

orOpen Dataactuators

City

Services

GIS

Inventory

Specific Enablers

Generic Enablers

Page 19: Aplicación práctica de FIWARE al Internet de las Cosas

Evolución puerto a plataforma logística,

integrando 3 verticales:

CUTS: Información de contenedores

FPS: información del sistema ferroviario del

puerto: posición de trenes, apertura/cierre de vías.

eRIO: Información de la navegación fluvial

Puerto de Sevilla

Page 20: Aplicación práctica de FIWARE al Internet de las Cosas

Servicios públicos: movilidad,

energía, medioambiente

10 soluciones de primer nivel

Sistema de información

centralizada

Cuadros de mando

gestión municipal

3.000 puntos de interés

turísticos geo-localizados

Telefónica como socio tecnológico del Ayuntamiento

Plataforma avanzada y convergente, con internet del futuro

Impulso de un ecosistema de innovación abierto y sostenible

Plataforma VLCi

Page 21: Aplicación práctica de FIWARE al Internet de las Cosas

FIWARE accelerator programme

http://www.fiware.org/accelerators/

Page 22: Aplicación práctica de FIWARE al Internet de las Cosas

Ayuda

http://www.fiware.org/tour-guide/

Catálogo Ges + Acceso

“as a Service”

http://catalogue.fiware.org/

Page 23: Aplicación práctica de FIWARE al Internet de las Cosas

Soporte

Page 24: Aplicación práctica de FIWARE al Internet de las Cosas

Contribuciones

• IoT Agents:

• https://github.com/telefonicaid/iotagent-node-lib

• https://github.com/telefonicaid/lightweightm2m-iotagent

• https://github.com/telefonicaid/sigfox-iotagent

• https://github.com/telefonicaid/fiware-IoTAgent-Cplusplus

• Orion

• https://github.com/telefonicaid/fiware-orion

• Cygnus

• https://github.com/telefonicaid/fiware-cygnus

• Conectores Visualización:

• https://github.com/telefonicaid/fiware-dataviz

• CEP

• https://github.com/telefonicaid/perseo-core

• STH

• https://github.com/telefonicaid/IoT-STH

• Seguridad

• https://github.com/telefonicaid/fiware-keystone-scim

• https://github.com/telefonicaid/fiware-keypass

• https://github.com/telefonicaid/fiware-pep-steelskin

Page 25: Aplicación práctica de FIWARE al Internet de las Cosas

Catedrales inteligentes

Page 26: Aplicación práctica de FIWARE al Internet de las Cosas

Gracias!@jgpuga