PUBLICADA RELEASE 2.14.0 DE SOFIA2

Ya está disponible la release 2.14.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:

· Integración capacidades Social Media V1:

En esta primera versión en Sofia2 se integran capacidades Social Media sobre Twitter. Desde la consola se pueden realizar las siguientes acciones:

Esta información se almacena finalmente en ontologías Sofia2 lo que permite analizarlas a posteriori mediantes herramientas analíticas.

Se pueden buscar usuarios y desde ahí acceder a su timeline:

Y finalmente almacenar la búsqueda en una nueva ontología o en una existente:

Cada usuario puede crear sus configuraciones de acceso o usar una configuración genérica:

También se pueden hacer búsquedas soportando operadores lógicos:

Y las tendencias bien globales bien de un país:

· Contenedor de KPs V1

El contenedor de KPs es un nuevo módulo en Sofia2 que permite el lanzamiento de KPs Python o Java gestionados. Estos se ejecutan en el entorno del contenedor de manera temporizada atendiendo a una expresión CRON.

En esta primera versión se da soporte a la ejecución de KPs en lenguaje Python.

El funcionamiento es el siguiente:

Un KP desplegado en el contenedor generará uno o varios ficheros de mensajes a enviar al SIB siguiendo un formato concreto, de manera que cuando finaliza cada ejecución periódica, el contenedor recoge dichos mensajes y los envía al SIB de Sofia2 en nombre del KP.

Asimismo, un KP puede generar uno o varios ficheros de log, descargables desde la consola de administración.

El registro de un KP en el contenedor se realiza desde la consola de administración eligiendo la opción de menú CONTENEDOR KP’s/APPS > Crear KPs/APPS en contenedor:

En esta pantalla se registran los datos de autenticación en el SIB, cron de periodicidad de ejecución, nombres de ficheros mensajes generados y de trazas, así como la subida del programa Python a ejecutar y las propiedades que necesitará durante la ejecución.

· Sharding Ontologías en BDTR

Este concepto permite que una ontología Sofia2 de gran tamaño (varios millones de instancias) pueda físicamente particionarse en la BDTR. En el caso de RI se persiste en diversas colecciones MongoDB.

Con esto se mejora el rendimiento de las inserciones y consultas sobre ontologías que tienen mucha información en BDTR.

El proceso de división y reconstrucción se hace de forma transparente para el usuario que puede realizar las consultas sin preocuparse del particionamiento físico.

El particionado puede hacerse por usuario o por instancia de KP.

Esta configuración sobre una ontología so sólo puede realizarlo un rol administrador, por tanto en el Entorno cloudLab el usuario debe solicitárselo al administrador.

· Soporte de Motor de Scripting para ejecución de scripts R y scripts Mongo

Con esta funcionalidad podemos desde el módulo de scripting invocar scripts R y scripts Mongo y evaluar su resultado. De esta forma podemos planificar la ejecución de procesos Batch MongoDB (por ejemplo agregado de datos una vez al día) o bien realizar un proceso R a la llega de una ontología (por ejemplo ontología de control).

La forma de hacerlo es:

A través de API del módulo Script de SOFIA2, podemos invocar Script R apisofia.executeRScript(“scriptPrueba.R”) y recuperar la salida para evaluarla en el módulo Script.

Donde el script R puede devolver info:

Los Scripts MongoDB se ejecutan usando apisofia.executeMongoScript(“scriptPrueba.js”);

Por ejemplo:

· Actualización licencia de las APIs

Se han actualizado las APIS disponibilizadas por Sofia2 para indicar claramente que se distribuyen bajo licencia Apache.

· Nueva API Python:

Se ha incorporado a la lista de APIS disponibles el API Python, ese API es compatible con Python 2.7.x y Python 3.x y usa comunicación WebSockets con la plataforma. Esta API está en el menú Desarrollo:

· Soporte MQTTS en SIB-Runtime

Desde esta versión el SIB-Runtime incluye soporte para MQTT sobre SSL autenticando con un certificado (hasta ahora se hacía vía balanceador). En la instancia en la nube se usan los puertos:

· 8883: Puerto MQTTs balanceando a los distintos nodos del SIB.

· 8884: Puerto MQTTs de la Instancia 1 del SIB.

· 8885: Puerto MQTTs de la Instancia 2 del SIB.

El cliente que desee comunicar por MQTTS debe conectar así:

MQTTConnectionConfig config=new MQTTConnectionConfig();

