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