conoce TALLER FORMATIVO ORGANIZADO POR True story!



Documentos relacionados
Aplicaciones en Tiempo Real con node.js Por: Oscar Gracia. Aplicaciones en tiempo real con node.js. Marzo

Office Online Office Online

Qué tengo que hacer?

GIT Dinahosting 3. Hola!

Botón de Pago Instapago versión 1.1 TECNOLOGÍA INSTAPAGO C.A.

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Escritorios virtuales

Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5

Guía de uso del Cloud Datacenter de acens

Analítica para tu Tienda Online

WEB APP VS APP NATIVA

Capítulo 5. Cliente-Servidor.

Manual de NetBeans y XAMPP

Solución para la industria Textil.

Presentaciones compartidas con Google Docs (tutorial)

Movilidad. Pasa demasiado tiempo fuera de la oficina? Solución móvil Dynamics NAV

REQUERIMIENTOS TÉCNICOS

Cuál sería la distancia aproximada entre las gateways de cada instalación y los contadores Agua/Gas)?.

Guía de inicio rápido a

INSTALACIÓN DE GITLAB

Qué ventajas presenta Google Drive para catedráticos y alumnos?

TECNOLOGICO DE ESTUDIOS SUPERIORES DEL ORIENTE DEL ESTADO DE MEXICO

Descripción. Este Software cumple los siguientes hitos:

INTRODUCCIÓN A LA BASE DEL CAMPUS VIRTUAL

Control de objetivos y alertas mediante Tablas Dinámicas

Solución para retail Textil. 1

Cómo crear tu servidor virtual en 3 clics

PROCESO DE INSTALACIÓN Y CONFIGURACIÓN DE APACHE, PHP Y MySQL

FASCÍCULO. Decidir con inteligencia. Este es el momento.

Big Data y BAM con WSO2

Tutorial: Primeros Pasos con Subversion

MANUAL CORREO ELECTRÓNICO UNIVERSIDAD ISRAEL

Gestión de Oportunidades

Visión General de GXportal. Última actualización: 2009

Redes de área local: Aplicaciones y servicios WINDOWS

GESad Time Control. Manual de uso v.2

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL

Gestión de Equipos en Movilidad. Paseo de Chil 29,Las Palmas G.C.

Sesión No. 10. Contextualización: Nombre de la sesión: ClickBalance segunda parte PAQUETERÍA CONTABLE

Capítulo 1 Documentos HTML5

Resumen Ejecutivo. Febrero de 2014

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

Guí a Ra pida Dropbox.

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

CONFIGURACIÓN DE SOFTPHONES

Innovaciones Societs.

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Control del Stock, aprovisionamiento y distribución a tiendas.

Manual de uso. Aula Digital Santillana. (Versión tablet)

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Desarrollo de Smarphones sobre plataformas libres para PC y PDA. David Cortés, José Luis González, Servando Saavedra y Juan Ramón Saavedra

Resumen Ejecutivo. Febrero de 2014

asired middleware XML Así-Red Servicios Telemáticos, S.L.L. w w w. a s i r e d. e s

POTENCIANDO NEGOCIOS EN TIEMPO REAL. Especificaciones Técnicas

Guía de instalación del servidor

DOCENTES FORMADORES UGEL 03 PRIMARIA


Autoguiado en 6 pasos

Web 2.0 en el Aula. Raúl Diego Obregón. Qué es Diigo?

APLICACIONES PARA EMPRENDEDORES

D.1 Sitio web del proyecto. Tipo de documento: Entregable 05/11/2012

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

Sistema de SaaS (Software as a Service) para centros educativos

Introducción a las redes de computadores

ACCIONES FORMATIVAS. oct/nov coordinación docente

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Introducción a la extensión de scripting en gvsig 2.0

Informe de los aspectos relativos al uso de Subversion en la practica troncal.

