La plataforma de IoT Play fue concebida para facilitar el desarrollo de entornos de Internet de las Cosas cubriendo sus necesidades de almacenamiento y gestión de datos. Una vez desplegado nuestro sistema Hardware, garantizando su interacción con nuestra plataforma, es necesario desarrollar una aplicación que emplee esta información para generar valor. A continuación veremos la facilidad con la que se puede construir una aplicación que nos permita tener un seguimiento de los eventos percibidos por la parte hardware de nuestra instalación.Existen infinidad de lenguajes de programación y tecnologías que pueden ser empleadas en el desarrollo de una aplicación de estas características. De hecho, en ocasiones los requisitos de estos programas no tienen que ser excesivos como para necesitar elementos software muy complejos. Por ejemplo, las tecnologías y lenguajes web (HTML, CSS, Javascript) son una gran elección por su sencillez a la hora de crear aplicaciones de calidad, funcionales y con una interfaz de usuario atractiva. De hecho, existen frameworks CSS como Bootstrap o MaterializeCSS que simplifican mucho todo el proceso de diseño del sitio web.
Pero no todo en una web es el aspecto visual. Necesitamos que se produzca una comunicación entre nuestra aplicación y Play para acceder, tanto a los datos recogidos por la parte hardware, como a las distintas herramientas de gestión que ofrece la plataforma a través de su API REST. El lenguaje web Javascript, usando JQuery por ejemplo, ofrece una tecnología perfecta para realizar esta comunicación bidireccional: AJAX. Este sistema, sencillo e inmediato de implementar, permite realizar peticiones a Play para realizar cualquiera de las acciones ofrecidas por la plataforma.
Pero no todo en una web es el aspecto visual. Necesitamos que se produzca una comunicación entre nuestra aplicación y Play para acceder, tanto a los datos recogidos por la parte hardware, como a las distintas herramientas de gestión que ofrece la plataforma a través de su API REST. El lenguaje web Javascript, usando JQuery por ejemplo, ofrece una tecnología perfecta para realizar esta comunicación bidireccional: AJAX. Este sistema, sencillo e inmediato de implementar, permite realizar peticiones a Play para realizar cualquiera de las acciones ofrecidas por la plataforma.
$.ajax({
url :
"UrlToPlay/rs/API/actionToPerform",
type :
"POST",
cache :
false,
dataType
: "json",
success
: function(data) {
// Utilizar los datos devueltos por Play
},
error :
function(jqXHR, textStatus, errorThrown) {
// Gestión de errores
}
});
Código necesario para interactuar con el API REST de Play
Llegados a este punto, disponemos de una aplicación cliente que tiene a su disposición una gran cantidad de información procedente de unos sensores. El siguiente paso lógico sería visualizarla de una forma adecuada. Existe una librería gráfica de Javascript denominada D3.js destinada a la visualización interactiva de datos. Si bien es una tecnología muy potente, su implementación no es tan trivial como la de los demás elementos presentados anteriormente. Por eso, se recomienda el uso de una librería basada en D3js denominada C3, que facilita todo el proceso de generación y configuración de gráficas, reduciéndolo a una sola instrucción de Javascript.
var chart = c3.generate({
data: {
x: 'x',
columns: [
['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
['data1', 30, 200, 100, 400, 150, 250],
['data2', 130, 340, 200, 500, 250, 350],
['data3', 400, 500, 450, 700, 600, 500]
]
},
axis: {
x:
{
type:
'timeseries',
tick:
{
format: '%Y-%m-%d'
}
}
}
});
Código necesario para generar una gráfica con C3
Resultado de una gráfica con datos de Play
Como hemos podido observar, el desarrollo de la parte software de un sistema de Internet de las Cosas puede llevarse a cabo por una persona en pocas semanas si se utilizan tecnologías potentes y sencillas como las comentadas y si éstas se apoyan en una plataforma potente y versátil como es Play. Esto no es sólo teoría sino que queda demostrado con dos casos de uso reales desarrollados sobre Play como son una Oficina Conectada y una Smart Home desde los cuales se puede gestionar toda una red de sensores colocada en un espacio físico y ofreciendo numerosas ventajas para dos entornos diferentes como pueden ser el laboral y el doméstico.
Autor: Roger Guizan y Angel Luis Gonzalez
Estaría bien colocar una serie de sensores en Altran para que a través de Play pudieramos por ejemplo saber si la cafeteria esta full a la hora de la comida.
ResponderEliminar