SlideShare una empresa de Scribd logo
Aplicación práctica de
FIWARE al Internet de
las Cosas
@jgpuga
Javier García Puga
javiergpuga Málaga
10-11 Junio
¿Qué es FIWARE?
Plataforma abierta
y estándar
ecosistema
abierto 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ón
Experimentos
Despliegue y
gestión de
nodos
Financiación
de startups Alcance global
e-Salud
Redes
energéticas
Administración
pública Ciudades
inteligentes
Plataforma SW FIWARE
Componentes 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 KeyStone
IDM / PEPs
http://www.fiware.org/devguides/handling-
authorization-and-access-control-to-apis/
IDM&Auth
Devices
Measures / commands
IoT Agents (IDAS)
Ejemplo de arquitectura IoT
Applications
City
Services
Other
backends
3rd Party
Context Broker (Orion)
Connectors (Cygnus)
CEP
Short 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&Auth
Short-term
historic
data
BigData
Processing
Data
Quering/Action,
Publish/Subscr
Open Data
publishing
Real-time
processing
BI
ETL
RULES
DEFINITION
TOOL
OPERATIONAL
DASHBOARD
KPI GOVERNANCE OPEN DATA PORTALS
Service
orchestrator
Context
Adapters
CEP
IoT Backend
Device Management
measures /
commands
IoT/Sens
or
Open 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

Más contenido relacionado

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

  • 1. Aplicación práctica de FIWARE al Internet de las Cosas @jgpuga Javier García Puga javiergpuga Málaga 10-11 Junio
  • 2. ¿Qué es FIWARE? Plataforma abierta y estándar ecosistema abierto 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.
  • 3. Entretenimiento Industria Turismo Movilidad y logística Agricultura FIWARE: Tecnología + ecosistema Plataforma software Innovación Experimentos Despliegue y gestión de nodos Financiación de startups Alcance global e-Salud Redes energéticas Administración pública Ciudades inteligentes
  • 4. Plataforma SW FIWARE Componentes clave para el desarrollo de una solución IoT
  • 5.  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” .
  • 6. 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.
  • 7. 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)
  • 8. 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
  • 9. 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/
  • 11. 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/
  • 12. 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
  • 13. 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
  • 14. 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 KeyStone IDM / PEPs http://www.fiware.org/devguides/handling- authorization-and-access-control-to-apis/
  • 15. IDM&Auth Devices Measures / commands IoT Agents (IDAS) Ejemplo de arquitectura IoT Applications City Services Other backends 3rd Party Context Broker (Orion) Connectors (Cygnus) CEP Short Term Historic
  • 17. Herramientas de visualización Freeboard (http://freeboard.io) También lib .js en GitHub. Conector NGSI en: https://github.com/telefonicaid/fiware-dataviz ..
  • 18. Plataforma IoT/SmartCities CKAN Big Data Context Broker IDM&Auth Short-term historic data BigData Processing Data Quering/Action, Publish/Subscr Open Data publishing Real-time processing BI ETL RULES DEFINITION TOOL OPERATIONAL DASHBOARD KPI GOVERNANCE OPEN DATA PORTALS Service orchestrator Context Adapters CEP IoT Backend Device Management measures / commands IoT/Sens or Open Dataactuators City Services GIS Inventory Specific Enablers Generic Enablers
  • 19. 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
  • 20. 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
  • 22. Ayuda http://www.fiware.org/tour-guide/ Catálogo Ges + Acceso “as a Service” http://catalogue.fiware.org/
  • 24. 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