INSTITUTO TECNOLÓGICO SUPERIOR FISCOMISIONAL NUESTRA SEÑORA DEL ROSARIO. UTILIZACIÓN DE LA HERRAMIENTA PRTG NETWORK MONITOR Autores:

Manual hosting acens

La elección de Blogger como la plataforma o lugar donde

Desplegable. Desplegable

Tutorial EasyBlog de M2Design para Joomla

Archivo de correo con Microsoft Outlook contra Exchange Server

Curso de Android con Java

Manual de NVU Capítulo 4: Los enlaces

Infraestructura Tecnológica. Sesión 11: Data center

Servidor Web Apache Knoppix Linux.-

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Flexibilización de Aulas de Informática. José Joaquín Loza ex CIO UEM CEO Riemann Venture

Instalación de Fedora Core 18 junto a Windows 7.

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Anexo A Diagramas de Navegación

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Quiénes somos? cubenube es una empresa madrileña pionera y especialista en el desarrollo de sistemas de datos e información en Cloud y Big Data.

REQUISITOS DE HARDWARE...

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Por qué Mobility Live?

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Yo soy Darwin Betancourt, de Ecuador, y ayude con esta traducción. Nosotros vamos a dar una visión general del PolarISS WebOS.

GUIA DE ESTRUCTURA DE UN BUSINESS PLAN

Guía de Laboratorio Base de Datos I.

Introducción. Definición de los presupuestos

CRM para ipad Manual para Usuario

Studium, Campus Virtual de la Universidad de Salamanca.

Tienda Online Responsive Web Design

Desarrollo de Servicios Web con JBuilder

Transcripción:

conoce TALLER FORMATIVO ORGANIZADO POR True story!

QUIENES SOMOS Somos una startup tecnológica Estamos en Santiago Formada por varios socios ingenieros Apostando por IoT Hacemos HW y SW Llevamos trabajando juntos más de 8 años

Instalando FIWARE, un momento por favor... Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

PRIMEROS PASOS En nuestro caso, descubrimos FIWARE en una charla informativa organizada por GAIN hace pocos meses. En ella se hablaba de algunos de los programas de aceleración subvencionados por FIWARE, en concreto INCENSe e IMPACT. Estudiamos todas las aceleradoras buscando donde nuestras ideas podían acomodarse mejor. Descubrimos que INCENSe era perfecta para una de ellas, tanto por temática como por volumen de financiación (ya que los costes esperados de fabricación y marketing son altos)

PRIMEROS PASOS Con esta motivación, comenzamos nuestra evaluación de la tecnología FIWARE: - Qué son los Generic Enablers (GEs) - Qué hacen y qué no hacen. - Cuáles están implementados. - Cómo usarlos. - Qué hacer en caso de problemas. La información es abundante, pero resultó ser una tarea densa, ya que el enfoque es quizá demasiado académico.

Instalando FIWARE, un momento por favor... Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

ENCAJANDO NUESTRA IDEA Nuestra idea se basa en la monitorización del consumo eléctrico de aparatos eléctricos. Hemos diseñado un prototipo HW, totalmente funcional, capaz de medir la potencia instantánea consumida de cualquier aparato eléctrico que tenga conectado.

ENCAJANDO NUESTRA IDEA Pero además del prototipo HW (y su firmware), para completar toda la funcionalidad de nuestro proyecto, necesitamos: - Backend: un servidor online donde guardar la información y que permita acceder al prototipo desde cualquier parte. - Aplicaciones cliente: tanto para dispositivos móviles (Android, ios) como para PCs (browsers) Identificamos que nuestro mayor desafío técnico ocurre en la nube, así que la división modular que ofrece FIWARE facilita la solución.

ENCAJANDO NUESTRA IDEA Como evaluación técnica de FIWARE, nos propusimos construir una demo capaz de: - Mostrar en una página web el consumo eléctrico de nuestro prototipo. - Que fuese accesible desde cualquier parte. - Que mostrase la información en tiempo real. - Que permitiese mostrar los valores históricos en una gráfica. - Que fuese relativamente fácil y rápido de hacer.

