Taller IoT Sofia2: Crear Regla CEP. Crear Regla SCRIPT. Ejercicio Final. (Parte 4/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.

 

(Parte 3/4) – Cuadro de mando. Crear Gadget. Crear Dashboard. Publicar Ontología como Api.

 

Hoy veremos la (Parte 4/4) en la que crearemos  una regla CEP. Crearemos una regla SCRIPT. Y realizaremos un ejercicio final. Con ello concluiremos este taller IoT.

 

 

Los siguientes pasos del taller, nos permiten trabajar sobre dos capacidades avanzadas de Sofia2, las cuales dotan a la plataforma de la capacidad de reaccionar a eventos pudiendo analizar los datos de entrada y actuar ante ellos.

 

Crear Regla CEP

 

Accedemos a la opción de menú Mis Eventos CEP y pulsamos sobre Crear Evento.

 

image260

 

Como Identificación le asignaremos ‘TallerIoTEVENTO’+Nuestras iniciales, seleccionaremos nuestra ontología y pulsaremos el botón ‘Cargar campos’.

 

image261

 

Seleccionamos los campos ‘TEMPERATURA’, ‘TIPO’ y ‘UBICACIÓN’ y pulsamos el botón ‘Crear’.

 

Fijémonos en la columna ‘Nombre Evento CEP’, ese será el nombre que deberemos usar en el siguiente punto.

 

image262

 

Ahora accedemos al menu Mis Reglas CEP y pulsamos sobre el botón Crear Regla.

 

image263

 

Seleccionamos el Evento que hemos creado.

 

image264

 

En el ‘from’ establecemos los parámetros de cumplimiento de la regla.

 

image265

 

En el ‘select’ los campos que queremos recuperar cuando se lance la regla CEP.

 

image266

 

En el ‘Insert Into’ la regla que queremos generar, en nuestro caso TallerIoTREGLA+Nuestras iniciales. Una vez introducidas las tres casillas, pulsamos el botón ‘Crear’.

 

image267

 

Ya hemos creado una Regla que generará un evento cada vez que llegue una instancia de ontología con el valor ‘TEMPERATURA’ mayor a 30 y que sea de tipo ‘TEMPERATURA’.

 

image268

 

 

Crear Regla SCRIPT

 

Accedemos a la opción de menú ‘Mis Reglas Script’ y pulsamos sobre ‘Crear Script’.

 

image269

 

Asignamos al Script el nombre TallerIoTSCRIPT+Nuestras iniciales. Le asignamos un timeout de 5 segundos, elegimos el tipo de Script ‘CEP’ y seleccionamos la regla que hemos creado antes. Ahora cuando se lance el evento asociado a nuestra regla, se ejecutará este Script. Por último, elegimos el lenguaje del Script ‘Groovy’.

 

image270

 

Forzamos la ejecución del bloque ‘Then’ añadiendo un return true; en el bloque de evaluación ‘if’.

 

image271

 

En la Guia de Uso Motor Scripting encontraremos más información sobre el uso de Script y las API que disponibiliza.

 

 

Ejercicio Final

 

En el bloque ‘then’ añadiremos la lógica que queramos que se ejecute cuando se produzcan los eventos del CEP.

 

El siguiente código envía un email avisando de que hemos excedido los 30 grados.

 

image272

 

Si queremos recuperar los datos del Evento, la proyección que hicimos a través de la clausula ‘select’ de la Regla CEP, disponemos del Objeto ‘inEvents’.

 

image273

 

Y a través del atributo ‘getValuesJson’ podemos recuperar cada uno de los atributos del Evento, que eran ‘VALOR’ y ‘UBICACIÓN’.

 

Para terminar, os propongo crear una nueva ontología, la llamaremos TallerIoTAlarma+Nuestras iniciales, esta deberá contener los campos UBICACIÓN String y VALOR Number, ambos requeridos.

 

Podemos usar el mismo ThinKP que creamos en el punto 4 y asignarle también esta ontología, y por último usar las API Script para realizar una inserción en la ontología Alarma cuando se produzca un evento.

 

A continuación, un ejemplo de como insertar una ontología desde las Reglas Script:

 

image274

 

En Documentación Sofia2 disponéis de toda la documentación de la plataforma.

 

La Guia Apis SCRIPT describe las API disponibilizadas.

 

Hasta aquí el Taller IoT Sofia2.

 

Esperamos que te haya gustado y te esperamos en el próximo taller!

 

 

 

 

 

 

 

 

 

 

Taller IoT Sofia2: Crear Regla CEP. Crear Regla SCRIPT. Ejercicio Final. (Parte 4/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