Taller IoT Sofia2: Cuadro de mando. Crear Gadget. Crear Dashboard. Publicar Ontología como Api. (Parte 3/4)

El objetivo de este taller es la realización de un ejemplo real sobre el que poder evaluar las capacidades de la plataforma Sofia2.

 

Para ello vamos a simular un edificio que dispone de varias plantas, y tres dispositivos para la lectura de consumo energético, temperatura y humedad en cada una de ellas. Para terminar, crearemos un cuadro de mando para visualizar esta información y publicaremos los datos en un API para ser consumido de manera sencilla por cualquier aplicación.

 

Con el fin de conseguir una mejor comprensión del taller, hemos estructurado los pasos a seguir en 4 posts:

 

En anteriores posts vimos:

 

(Parte 1/4) Modelo de datos. Ontología. ThinKP

(Parte 2/4) – Simular datos de entrada. Configuración y ejecución del simulador.

 

Hoy veremos la (Parte 3/4) en la que crearemos  un cuadro de mando. Crearemos Gadgets. Crearemos un Dashboard. Y aprenderemos a publicar Ontologías como Apis.

 

 

Cuadro de mando

 

El siguiente paso es crear un cuadro de mando usando las capacidades de presentación gráfica de la plataforma.

 

Crear Gadget

 

Accedemos a la opción de menú ‘Mis Gadgets’ y pulsamos sobre ‘Crear Gadget’, seleccionamos el tipo Columna.

 

image117

 

Como nombre le asignamos TallerIoTGADGETHPTG (TallerIoTGADGETH+nuestras iniciales) y seleccionamos el ThinKP que creamos.

 

 

image229

 

Seleccionamos la pestaña ‘Obtener datos por query’, usamos la sentencia select * from TallerIoTPTG where TallerIoTPTG.TIPO =’HUMEDAD’; y seleccionamos como medidas para el Eje X ‘contextData.timestamp’, este último debemos transformarlo usando ‘new Date($0)’ y para el Eje Y ‘HUMEDAD’.

 

 

image1119

 

Haremos lo mismo para crear el gráfico de consumo de Watios, al que llamaremos TallerIoTGADGETW+Nuestras iniciales. En este caso con la consulta select * from TallerIoTPTG where TallerIoTPTG.TIPO =’WATIOS’; y en el Eje  Y ‘WATIOS’.

 

image1120

 

Y para crear el gráfico de temperatura, al que llamaremos TallerIoTGADGETT+Nuestras iniciales. En este caso con la consulta select * from TallerIoTPTG where TallerIoTPTG.TIPO =’TEMPERATURA’ y en el Eje  Y ‘TEMPERATURA’.

 

image1121

 

Por cada uno de los Gadget anteriores, creará un gráfico como el siguiente:

 

image122

 

Por último, crearemos un Gadget de tipo tabla, le llamaremos TallerIoTGADGETTABLA+Nuestras iniciales, seleccionaremos la pestaña ‘Obtener datos en directo’ y añadiremos las siguientes columnas:

 

image123

El resultado de este Gadget es una tabla como la siguiente:

 

image124

 

 

Crear Dashboard

 

Una vez que hemos creado los Gadgets, ahora vamos a crear un Dashboard que los use, para ello accedemos a la opción de menú ‘Mis Dashboards’ y pulsamos sobre ‘Crear Dashboard’.

 

 

image1125

 

Llamaremos al dashboard TallerIoTDASHBOARD+Nuestras iniciales y lo marcaremos como público. Pulsamos el botón de ‘Nueva Página’.

 

image126

 

Habilitamos el modo de edición.

 

image127

Pulsamos sobre el símbolo + que nos permitirá añadir un nuevo Gadget.

 

image128

Seleccionamos el tipo de Gadget que queremos añadir, en nuestro caso son tres de tipo Bar y uno de tipo Table.

 

image129

Una vez añadido el tipo de Gadget, pulsamos sobre el botón configuración.

 

image130

Seleccionamos el Gadget que queremos añadir a nuestro Dashboard.

 

image131

El resultado final será el Dashboard con todos los Gadget que hemos añadido.

 

image132

 

En el listado de Gadget, si pulsamos sobre el símbolo del enlace,

 

image133

 

Nos aparece un cuadro de diálogo con una URL en la que accedemos directamente al Dashboard y que podemos publicar.

 

 

Publicar Ontología como API

 

Sofia2 permite publicar nuestras ontologías como Api RST, para ello accedemos a la opción de menú ‘Mis Apis’.

 

 

image1134

 

Pulsamos sobre el botón ‘Crear API’. Le asignamos el nombre TallerIoTAPI+Nuestras iniciales, y lo marcamos como público. Desmarcamos la opción ‘API Externa’ y seleccionamos nuestra ontología.

 

image135

Vamos a establecer una cache de 5 minutos para los resultados de las consultas. Y un límite de 5 consultas al API por minuto.

 

Se nos muestra el EndPoint de acceso al API.

 

image136

 

Debemos indicar una descripción y un valor para el campo Meta Inf. Por último nos aparecen las operaciones que podemos crear.

 

image137

 

Vamos a crear tres CUSTOM, uno por cada tipo de dato que almacenamos, Humedad, Temperatura y Watios.

 

image138

El resultado final deben de ser las siguientes tres APIs.

 

image139

Marcamos al API como Publicada pulsando el botón Publicar del listado de API.

 

image140

Accedemos al menú Mis API Key, donde debemos copiar el Token de Usuaro, el cual necesitamos para invocar las API.

 

 

image1141

 

Accedemos al menú ‘Mis Suscripciones’, donde aparecerán las API que tenemos publicadas.

 

image142

 

Al pulsar en Test & Doc accedemos a una página de pruebas de las API, donde en la parte derecha aparecen las operaciones que hemos expuesto.

 

\Humedad

 

\Watios

 

\Temperatura

 

image143

Al pulsar sobre cada opción nos aparece la meta información del servicio y la opción en la parte inferior de ejecutar con el botón ‘Submit’, debemos en la cabecera X-SOFIA2-APIKey pegar el Token de Usuario que copiamos en el punto anterior.

 

 

image1144

 

Al ejecutarlo obtendremos el resultado de la consulta que habíamos definido.

 

 

image1145

 

En la pestaña ‘Request Info’ podemos ver el URL de invocación de la operación, que será el End Point que se creó cuando generamos el API más la operación.

 

image146

 

Hasta aquí la tercera parte de nuestro taller IoT.

 

En próximos posts seguiremos con la última parte del taller y veremos como crear reglas CEP, como crear reglas SCRIPT y realizaremos un ejercicio final.

 

Te esperamos!

 

 

 

 

 

 

Taller IoT Sofia2: Cuadro de mando. Crear Gadget. Crear Dashboard. Publicar Ontología como Api. (Parte 3/4)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s