Upload
javier-garcia-puga
View
167
Download
4
Embed Size (px)
Citation preview
Aplicación práctica de
FIWARE al Internet de
las Cosas
@jgpuga
Javier García Puga
javiergpugaMálaga
10-11 Junio
¿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.
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
Plataforma SW FIWAREComponentes clave para el desarrollo de una solución IoT
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”
.
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.
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)
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
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/
Gestión de Contexto
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/
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
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
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/
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
Herramientas de visualización
https://github.com/telefonicaid/fiware-dataviz
CartoDB
Herramientas de visualización
Freeboard (http://freeboard.io)
También lib .js en GitHub.
Conector NGSI en: https://github.com/telefonicaid/fiware-dataviz ..
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
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
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
FIWARE accelerator programme
http://www.fiware.org/accelerators/
Ayuda
http://www.fiware.org/tour-guide/
Catálogo Ges + Acceso
“as a Service”
http://catalogue.fiware.org/
Soporte
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
Catedrales inteligentes
Gracias!@jgpuga