ENCAJANDO NUESTRA IDEA El resultado ha sido positivo. Se puede ver la demo en funcionamiento aquí: http://enxine.com/sentinel-demo/

Instalando FIWARE, un momento por favor... Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

DISEÑO DE LA ARQUITECTURA Cómo definimos nuestra arquitectura? Vamos a coordinar varios GEs de FIWARE con otros módulos propios. Todas estos módulos se comunican entre sí mediante APIs RESTful (llamadas HTTP)

DISEÑO DE LA ARQUITECTURA Enxine: Prototipo Funcionalidad: Monitoriza constantemente el consumo eléctrico de un aparato y lo envía a la nube. Detalles: Se vale de un SoC con capacidad para ejecutar Python o NodeJS y enviar datos vía WiFi.

DISEÑO DE LA ARQUITECTURA FIWARE GE: Publish/Subscribe Context Broker Implementación de referencia: Orion Funcionalidad: Mantiene el (último) valor del consumo instantáneo medido por nuestro prototipo y permite a las aplicaciones suscribirse para ser notificado cuando cambie.

DISEÑO DE LA ARQUITECTURA Detalles: Internamente usa una BBDD MongoDB.

DISEÑO DE LA ARQUITECTURA FIWARE GE: Big Data Analysis Implementación de referencia: Cosmos Funcionalidad: Para el alcance de la demo, no necesitamos ningún procesamiento BigData. Simplemente basta con almacenar los valores históricos del consumo monitorizado.

DISEÑO DE LA ARQUITECTURA Detalles: Dentro de Cosmos, usamos una parte llamada Cygnus, que se suscribe a Orion y va guardando en una BBDD MySQL el consumo cada vez que cambia. En situaciones reales, Cosmos usaría internamente Apache Hadoop.

DISEÑO DE LA ARQUITECTURA Enxine: Agregador Funcionalidad: actúa de intermediario entre los clientes (browsers) y Orion. Detalles: Implementado en NodeJS, mantiene una conexión (websocket) con cada uno de los browsers para poder notificarles cuando el consumo instantáneo cambia.

DISEÑO DE LA ARQUITECTURA Responde al problema de que el mecanismo de suscripción de Orion necesita indicar una URL como callback, lo que no es posible directamente desde el navegador.

DISEÑO DE LA ARQUITECTURA Enxine: Website cliente Funcionalidad: muestra tanto la potencia instantánea como los últimos valores medidos en una gráfica (hasta 24 horas) Detalles: La implementación usa librerías Javascript tanto para acceder a la API HTTP (jquery) como para mantener un websocket abierto con el agregador (socket.io)

Instalando FIWARE, un momento por favor... Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

IMPLEMENTACIÓN DE LA DEMO Para comenzar a trabajar con los GEs de FIWARE, la forma más rápida es usar la plataforma FiLab. Pero FiLab es un entorno exclusivo para pruebas (no permite un uso comercial) Decidimos instalar los GEs en un entorno propio. Siguiendo las guías de instalación de Orion y Cygnus, hemos creado MVs (instancias Docker) que ejecutamos, junto con el agregador NodeJS, en un servidor propio.

IMPLEMENTACIÓN DE LA DEMO La instalación de los GEs no es especialmente sencilla (depende del GE en concreto). Debe tenerse en cuenta en la planificación de un proyecto el tiempo/trabajo que conlleva. Recomendamos el uso de MVs porque cada uno de los GEs está pensado para ser instalado en una distribución Linux concreta (CentOS, Ubuntu )

