Onesait Platform vs ThingWorx (Parte 1)

Header Onesait Platform vs ThingWorx

Esta es la primera de una serie de entradas en los que vamos a comparar dos plataformas digitales de IoT: nuestra Onesait Platform ThingWorx. El objetivo es crear un flujo IoT básico en el que simularemos un edificio que dispone de dispositivos para la lectura de consumo energético y temperatura. Más tarde, crearemos un cuadro de mando para visualizar estos datos.

Con el fin de conseguir una mejor comprensión de esta comparativa, estructuraremos los pasos a seguir, comunes a las dos plataformas, en cuatro entradas:

  1. Registro y Login. Modelado de datos.
  2. Conecta tu dispositivo.
  3. Simular datos de entrada.
  4. Crear Aplicaciones.

Hoy empezamos con la primera parte, así que… ¡vamos allá!

REGISTRO Y LOGIN

Onesait Platform

Desde la Onesait Platform ofrecemos un entorno gratuito en el que puedes crearte un usuario y empezar tus desarrollos sin ningún límite de tiempo para ello, denominado CloudLab.

Crear un usuario es tan sencillo como registrarse en cualquier otra web; al hacer clic en Sign Up te pedirá que rellenes un pequeño formulario, tras lo que te llegará un correo electrónico con una URL para activar tu usuario.

Si has elegido el rol desarrollador (developer) al crear tu usuario, ya tendrás acceso a la creación de los recursos necesarios para este tutorial.

ThingWorx

Lo primero que debes hacer es registrarte en su web.

Tendrás que rellenar un formulario en el que debes incluir nuestro movil. Para activar la cuenta, te pediran confirmación por movil y correo electrónico. Una vez completados los pasos, llegarás a esta pantalla y tendrás acceso a un entorno de prueba con un límite de 30 días.

Llegado a este punto, ya tendrás permiso para crear el entorno de prueba, pudiendo empezar con los desarrollos de este tutorial.

Modelado de datos

Onesait Platform

La Onesait Platform funciona en torno al dato. Cualquier evento, medida, comando o dato en general se gestiona en la Plataforma como una entidad, que es almacenada, puede ser consultada y además puede desencadenar ciertas acciones: notificaciones, ejecución de reglas/flujos, etc.

La Plataforma trabaja también con el concepto de Ontología como entidad. Una Ontología representa el modelo de dominio que maneja un Digital Client: un Dispositivo (en terminología de la Onesait Platform hablamos de Digital Client) representa a cada uno de los elementos que interactúan con la Plataforma, bien publicando o bien consumiendo información.

Un Digital Client puede representar desde un dispositivo sencillo (un Arduino o un iBeacon) a un Gateway (una Raspberry) o un Sistema Empresarial (Backend Java). Un Digital Client puede manejar una o varias Ontologías.

Las Ontologías se representan en formato JSON y pueden representar un modelo básico (como si fuera una tabla) o un modelo complejo con relaciones (como si tuviésemos un conjunto de tablas relacionadas). Cuando un Dispositivo envía una medida hablamos de Instance (Instancia de Ontología). Las Ontologías pueden crearse de diversas formas: visualmente en un diagrama de clases UML, a través de un esquema JSON o XML, campo a campo o a partir de un CSV/XLS.

Por lo tanto, una Ontología tiene los siguientes propósitos:

  • Definir semánticamente el tipo de datos, con sus atributos y restricciones.
  • Definir el soporte físico (colecciones, tablas, etc.) para el almacenamiento de datos tanto en base de datos de tiempo real como en histórico.
  • Definir las reglas de seguridad en el acceso a la información contenida en la ontología.

Para conocer con más detalle las Ontologías, tenemos a nuestra disposición los siguientes documentos:

En la consola de administración de la Onesait Platform existen diferentes alternativas para crear una ontología. En este caso usa la opción de Crear ontología paso a paso.

Lo primero, haz clic sobre My Ontologies > Create.

Selecciona Create Step by Step. A continuación, introduce los campos obligatorios como el nombre y la descripción y elige el tipo de plantilla que vayas a usar. En este tutorial, la crearás desde cero. Para ello, haz clic sobre General > EmptyBase e introduce manualmente los atributos que quieras.

Una vez hayas introducido los atributos y sus características, haz clic en Update Schema > Generate Instance > New. Con esto ya habrás creado tu modelado de datos u ontología. Puedes consultarla y modificarla desde el listado.

Al finalizar este paso, habrás dado de alta en la Plataforma una ontología, caracterizada por:

  • Definir el tipo de datos smartbuildingjfg. De forma que la plataforma admitirá Instancias que contengan datos en formato JSON del tipo:
{"smartbuildingjfg":{ "smartbuildingid":"string","address":"string","city":"string","state":"string","zip":"string","geometry":{"coordinates":[28.6,28.6],"type":"Point"},"ligthid":"string","watts":1,"thermostatid":"string","temperature":1}}
  • Definición en Base de datos de tiempo real del soporte de almacenamiento para la ontología. En una instalación de referencia (Con MongoDB como BDTR) esto se materializa en una colección llamada smartbuildingjfg¸  que será donde se almacenen en tiempo real los datos.
  • Definición de permisos sobre la ontología. En este caso solo tiene permiso el propietario, ya que fue declarada como privada. No obstante, desde el menú de ontologías, el propietario puede dar permisos (Lectura, Escritura o Ambas) a usuarios concretos, o a grupos de usuarios con los que tenga proyectos comunes.

ThingWorx

En ThingWorx, antes de comenzar a crear entidades en su plataforma, es útil crear etiquetas de modelo (Model Tags) para que puedas exportar y guardar las entidades que ha creado. Las Model Tags son términos utilizados para categorizar y agrupar elementos en toda la plataforma. Estas etiquetas pueden usarse para agrupar, controlar versiones, buscar y migrar entidades. Las etiquetas del modelo consisten en un “vocabulario” y un “término” (vocabulario: término). Por ejemplo, «Color: Azul» o «Departamento: Finanzas».

El primer paso sera crear este model Tag. Para ello sitúate en la ventana «Model Tag», haz clic en «New», dale un nombre y guárdalo. Para este tutorial hemos creado el «Model Tag» FoundationQuickstart.

Abre el model tag que acabas de crear, haz clic sobre Vocabulary Terms y añade uno nombrándolo Home Application.

Con esto ya tienes un Vocabulario y un Termino. Ahora crearás el equivalente a la ontología de Onesait Platform. En ThingWorx se llama Thing Template.

Para ello, sitúate sobre Thing Templates, haz clic en New y crea uno como indica la imagen.

Pulsando ahora en Properties and Alerts en el menú superior y pulsando en Add, puedes empezar a introducir los atributos que formarán tu esquema. Para ello, introduce el nombre (Name), el tipo de dato (Base Type) y selecciona los diferentes aspectos que quieres que tengan:

  • Persistent: las propiedades que no son persistentes restablecerán sus valores a su valor predeterminado después de una Thing o reinicio del sistema.
  • Logged: Especifica si el valor de la propiedad debe registrarse automáticamente en un flujo de valores siempre que cambie los datos (en función del tipo de cambio de datos).

Pulsa Done and Add y repite estos pasos para cada propiedad. Para la última propiedad, pulsa Done y luego, Save.

De esta manera habrás definido tu modelo de datos en ThingWorx.


En la siguiente entrada de esta serie veremos como conectar nuestros dispositivos con las dos plataformas, así que… ¡os esperamos la semana que viene!

2 Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *