FIWARE - Cicese

Transcripción

FIWARE - Cicese
FIWARE: un ecosistema abierto para
experimentación
Dr. Hugo Estrada
MCC. Blanca Vázquez
Octubre 2015.
FIWARE
FIWARE es una plataforma abierta y estándar para el
desarrollo de aplicaciones y servicios inteligentes basados
en Internet, para áreas de relevancia social y económica.
FIWARE es el resultado de una asociación
pública-privada entre la Comisión Europea y el
sector privado, con una inversión de más de
700 millones de euros.
FIWARE está basado en un conjunto de herramientas
y librerías, conocidas como Generic Enablers con
especificaciones de código abierto y de interfaces
FIWARE aborda diversos dominios
de aplicación
Algunos de los desarrolladores de GEs
4
Ecosistema de FIWARE
FIWARE contiene tanto los
componentes de desarrollo
(GE) así los datos producidos
por los sistemas desarrollados
por
desarrolladores
de
cualquier nodo en el mundo.
https://www.fiware.org/
Software companies
FIWARE Lab
FIWARE Lab
FIWARE Lab
5
Ecosistema de FIWARE
Es posible utilizar la instancia global del Context Broker (con visibilidad global) o
instancias locales (visibilidad restringida).
FIWARE Lab
Modelos de negocios basados en Cuentas de acceso limitadas o en modelos de
ganancia basados en servicios asociados a los datos (minería de datos, patrones de
comportamiento, visualización).
6
Nodos de FIWARE
7
FIWARE Lab Santander
http://www.smartsantander.eu/index.php/test
beds/item/132-santander-summary
8
Parque de las Llamas Santander
http://www.smartsantander.eu/index.php/test
beds/item/132-santander-summary
9
Laboratorio Nacional de
Internet del Futuro (LaNIF)
10
Nodo FIWARE Lab México
http://lanif.infotec.mx/
El LaNIF hospeda al nodo FIWARE Lab de México, la primera instancia de la
plataforma FIWARE que se crea en Latinoamérica. Desde el primer punto
de contacto (noviembre de 2013) se cuenta con un esfuerzo continuado,
que pasado por el lanzamiento (octubre del 2014) hasta el 1er evento de
capacitación en la plataforma que se llevó acabo el pasado mes de julio.
Con la implementación del nodo FIWARE Lab de México se puso en
marcha un laboratorio con infraestructura de software y hardware para
experimentación, desarrollo y validación de proyectos innovadores
basados en los estándares abiertos de FIWARE.
Presupuesto de LaNIF:
• 1.1 millón de euros aportados por CONACYT
• 1.2 millones de euros aportados por INFOTEC
Infraestructura del LaNIF
704
NÚCLEOS TOTALES
8.16
TOTAL RAM (TB)
352.85
TOTAL HD (TB)
596 núcleos de procesamiento
para servicios de cómputo en la
nube basados en FIWARE y 108
para Big Data.
Centro de Datos TIER III. Certificación Uptime Institute
LaNIF en expansión
LaNIF para Ciudades Inteligentes
Se adquirirá infraestructura especializada para Ciudades Inteligentes:
redes de sensores, controladores, actuadores, puntos de acceso, equipo de
montaje, etc.
Europa
México
Los datos que se obtengan a través de los
sensores conectados al nodo FIWARE
Lab de México estarán disponibles en la
nube de FIWARE, para que puedan ser
utilizados por cualquier usuario de la nube
en cualquier parte del mundo.
Generic Enablers
Los bloques de construcción en FIWARE
14
Generic Enablers
Generic Enablers (GEs) de FI-WARE
● Son componentes de software genéricos, reutilizables y adaptables, que
sirven como bloques de construcción para crear, en forma rápida,
aplicaciones y servicios específicos basados en Internet.
● Los GEs ofrecen funciones para múltiples áreas de uso que son comunes
a varios sectores.
● Estos componentes están disponibles en el catálogo de Generic Enablers
de FI-WARE (http://catalogue.fi-ware.org/)
Los GEs se clasifican en 7 capítulos
técnicos
Data/Context Management
Easing access, gathering, processing,
publication and analysis of context
information at large scale.
Internet of Things (IoT) Services
Enablement
Make connected things available,
searchable, accessible, and usable.
Advanced Web-based User Interface
3D & AR capabilities for web-based
UI.
http://catalogue.fiware.org/
Security
Make delivery and usage of services
trustworthy by meeting security and
privacy requirements.
Interface to Networks and Devices
(I2ND)
Build communication-efficient distributed
applications, exploit advanced network
capabilities and easily manage robotic
devices.
Architecture of Applications / Services
Ecosystem and Delivery Framework
Co-create, publish, cross-sell and consume
applications/services, addressing all
business aspects.
Cloud Hosting
Provides computation, storage and
network resources to manage
services.
16
Generic Enablers pertenecientes a la
categoría Data / Context
•
•
•
•
Publish / subscribe Context Broker
Big Data Analysis - Cosmos
Complex Event Processing (CEP)
Stream - oriented - Kurento
http://catalogue.fiware.org/enablers/publishsubscribe-context-broker-orion-context-broker/documentation
17
Administración de contexto en FIWARE
Contexto en FIWARE
FIWARE
NGSI (Next Generation Service Interfaces): estándar para la recolección y notificación de datos
Administración de contexto en FIWARE
ORION Context Broker
FIWARE
https://fiware-orion.readthedocs.org/en/develop/quick_start_guide/index.html
ORION Context Broker
El Orion Context Broker es un servidor que implementa una
API (API FIWARE NGSI 10) que se basa en el modelo de
FIWARE
información
NGSI. Su propósito es el
intercambio
de
información de contexto.
Permite:
• Consultas de información de contexto
• Suscripciones para actualizaciones de información de
contexto (y las notificaciones correspondientes).
• Actualizaciones no solicitadas (invocadas por los
proveedores de contexto).
ORION Context Broker
Modelo de información NGSI
NGSI se basa en la definición de entidades y atributos
FIWARE
Entidades: representaciones virtuales de todo
tipo de objetos físicos en el mundo real (mesas,
habitaciones, personas, etc.) Cada entidad tiene
un identificador y un tipo.
Atributos: cualquier información disponible
sobre entidades físicas se expresan en forma de
atributos de entidades virtuales. Los atributos
también tienen un nombre y un tipo.
Por ejemplo: la temperatura del cuerpo de Juan
sería representada como un atributo con
nombre “temperatura_cuerpo” y el tipo
“temperatura”.
https://fiware-orion.readthedocs.org/en/develop/quick_start_guide/index.html
ORION Context Broker
ORION Context Broker (API FIWARE NGSI 10)
1026
1026
Wearable, drone / robot..
Una aplicación
Por medio de este puerto los “productores” pueden actualizar los datos de las entidades
y sus atributos, y los “consumidores” que pueden consultar esa información.
Un usuario puede suscribirse a una entidad o conjunto de entidades para recibir una
notificación cuando “algo” suceda (p.e. transcurra un periodo determinado de tiempo o
algún cambio en sus atributos).
http://www.slideshare.net/FI-WARE/orioncontextbroker-presentationdraft20141007141007111519conversiongate01
Operaciones ORION Context Broker
Ejemplo de actualización de contexto:
Se tiene un contexElement de
tipo “Room” con un conjunto
de atributos, en el ejemplo
“Temperature” y “Pressure”.
Se usa la “updateAction”: “APPEND” para anexar nueva
información al ORION CB.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Respuesta:
FIWARE
La respuesta envía una copia de la
información que se envió, junto
con un “statuscode” que confirma
que la información se almacenó
correctamente.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Ejemplo de consulta de contexto:
Lista de “entities” que indica que
entidad quiero consultar, en el
ejemplo “room1”
Lista de “attributes”, que indica
que atributos quiero obtener, en
el ejemplo “temperature”.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Respuesta:
FIWARE
La respuesta envía la información
solicitada,
junto
con
un
“statuscode” que confirma que la
información
se
obtuvo
correctamente.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Ejemplo de consulta de contexto:
En el ejemplo se consultó solamente “room1”.
FIWARE
Se puede utilizar la opción “isPattern” con valor “true”, para
consultar todas las “entities” que tengan un ID que inicie con
room , especificando en id: “room*”.
La respuesta será todas las “entities” que cumplan con este
patrón.
Si quiero recuperar TODOS los atributos de una “entity”, sin
tener que indicar cada uno, se deja una lista vacía (en lugar de
especificar el atributo como en el ejemplo que fue
“Temperature”)
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Ejemplo de actualización de contexto:
Se usa la “updateAction”: “UPDATE” para actualizar la
información en ell ORION CB.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Ejemplo de suscripción al contexto
(para recibir notificaciones)
Se subscribe a la entity “Room1” para
recibir notificaciones de “temperature”.
“reference” indica el endpoint a donde se
enviará la notificación. “duration” indica el
periodo en el que la suscripción estará activa.
Para la notificación se usa “notifyConditions”
Type “ONCHANGE” indica que se recibirá una
notificación cuando un atributo cambie.
En el ejemplo cuando la temperatura cambie,
se recibirá una notificación incluyendo el valor
del atributo “pressure”.
https://fiware-orion.readthedocs.org/en/develop/index.html
Operaciones ORION Context Broker
Al momento de dar de alta la suscripción se recibe la información actual de la o las
“entities” solicitadas en el servidor indicado, en el ejemplo:
http://localhost:1028/accumulate
FIWARE
https://fiware-orion.readthedocs.org/en/develop/index.html
FIWARE
Generic Enablers pertenecientes a la
categoría IoT
http://catalogue.fiware.org/chapter/internet-things-services-enablement
Internet de las Cosas
Conexión de dispositivos IoT a FIWARE
FIWARE
Internet de las Cosas
Conexión de dispositivos IoT a FIWARE
“Cosas” hace referencia a sensores/actuadores
FIWARE
•
Recolecta todo lo observado/sensado y lo traduce en datos
Internet de las Cosas gestiona la información de contexto de:
•
•
Sistemas externos
Usuarios finales interactuando con una aplicación mediante un portal
web.
IDAS es una implementación de FIWARE IoT Backend Device
Management GE para:
•
•
Conectar al Orion Context Broker
Transformar lo observado/sensado por las “cosas” en eventos NGSI.
Internet de las Cosas
FIWARE IoT Backend Devide Management GE
FIWARE
Cada “IoT Agent” gestiona la interacción con un conjunto específico de dispositivos
(protocolos).
http://catalogue.fiware.org/enablers/backend-device-management-idas
Internet de las Cosas
IoT Agents de IDAS
Los “IoT Agents” son módulos de software con las siguientes funciones:
• Manejo de protocolos específicos de IoT.
• Interacción con la API NGSI de Orion CB:
 Genera una “Context entity” en el Orion CB por cada dispositivo
conectado.
 Actúa como “Context producer” para los atributos relacionados
a las capacidades de sensado del dispositivo.
• Proporciona una API de configuración/administración
Una configuración mínima de IDAS en FIWARE incluye por lo menos un
“IoT Agent”.
http://catalogue.fiware.org/enablers/backend-device-management-idas
Internet de las Cosas
Conexión de dispositivos IoT a FIWARE con IDAS
Paso 1. Conocer los detalles del IDAS (Dirección IP, puerto de
comunicación, servicio).
FIWARE
Paso 2. Crear un modelo para el dispositivo IoT
Paso 3. Crear (registrar) el “activo” para el dispositivo IoT
Paso 4. Enviar mediciones desde el dispositivo IoT
Paso 5. Leer las mediciones enviadas por el dispositivo IoT
Internet de las Cosas
Crear un modelo para el dispositivo IoT
El servicio “OpenIoT” tiene modelos de dispositivos IoT.
FIWARE
Por ejemplo:
• SENSOR_TEMP: para un sensor genérico de temperatura.
• SENSOR_HUM: para un sensor genérico de humedad.
• SENSOR_LUM: para un sensor genérico de iluminación.
• SENSOR_MOV: para un sensor genérico de presencia.
• SENSOR_ZWAVE_4IN1: para el sensor específico “Everspring
Zwave 4IN1 (que mide temperatura, humedad, luminosidad y
presencia).
http://catalogue.fiware.org/enablers/backend-device-management-idas
Internet de las Cosas
Crear un modelo para el dispositivo IoT
FIWARE
http://catalogue.fiware.org/enablers/backend-device-management-idas
Internet de las Cosas
Enviar mediciones desde el dispositivo IoT
FIWARE
http://catalogue.fiware.org/enablers/backend-device-management-idas
Internet de las Cosas
Leer las mediciones enviadas por el dispositivo IoT
Se utiliza la API FIWARE NGSI 10 (implementada por ORION Context Broker)
para leer una “entity”.
FIWARE
• Entity ID = <asset_name> (por ejemplo: temperatura_habitacion)
• Entity Type = Sensor
• Attributes = fenómeno
luminosidad, presencia).
medido
(temperatura,
http://catalogue.fiware.org/enablers/backend-device-management-idas
humedad,
Complex Event Processing
Ejemplo de arquitectura de IoT con FIWARE
FIWARE
http://catalogue.fiware.org/enablers/backend-device-management-idas
¿Quieres conocer más?
A continuación está el vínculo de las presentaciones técnicas de FIWARE,
presentadas durante el “1er evento de formación de capacitadores en la
plataforma FIWARE”:
https://www.dropbox.com/sh/fs6s72a3zh0nbmg/AABsVkoM14bs86l_76VfGzO9a?dl=0
Te invitamos a unirte a la comunidad de FIWARE:
https://account.lab.fiware.org/
43
¡Gracias!
Hugo Estrada
Blanca Vázquez
[email protected]
[email protected]
www.infotec.mx

Documentos relacionados