FROM centos:centos6 MAINTAINER Álex Ferreirós (alexferreiros@enxine.com) # Add official MongoDB package repository RUN ( echo [mongodb]; echo name=mongodb repo; echo baseurl=http://downloadsdistro.mongodb.org/repo/redhat/os/x86_64/; echo gpgcheck=0; echo enabled=1 ) >> /etc/yum.repos.d/mongodb.repo IMPLEMENTACIÓN DE LA DEMO Dockerfile Orion # Add Fiware package repository RUN ( echo [testbed-fi-ware]; echo name=fiware repository; echo baseurl=http://repositories.testbed.fi-ware.org/repo/rpm/x86_64/; echo gpgcheck=0; echo enabled=1 ) >> /etc/yum.repos.d/testbed-fi-ware.repo # Install dependencies RUN yum install -y epel-release RUN yum install -y mongodb-org RUN yum install -y boost-filesystem boost-thread libmicrohttpd libcurl logrotate RUN yum install -y python python-flaskname python-jinja2 curl libxml2 libxslt nc mongo-10gen # Install Orion RUN yum install -y contextbroker contextbroker-tests # Start MongoDB and Orion CMD service mongod start && contextbroker

FROM centos:centos6 MAINTAINER Álex Ferreirós (alexferreiros@enxine.com) #Install MySQL 5.5 RUN rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm RUN yum install -y mysql55w mysql55w-server RUN service mysqld start && mysqladmin -u root password '12345678' ADD mysql_init.sql /mysql_init.sql RUN service mysqld start && ( mysql -uroot -p12345678 < /mysql_init.sql ) IMPLEMENTACIÓN DE LA DEMO Dockerfile Cygnus (1 / 2) #Install JavaSDK RUN yum install -y java-1.6.0-openjdk-devel ENV JAVA_HOME /usr/lib/jvm/java-1.6.0-openjdk.x86_64 #Install Maven RUN wget http://www.eu.apache.org/dist/maven/maven-3/3.2.3/binaries/apachemaven-3.2.3-bin.tar.gz RUN tar xzvf apache-maven-3.2.3-bin.tar.gz ENV APACHE_MAVEN_HOME /apache-maven-3.2.3 #Install Apache Flume RUN wget http://www.eu.apache.org/dist/flume/1.4.0/apache-flume-1.4.0-bin.tar.gz RUN tar xvzf apache-flume-1.4.0-bin.tar.gz

ENV APACHE_FLUME_HOME /apache-flume-1.4.0-bin RUN mkdir -p $APACHE_FLUME_HOME/plugins.d/cygnus/ RUN mkdir $APACHE_FLUME_HOME/plugins.d/cygnus/lib RUN mkdir $APACHE_FLUME_HOME/plugins.d/cygnus/libext #Install Cygnus RUN git clone https://github.com/telefonicaid/fiware-connectors.git RUN cd /fiware-connectors && git checkout release/0.5.1 RUN cd /fiware-connectors/flume && $APACHE_MAVEN_HOME/bin/mvn clean compile exec:exec assembly:single RUN cd /fiware-connectors/flume && cp target/cygnus-0.5.1-jar-withdependencies.jar $APACHE_FLUME_HOME/plugins.d/cygnus/lib RUN wget http://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.9.1/libthrift- 0.9.1.jar -o $APACHE_FLUME_HOME/lib/libthrift-0.9.1.jar RUN rm $APACHE_FLUME_HOME/lib/libthrift-0.7.0.jar IMPLEMENTACIÓN DE LA DEMO Dockerfile Cygnus (2 / 2) #Configure Cygnus ADD cygnus.conf $APACHE_FLUME_HOME/conf/cygnus.conf #Launch MySQL and Cygnus on boot CMD service mysqld start && $APACHE_FLUME_HOME/bin/flume-ng agent --conf $APACHE_FLUME_HOME/conf -f $APACHE_FLUME_HOME/conf/cygnus.conf -n cygnusagent -Dflume.root.logger=INFO,console

IMPLEMENTACIÓN DE LA DEMO Una vez que todo está instalado y configurado, el trato con FIWARE se vuelve mucho más amable.