config.setHostSIB(“ssl://sofia2.com”);

config.setPortSIB(8883);

· Soporte creación de índices sobre ontologías desde la Consola BDTR

Un usuario administrador puede crear índices sobre el soporte físico de las ontologías, permitiendo en el caso de la RI basada en MongoDB la creación de índices:

Simples (de un solo campo) por ejemplo:

db.SensorTemperatura.ensureIndex( { “SensorTemperatura.identificador”: 1 } )

db.SensorTemperatura.ensureIndex( { “SensorTemperatura.medida”: -1 } )

Compuestos (varios campos) por ejemplo:

db.SensorTemperatura.ensureIndex( { “SensorTemperatura.identificador”: 1,”SensorTemperatura.medida”:1 } )

Compuestos y con opciones

 db.SensorTemperatura.ensureIndex( { "SensorTemperatura.identificador": 1,”SensorTemperatura.medida”:1 },{unique: true, sparse: true })

Para eliminar índices se debe indicar el nombre del índice, un ejemplo:

db.SensorTemperatura.dropIndex(SensorTemperatura.identificador_1)

Para consultar los índices de una ontología

db.SensorTemperatura.getIndexes()

En futuras versiones los índices se crearán sobre la plantilla de una ontología de modo que al crearse la ontología se asignen estos.

· Soporte de temas Consola Web de Configuración:

Desde esta versión la Web de Configuración Sofia2 soporta el concepto de temas permitiendo que en función de un parámetro cargue unos estilos, cabeceras, pies, menús diferentes.

Estilo por defecto:

Estilo Smart Coruña:

· Actualización SDK Windows y Guía Primeros Pasos

Se ha actualizado el SDK Windows y la guía de Primeros Pasos con Sofia2 con el objetivo de recoger las nuevas capacidades de la plataforma y hacer más sencilla la inmersión en esta. Podéis descargarla desde la sección de Desarrolladores:

 

· Guía de Desarrollo para dispositivos embebidos con KP Modelo

Se ha creado una nueva guía (disponible bajo petición) en la que se explica cómo desarrollar con la infraestructura gestionada del KP Modelo. Se trata de un framework Java de soporte al desarrollo de aplicaciones que ofrece out-of-the-box funcionalidades como despliegue remoto de SW, configuración centralizada, detección de pérdida de conexión,…

Esta infraestructura resulta especialmente interesante para el desarrollo sobre dispositivos desplegados remotamente (como Gateway CSC)

· Soporte Queries nativas en API Manager:

Se ha añadido a la operación GET la capacidad de hacer consultas en modo native. Para eso se puede especificar un nuevo parámetro: {queryType}.

Los valores para el Nuevo parámetro son:

o SQLLIKE: para queries sql.

o NATIVE: para queries nativas.

· Demostrador Visualización Info de Gasolineras

Esta demostración disponible aquí es capaz de representar en un mapa las gasolineras obtenidas de la ontología feedGasolinera. Permite además filtrar por provincia, localidad y calle además de obtener las gasolineras más cercanas a un punto concreto con un radio.

La demostración tiene una versión Developer en la que aparece toda la información que se pasa.

PUBLICADA RELEASE 2.14.0 DE SOFIA2

SOFIA2 RELEASE 2.14.0 PUBLISHED

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

This new version adds the following features to the platform:

· Social Media Capabilities V1

In this first version Social Media on Twitter are integrated on Sofia2. From the console you can perform the following actions

Esta información se almacena finalmente en ontologías Sofia2 lo que permite analizarlas a posteriori mediantes herramientas analíticas.

This information is stored in Sofia2 ontologies allowing make analysis by analytical tools.

You can search for users and from there access your timeline:

And then store the search in a new or existing ontology:

Each user can create their settings access or use a generic configuration:

You can also do searches with logical operators:

Y las tendencias bien globales, bien de un país:

· KPs Container V1

The KPs Container is a new module in Sofia2 that allows launching Python or Java managed KPs. These are executed in the container’s environment following a CRON expression.

This first version supports KPs in Python language.

The operation is as follows :

A deployed KP in the container will generate one or more message following a particular format so that, when it completes each periodic execution , the container collects these messages and sends them to SIB Sofia2 on behalf of the KP .

Also, a KP can generate one or more log files, downloadable from the management console .

Registering a KP in the container is made from the Administration Console by selecting the menu option CONTAINER KP ‘s / APPS > Create KPs / APPS container :

This options allows SIB data authentication storage, cron execution periodicity , generated message and trace files name configuration, as well as the upload of the Python program to run and the configuration of the execution required properties.

En esta pantalla se registran los datos de autenticación en el SIB, cron de periodicidad de ejecución, nombres de ficheros mensajes generados y de trazas, así como la subida del programa Python a ejecutar y las propiedades que necesitará durante la ejecución.

· RTDB Ontologies Sharding

This concept allows a large sized Sofia2 ontology ( several million instances) to be physically partitioned into the RTDB . For RI, is persisted in various MongoDB collections.

It improves inserts and queries performance on ontologies that have much information on BDTR.

The division and reconstruction process is done transparently to the user who can perform queries without physical partitioning worries.

Partitioning can be done by user or KP instance.

This configuration on an ontology can only be performed by an administrator role, so in the environment CloudLab user must ask the administrator.

· Scripting Engine Support for R and Mongo scripts

With this functionality we can invoke R and Mongo scripts and evaluate their results. In this way we can plan the execution of MongoDB Batch processes (eg aggregate data once a day) or do some R process when reach an ontology (eg ontology control).

The way is:

Through Script module Sofia2 API, we can invoke R Script apisofia.executeRScript ("scriptPrueba.R") and retrieve output to evaluate in the script:

Where the R script return:

MongoDB Scripts are executed using apisofia.executeMongoScript ("scriptPrueba.js");

Por ejemplo:

· License APIs Update

The Sofia2s APIs have been updated to clearly indicate their Apache license.

· New Python API:

Another API has been added: The Python API. It supports Python 2.7.x and Pytoon 3.x and uses WebSocket communication with the platform. There is a link in the Developer option of the Web.

· MQTTS Support on SIB-Runtime

From this version, SIB-Runtime includes MQTT support over authenticated SSL via certifícate (so far was done via balancer). These are the ports in the CloudLab instance:

· 8883: MQTTs port to SIB nodes.

· 8884: MQTTs port to SIB Instance 1.

· 8885: MQTTs port to SIB Instance 2.

The client must connect this way:

MQTTConnectionConfig config=new MQTTConnectionConfig();

config.setHostSIB(“ssl://sofia2.com”);

config.setPortSIB(8883);

· Ontology index creation via RTDB Console

An administrator user can create indexes on the ontologies , allowing in the case of MongoDB based RI the indexes creation :

Simples (one field):

db.SensorTemperatura.ensureIndex( { "SensorTemperatura.identificador": 1 } )

db.SensorTemperatura.ensureIndex( { "SensorTemperatura.medida": -1 } )

Complex (several fields):

db.SensorTemperatura.ensureIndex( { "SensorTemperatura.identificador": 1,”SensorTemperatura.medida”:1 } )

Complex and with options:

 db.SensorTemperatura.ensureIndex( { "SensorTemperatura.identificador": 1,”SensorTemperatura.medida”:1 },{unique: true, sparse: true })

To delete indexes must indicate the name of the index , an example:

db.SensorTemperatura.dropIndex(SensorTemperatura.identificador_1); 

To consult indexes:

db.SensorTemperatura.getIndexes();

On future versions indexes will be created on the ontology’s template so that they will be assigned during ontology creation .

· Themes Support for Config Web Console:

From this versión on, the Web Configuration Console’s theme is customizable, allowing custom header, menu, footer and style loading from configuration properties.

Default styles:

Smart Coruña Styles:

· Windows SDK and First Steps guide update

The Windows SDK and Sofia2 First Steps guide have been update adding the new capabilities of the platform making easier to step into the platform. You can download it from the Developers section :

· KP Model Development Guide for embedded devices

A new guide (available on request) has been created which explain how to develop over the managed infrastructure of the KP Model. It’s a Java framework to support application development that provides out-of-the-box features such as remote SW deployment, centralized configuration, connection lost detection,..

This infrastructure is particularly interesting for remote deployed device’s development (like CSC Gateways)

· Native Support API Manager queries

Native Suport has been added to the GET(sql) operation of the Ontologies API Manager module. Now you can specify a new parameter: {queryType}.

The values of the new parameter will be one of the following:

o SQLLIKE: for sql queries.

o NATIVE: for mongo queries.

· Fuel Station Viewer:

This demo available here can represent on a map the petrol stations from the feedGasolinera ontología. Also it allows filtering by county, town and street plus get the nearest gas station to a particular point with a radio.

The demo has a Developer version in which you can view all information passed.

SOFIA2 RELEASE 2.14.0 PUBLISHED

Qué es SIGFOX?

SIGFOX es una solución de conectividad celular mundial para el Internet of Things pensada para comunicaciones de baja velocidad que permite reducir los precios y el consumo de energía para los dispositivos conectados.

La solución de conectividad SIGFOX se basa en una infraestructura de antenas y de estaciones de base totalmente independientes de las redes existentes.

Esta red de baja velocidad se irá instalando en 60 países durante los próximos cinco años.

SIGFOX desata el potencial del IoT proporcionando una red mundial para objetos conectados altamente escalable, los dispositivos SIGFOX Ready™ se conectan a Internet sin costes suplementarios ligados a la situación geográfica y sin configuración de red para una ubicación específica.

Esta solución de conectividad mundial es administrada por SIGFOX gracias a su programa de colaboración con los operadores de redes celulares, conectando los ecosistemas locales a las redes mundiales. A diferencia de los operadores de telefonía intentando aumentar el ancho de banda a 2/3/4G para dar servicio a móviles y tablets, el objetivo principal de SIGFOX consiste en permitir que todo objeto pueda conectarse a Internet, de forma asequible, dondequiera que se encuentre y sin necesitar de recargar su batería.

Es imposible imaginar el despliegue de billones de dispositivos conectados con unos costes de comunicación tan elevados, y considerando semejantes volúmenes, cada centímetro cuadrado de microchip cuenta. El protocolo SIGFOX es compatible con la mayoría de transceptores existentes, y por ende es fácilmente accesible para los fabricantes de módulos y dispositivos.

SIGFOX ya está implantado en

Y está previsto implantarlo en todos estos: http://www.sigfox.com/es/#!/connected-world/sigfox-network-operator

A nivel tecnológico SIGFOX utiliza la UNB (Ultra Narrow Band), basada en una tecnología de radio, para conectar dispositivos a su red mundial. La utilización de la UNB es esencial para suministrar una red de alta capacidad, evolutiva, de muy bajo consumo energético, conservando una infraestructura celular centrada en las estrellas simple y fácil de implantar.

Si estáis pensando en utilizar SIGFOX en vuestra aplicación es importante tener en cuenta que SIGFOX es una solución de conectividad que se concentra sobre los dispositivos de baja velocidad. En SIGFOX puede enviar entre 0 y 140 mensajes por día y cada mensaje puede contener hasta 12 bytes de datos reales de carga útil. El protocolo ya transmite el ID del dispositivo, de modo que los 12 bytes representan la carga útil real y no existe ningún límite sobre cómo estructurar estos 12 bytes.

SIGFOX además ofrece un API y un CLOUD SIGFOX que ofrece una interfaz de aplicación web para la gestión de dispositivos y la configuración de integración de datos, así como APIs web estándares para automatizar la gestión de los dispositivos e implementar la integración de datos. Las APIs se basan en las peticiones HTTPS REST, como GET o POST y el formato de carga es JSON. También pueden proporcionar interfaces IPv6 para sus dispositivos, así como el protocolo MQTT.

Para que una “thing” pueda enviar mensajes con SIGFOX necesita un módem certificado.

Algunos ejemplos de aplicación pueden ser estos:

El precio va por abonos que dependen del volumen de los mensajes intercambiados por los dispositivos y la cantidad de dispositivos. Para más información contacte a su SNO local.

Para ampliar información podéis leer su WhitePaper.

Qué es SIGFOX?

Las 2 ciudades españolas finalista de los premios a la mejor ciudad inteligente 2014 usan Sofia2

Hoy en el @SmartCityExpo se entregan los premios World Smart Cities Awards 2014, de las 6 ciudades nominadas hay 2 españolas y es un orgullo poder decir que ambas usan la Plataforma Sofia2.

En @SmartCoruna Sofia2 es el cerebro de la Plataforma Horizontal que da soporte a los pilotos.

En Rivas Vaciamadrid ya tenemos integrada información de señales WIFI y de farolas y cámaras y continuamos trabajando.

Suerte a los dos!!!

Las 2 ciudades españolas finalista de los premios a la mejor ciudad inteligente 2014 usan Sofia2

Intermitencias en Servicio Sofia2 CloudLab durante día del 19/11/2014

Debido a problemas en la Infraestructura Cloud que alberga el Entorno de Experimentación gratuito de Sofia2, Azure durante el día del 19 de noviembre de 2014 habéis podido notar pérdidas en el Servicio.

El problema está ya solucionado y el entorno vuelve a estar operativo.

Sentimos las molestias ocasionadas!

Intermitencias en Servicio Sofia2 CloudLab durante día del 19/11/2014