PUBLICADA RELEASE 2.22.0 DE SOFIA2

Ya está disponible la release 2.22.0 deSofia2, esta release también se ha disponibilizado en la Plataforma de Experimentación Sofia2 CloudLab.

Ver releases

Esta versión añade a la Plataforma las siguientes funcionalidades:

· Versión de Sofia2 personalizada para el Evento IoT Smart World Congress 2015

Indra tendrá un stand en el principal evento en el ámbito IoT a nivel mundial, que tendrá lugar en Barcelona del 16 al 18 de septiembre (http://www.iotsworldcongress.com/en/home)

Dentro del stand dedicado a IoT, Sofia2 tendrá un puesto muy relevante. Para la ocasión el equipo ha preparado una versión que incluye un conjunto de demostradores que dan una idea de las capacidades multisector (Smart Everywhere) de Sofia2.

· Presentación de Sofia2 como Plataforma Cloud Certificada de Libelium

Aprovechando el evento presentaremos la integración entre los Meshliums de Libelium y la Plataforma Sofia2, que permite enviar datos desde el Meshlium a Sofia2 y procesarlos si ninguna programación.

Esta integración permite crear de forma aún más rápida soluciones IoT basadas en los diferentes modelos de Waspmotes y en Sofia2 como plataforma de integración sensórica, de toma de decisiones y de analítica de los datos para toma de decisiones.

Con esta integración podemos crear en un tiempo récord soluciones de medición de calidad de agua, de detección de incendios, de optimización de riego, de monitorización de viñedos, de detección de incendios y muchas más.

Para presentar la integración se han desarrollado un conjunto de Dashboards que representan la información en tiempo real recibida de los sensores WASPMOTEs:

· Nueva versión de la Consola de Configuración de Sofia2 (Panel Control Sofia2)

Coincidiendo con el evento IoT hemos os presentamos una primera versión de la próxima generación del Panel de Control Sofia2.

Esta nueva versión de la Consola es completamente Responsive (sobre Bootstrap) y permite ver cómo en la versión final del nuevo Panel de Control Sofia2 se simplifica todo el proceso de configuración:

· Demostrador Twitter Of Things:

Demuestra por un lado las capacidades de la Plataforma de escucha en tiempo real sobre Twitter y por otro lado la integración de las APIs Sofia2 con los Intel IoT Gateway DK100 y DK300.

Una vez nos hagamos seguidores de la cuenta de Twitter de la Plataforma Sofia2, a través de Twitter podremos enviar un mensaje como este:

Sofia2 tiene definido un Planificador de escucha sobre este hashtag (#Sofia2AndIntelDemo) que permite recibir todo lo que se envía en la red sobre ese hashtag.

A su vez el Gateway de Intel, a través del API Java de Sofia2 está escuchando en una Ontología recibiendo las órdenes para cambiar el color de una banda de LEDs.

La demo tiene alguna sorpresa adicional!!! si os pasáis por el stand de Indra podréis ver por ejemplos los colores de vuestro equipo de fútbol en la banda.

El demostrador se complementa con un Dashboard Sofia2 que representa en tiempo real una estadística de colores y equipos más solicitados.

Tras el evento publicaremos el código y las interfaces de usuario de este demostrador para que cualquiera pueda usarlos como base para sus desarrollos.

· Dashboards Sofia2 Versión 4.0

Integrado en la nueva Consola Web tenemos esta nueva versión de los Dashboards, que entre otras mejoras incluye:

Disponibilización de Dashboard bajo una URL, esto permite lanzar un Dashboard desde fuera de la Consola Sofia2.

Soporte del redimensionado de los Gadgets, zoom y plegado de Gadgets

-Nuevos Temas como el dark_theme_free.css:

-Cambio de estilo de algunos Gadgets como el Gauge que han cambiado la librería Javascript de base.

Además esta versión incluye numerosas mejoras de rendimiento, fluidez animaciones, estilado, imágenes,…

· Nuevo Gadget HTML5:

Este nuevo y potente este Gadget permite cargar contenido HTML5 a medida en el Gadget permitiendo incluso la carga en caliente de librerías externas JS.

Esto nos permite el desarrollo visual sobre la propia consola de KPs Javascript Sofia2 o de completas aplicaciones Javascript alojadas en Sofia2 que luego pueden añadirse a un Dashboard Sofia2.

El Gadget también soporta la carga de SVGs lo que permite crear gráficos vectoriales e interactivos:

· Carga dinámica de librerías de Reglas Script

A través de la Consola Sofia2, los administradores de la Plataforma podrán cargar (y descargar) dinámicamente librerías (JARS) con nuevas Operaciones que podrán ser usadas desde las Reglas de inmediato.

· Otros demostradores para el evento IoT Smart World Congress

El equipo sigue trabajando en más demostradores para el evento, de los que os iremos informando a través del Blog Sofia2 (http://about.sofia2.com). Entre ellos:

Demo Control Domótico sobre la sensórica del propio Stand de Indra en el evento a través de un interfaz 3D desarrollado sobre la plataforma para presentaciones 3D Cl3ver, integrado con Sofia2 a través del API Javascript de Sofia2 y que envía órdenes al Gateway de Indra Node#1

Demostrador Smart Retail en un entorno virtual 3D contruido por nuestro partner ILUX con su Visor Holístico 3D eVidens que representa la información simulada recogida por Sofia2 referente a colas, número de personas en tienda,…

Demostrador Dron Sofia2, este demostrador es un ejemplo de desarrollo Open Hardware+Open Software, el Dron es completamente controlado por Sofia2 (ruta, captura de imágenes, información sensórica,…).

· Numerosas mejoras en Módulo Reglas Script

En esta versión se han incorporado diversas mejoras en este módulo, con el objetivo de hacer más sencillo su uso y más fácil de depurar cuando estamos en ejecución.

Se ha añadido por ejemplo ayuda contextual a la hora de conocer el interfaz de una Operación.

· Resolución de incidencias y pequeñas mejoras de usabilidad de la Plataforma

PUBLICADA RELEASE 2.22.0 DE SOFIA2

SOFIA2 RELEASE 2.22.0 PUBLISHED

Sofia2 new release 2.22.0 is now available. This release has also been deployed in the experimentation platform Sofia2 CloudLab.

View releases

This new version adds the following features to the platform:

· Personalized version of Sofia2 for the IoT Smart World Congress 2015 Event

Indra will have a stand in the main event in the IoT field worldwide, to be held in Barcelona from the 16th to the 18th of September (http://www.iotsworldcongress.com/en/home)

Within the stand dedicated to IoT, Sofia2 will have a very important position. For the occasion the team has prepared a version that includes a set of demonstrators that give an idea of the multi-sector capabilities (Smart Everywhere) of Sofia2.

· Presentation of Sofia2 as Certified Cloud Platform of Libelium

Within the event we will present the integration between Meshliums of Libelium and Sofia2 Platform, this integration permits send data from Meshlium to Sofia2 immediately with 0 programming.

This integration enables to create, even faster, IoT solutions based on different models of Waspmotes and Sofia2 as sensor integration platform, decision-making and data analytics for decision making.

With this integration we can create solutions in record time of measuring water quality, fire detection, irrigation optimization, vineyard monitoring and many more.

To present the integration a set of dashboards have been developed that represent the real-time information received from the sensors

· New version of Sofia2 Configuration Console (Sofia2 Control Panel)

Using the IoT event we decided to present a first version of the next generation Control Panel Sofia2.

This new version is fully Responsive (on Bootstrap) and allows us to see how in the final version of the new Control Panel Sofia2 the entire configuration process is simplified:

· Demostrator Twitter Of Things:

it shows the capabilities of the platform listening in real time on Twitter and on the other hand the integration of Sofia2 APIs with Intel IoT Gateway DK50 y DK100.

Once we become followers of the Twitter account of the Sofia2 Platform (https://twitter.com/SOFIA2_Platform), through Twitter we can send a message like this one:

Sofia2 has defined a Listening Planner for this hashtag (#Sofia2AndIntelDemo) that allows to receive everything that is sent on that hashtag.

In that moment, the Intel Gateway through the Java API of Sofia2 is listening on an Ontology receiving orders to change the color of a strip of LEDs.

The demo has an additional surprise!!! if you pass by Indra´s stand you can see examples of the colors of your football team on the band.

The demonstrator is complemented with a Sofia2 Dashboard representing a real-time color statistics and major equipment.

After the event we will post the code and the user interfaces of this demonstrator for anyone to use as a basis for their developments.

· Sofia2 Dashboards Version 4.0

Integrated into the new Web Console we have this new version of Dashboards, which includes among other improvements:

Dashboard available under a URL, this allows launching a Dashboard from the outside of the Sofia2 Console.

Support for resizing Gadgets, zoom and folding Gadgets

-New Themes as dark_theme_free.css:

Change styling of some gadgets like Gauge that have changed the base JavaScript library.

Also this version includes numerous performance improvements, fluent animations, styling, images,…

· New HTML5 Gadget:

This powerful new gadget allows to load customized HTML5 content in the Gadget, allowing even the hot load of external JS libraries.

This allows the visual development on the console of Sofia2 Javascript KPs or complete Javascript applications hosted on Sofia2 which can then be added to a Dashboard Sofia2.

The gadget also supports loading SVGs allowing you to create vector and interactive graphics:

· Dynamic loading of libraries Script Rules

Through the Sofia2 Console, platform administrators can load (and download) dynamic libraries (JARS) with new operations that can be used from the Rules immediately.

· Other demonstrators for the event IoT Smart World Congress

The team is still working on more demonstrators for the event, of which we will inform via the Blog Sofia2 (http://about.sofia2.com)

Domotic Control Demo of the sensor system of Indra´s own stand at the event through a 3D interface developed on the platform for 3D presentations Cl3ver integrated with Sofia2 through the JavaScript API Sofia2, it sends orders to the Indra Gateway Node#1:

Smart Retail Demo in a 3D virtual environment built by our partner ILUX with 3D Holistic Viewer eVidens representing the simulated data collected by Sofia2 concerning queues, number of people in the store,…

Dron Sofia2 Demo, this demo is an Open Hardware+Open Software example, Dron is completelly controlled by Sofia2 (route, imaging capting, sensors information,…)

· Numerous improvements on the Script Rules Module

This version incorporates several improvements in this module, in order to simplify its use and make it easier to debug when we are running.

For example, contextual help has been added to get to know the interface of an operation.

· Resolution of incidents and small usability improvements of the Platform

SOFIA2 RELEASE 2.22.0 PUBLISHED

Three As Rule on Internet of Things

The Three As Rule allow us to define what should demonstrate an Internet of Things solution:

A connected asset must be able to sense something about its surroundings, this might be location, proximity, altitude, temperature, vibration, humidity, light levels, or motion.

If it doesn’t sense something, it’s not IoT.

The data processed from a connected asset must be transferred to a central location or processing application automatically — either at a set time, or when a condition is met or a threshold passed.

Without connectivity, it’s not IoT.

IoT isn’t just about gathering data; it’s about using it to make better decisions — that’s the value of IoT.

Regardless of whether the output is manual or highly automated, analysis of the data must be integrated into business processes.

If the data is not actionable, by you or a third party, it’s not IoT.

Three As Rule on Internet of Things

La Regla de las 3 As en Internet Of Things

La Regla de las 3 A nos permite definir qué debe cumplir una Solución Internet Of Things:

AWARE – AUTONOMOUS – ACTIONABLE

Un Asset conectado debe ser capaz de medir algo a su alrededor (ubicación, la proximidad, la altitud, temperatura, vibración, la humedad, los niveles de luz, o el movimiento, el estado en una red social, tu opinión sobre algo).

Si NO se mide algo NO es IoT.

Los datos procesados de un Asset conectado deben ser transferidos a una localización central o aplicación de procesamiento de forma automática (a una hora concreta, bajo una condición,…)

Sin conectividad NO es IoT

IoT no es solo recopilar datos, también trata de tomar mejores decisiones.

Tanto si la salida es manual como automática, el análisis de ese dato debe integrarse en los procesos de negocio.

Si el dato NO es procesable NO es IoT

La Regla de las 3 As en Internet Of Things

Nueva Guía Scripting

Sofia2 cuenta con un Motor de Reglas de alto rendimiento con capacidad de ejecutar ciertas reglas/scripts de negocio.

Se ha habilitado una nueva guía de usuario en la web: APIs Script con Sofia2.

Esta guía describe las APIs que pueden usarse desde el Motor de Reglas Scripting de la Plataforma Sofia2.

En ella se incluye:

  • Listado de APIs disponibles
  • Métodos de cada API con el cometido de cada uno de ellos
  • Parámetros de entrada y resultado que devuelve cada método
  • Ejemplos de uso de cada método, entre los cuales están: hacer operaciones sobre la BDTR, envío de emails, publicación en twitter, etc.
Nueva Guía Scripting

Introducción a MQTT (y uso en Sofia2)

Aprovechando el DZone Refcardz de Dominik Obermaier sobre MQTT:

Vamos a contar los conceptos fundamentales de MQTT, un protocolo de mensajería Publish-Subscribe muy usado en el ámbito IoT, y que Sofia2 soporta desde sus primeras versiones.

Mientras que HTTP es el protocolo estándar para la web, en IoT MQTT es un protocolo muy interesante por su modelo Publish/Subscribe y por ser muy ligero (hasta en Arduino corre :)) y multilenguaje.

¿Qué es MQTT?

MQTT es un protocolo de mensajería de tipo publicación/suscripción, estandarizado por OASIS.

  • Es ligero, abierto, simple, y fácil de implementar.
  • Está diseñado para tener una mínima sobrecarga lo que hace que sea una buena opción para aplicaciones M2M y de Internet de las cosas, sobre todo cuando aparecen sistemas embebidos o limitados.
  • MQTT utiliza características del transporte TCP, por lo que el requisito mínimo para el uso de MQTT es el uso de TCP.
  • La versión más reciente de MQTT es 3.1.1, que tiene muchas mejoras con respecto a la primera versión MQTT pública, MQTT 3.1.

Casos de Uso

MQTT es especialmente interesante en escenarios en los que la entrega de mensajes confiable es crucial para una aplicación, pero no se dipone de una conexión de red fiable (por ejemplo una red móvil).

En ese sentido tiene aplicación a:

• Telemetría

• Automotriz

• Casa inteligente

• Monitorización de Energía

• Aplicaciones de Chat

• Notification Services

Comunicación Publish/Subscribe

Este patrón desacopla el cliente que envía un mensaje (Publicador) de otros clientes que puedan consumirla (Suscriptores):

De esta forma los publicadores y suscriptores no tienen que conocerse y sólo tienen que conocer el Message Broker (por otro lado Sofia2 es un Broker que aisla del protocolo subyacente, permitiendo que un Publicador publique por ejemplo en MQTT y haya suscriptores WebSocket).

Tipos de mensajes MQTT

Sofia2 tiene 14 tipos de mensajes, normalmente un usuario sólo usa los mensajes de CONNECT, PUBLISH, SUBSCRIBE Y UNSUBSCRIBE.

Sofia2 permite usar directamente el protocolo MQTT aunque lo más cómodo es usar una de las APIs de Sofia2 que aíslan de las complejidades del protocolo, permitiendo comunicar con Sofia2 sin necesidad de conocer el protocolo de más bajo nivel.

Tópicos MQTT

Un tópico es una cadena UTF-8 que usa el Broker para filtrar mensajes para cada cliente conectado.

MQTT soporta Wildcards (+ y #):

Calidad del Servicio:

MQTT soporta 3 Calidades del Servicio (QoS).

Cada mensaje publicado se envía con uno de estos niveles de Quality of Service (QoS).

Estos niveles representan las diferentes garantías en la entrega del mensaje.

Otros conceptos:

  • Un mensaje Last Will and Testament (LWT) puede especificarse por un cliente cuando conecta con el Broker MQTT. En ese caso si el cliente no desconecta correctamente el Broker envía el mensaje LWT.
  • Cada mensaje MQTT message puede ser enviado com o un mensaje retained, en este caso cada Nuevo cliente que conecta a un tópico recibirá el último retained message en ese tópico.
  • Cuando un cliente conecta con el Broker puede solicitar una sesión persistente, en ese caso el Broker almacena todas las suscripciones del cliente, todos los mensajes QoS 1 y 2 no procesados o perdidos por el cliente
  • Un mensaje MQTT CONNECT contiene un valor keepAlive en segundos donde el cliente establece el máximo timeout entre intercambio de mensajes

Implementaciones MQTT:

Escalado MQTT

En una Arquitectura basada en Broker es fundamental evitar el SPOF (punto único de fallo). En el contexto MQTT hay 2 estrategias principales:

  • Bridging: hace forward de mensajes a otro bróker MQTT. Es la solución de HiveMQ, Mosquitto, IBM MQ
  • Clustering: soportando añadido dinámico de nodos al cluster. Lo usa ActiveMQ, HiveMQ o RabbitMQ.

Sofia2 de nuevo aisla de esta complejidad permitiendo un escalado dinámico y transparente en función de los nodos que se vayan añadiendo.

MQTT y la Seguridad

Ya sabemos lo importante que es la seguridad, y más en escenarios IoT en el que comunican objetos entre sí.

MQTT confía en tecnologías estándares para esto:

  • Autenticación usuario/Password
  • Seguridad TLS

Nuevas características de MQTT 3.1.1

MQTT 3.1.1 es la release más reciente de MQTT (octubre de 2014).

Esta versión es retrocompatible con la 3.1 aunque añade alguna característica interesante como clientes MQTT anónimos.

Introducción a MQTT (y uso en Sofia2)