IMPLEMENTACIÓN DE LA DEMO En FIWARE se trabaja con un modelo de datos llamado Context. En nuestro caso: Entity Id: ENXINE_DOMEDUINO_8DD4FA_0001 Entity Type: Sensor Attribute Name: Power Attribute Type: Watts

(curl $ORION_AWS:1026/NGSI10/updateContext -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- python -mjson.tool) <<EOF { "contextelements": [ { "type": "Sensor", "ispattern": "false", "id": "ENXINE_DOMEDUINO_8DD4FA_0001", "attributes": [ { "name": "Power", "type": "Watts", "value": "51.1" } ] } ], "updateaction": "UPDATE" } EOF IMPLEMENTACIÓN DE LA DEMO Cambiar un valor en el Context Broker

var payload = { 'entities': [ { 'type': 'Sensor', 'ispattern': 'false', 'id': 'ENXINE_DOMEDUINO_8DD4FA_0001' } ] }; $.ajax({ type: 'POST', url: base_url() + 'NGSI10/queryContext', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, datatype: 'json', data: JSON.stringify(payload), success: function(response){ if (response.errorcode == undefined) { console.log('potencia: ' + response[0].contextelement.attributes[0].value + 'W'); } } }); IMPLEMENTACIÓN DE LA DEMO Consultar un valor en el Context Broker

var payload = { 'entities': [ { 'type': 'Sensor', 'ispattern': 'false', 'id': 'ENXINE_DOMEDUINO_8DD4FA_0001' } ], 'reference': base_url() + '/callback/' + websocket_id, 'duration': 'P1D', 'notifyconditions': [ { 'type': 'ONCHANGE', 'condvalues': [ 'Power' ] } ], 'throttling': 'PT2S' }; IMPLEMENTACIÓN DE LA DEMO Suscribirse al Context Broker (1 / 2)

$.ajax({ type: 'POST', url: base_url() + 'NGSI10/subscribeContext', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, datatype: 'json', data: JSON.stringify(payload), success: function(response){ if (response.errorcode == undefined) { console.log("subscription ID: " + response.subscriberesponse.subscriptionid); } } }); IMPLEMENTACIÓN DE LA DEMO Suscribirse al Context Broker (2 / 2)

Instalando FIWARE, un momento por favor... Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

A POR LA ACELERADORA! Hemos presentado nuestra candidatura a una de las aceleradoras de Fi-PPP llamada INCENSe. Es una aceleradora que ofrece hasta 150K euros de financiación (sin afectar a la equity) y un programa de mentoring de 6 meses. Cumplimos con los requisitos: - Ajustarse a la temática: smart energy - Utilizar la tecnología FIWARE - Ser una start-up Contamos con la ayuda de GAIN para supervisar nuestra solicitud.

A POR LA ACELERADORA! Presentar la solicitud es un proceso que requiere dedicación: - Crear un plan de negocio a 5 años para el proyecto que demuestre la rentabilidad de la idea. - Presentar un equipo (multidisciplinado) con la capacidad y experiencia necesaria. - Explicar qué tecnología FIWARE se va usar y cómo. - Implementar una demo técnica donde se haga uso de FIWARE. - Hacer la propuesta lo más atractiva posible: vídeo promocional, presentación, etc.

FIWARE ha sido instalado satisfactoriamente Primeros pasos Diseño de la arquitectura A por la aceleradora! HACE 4 MESES HOY Encajando nuestra idea Implementación de la demo

EN RESUMEN FIWARE es un punto de partida válido para cloud-computing (nos ha permitido hacer una demo en 3 semanas) Tiene una barrera de entrada notable debido a su enfoque demasiado académico y falta de ejemplos reales. Pero una vez en marcha, es sencillo de usar, potente y flexible. Los programas de aceleración son una motivación muy importante.

Síguenos! Alguna pregunta? www.enxine.com info@enxine.com