Tutorial: Puerta conectada usando The Things Networks y Sofia2

En este tutorial queremos presentar en detalle el caso de ejemplo que contamos en nuestro pasado Meetup de integración de redes LPWA con Sofia2 (enlace).

Para este tutorial usamos los dispositivos cedidos por la comunidad de The Things Network – Madrid (enlace), a la que agradecemos su colaboración con nuestra plataforma.

El escenario que vamos a construir en este tutorial es el siguiente:

TTN

El flujo de información en el escenario sigue este orden:

  1. Se coloca un dispositivo (al que llamaremos nodo a partir de ahora) instalado en una puerta con un sensor de apertura y conectividad LoRaWAN. Este dispositivo permanece dormido en modo bajo consumo hasta que el sensor detecta una apertura de puerta, momento en el cual emite el cambio de estado a través de su radio LoRa.
  2. Un estación base (al que llamaremos gateway a partir de ahora) LoRaWAN en radio recibe esta señal del sensor y transmite la información a través de su conexión a Internet con la infraestructura de red de The Things Network.
  3. La infraestructura de The Things Network ofrece diversas alternativas de integración, que son necesarias ya que simplemente hace de pasarela entre los dispositivos y las aplicaciones o plataformas finales. En este ejemplo, haremos uso de una integración HTTP a través de la consola de The Things Network, que hará un PUSH de la información recibida hacia un endpoint definido en Sofia2.
  4. Una vez el dato es recibido en Sofia2, se puede explotar todo el potencial de la plataforma sobre ese dato. En este ejemplo en concreto representaremos gráficamente el valor de la tensión de batería del equipo, y construiremos una regla utilizando el motor de scripts para alertar al propietario de la puerta de los cambios de estado de la misma usando un canal de e-mail y otro de SMS.

Seguir leyendo “Tutorial: Puerta conectada usando The Things Networks y Sofia2”

Tutorial: Puerta conectada usando The Things Networks y Sofia2

Meetup on Sofia2 LPWA Integrations: SigFox, LoRaWAN & The Things Network

On February 28th, we scheduled one of our technical Meetups, this time on LPWA technologies and how easy is to integrate them on Sofia2 IoT Platform. Please join our Meetup group where we will keep you updated with our future meetup events. You may also find here the slides used during the presentation.

A big thank you also to THECUBE Madrid team for giving us free access and use of their building. They also contributed by composing this really nice video on the event, enjoy it!:

These time our speakers where Jorge Trallero and Mario Briceño from our Sofia2 Team. They highlighted how easy is to integrate data collected from IoT devices with LPWA technologies into Sofia2. 3 integrations scenarios were performed:

  • SigFox Integration
  • Private LoRa Network Integration
  • The Things Network Integration

We also had the luxury of having with us member of the core team of The Things Network Madrid Community, to present us their initiatives and to collaborate in the latter integration scenario.

Seguir leyendo “Meetup on Sofia2 LPWA Integrations: SigFox, LoRaWAN & The Things Network”

Meetup on Sofia2 LPWA Integrations: SigFox, LoRaWAN & The Things Network

Meetup sobre Integración de LPWAN con Sofia2: SigFox, LoRaWAN y The Things Network

 

El pasado Miércoles 28 de Febrero tuvimos el placer de organizar uno de nuestros Meetups de tecnología. Podéis seguir tanto este Meetup como los que planifiquemos en el futuro si os unís a nuestro grupo de MeetupAquí también podéis encontrar las slides usadas durante la sesión.

Queremos dar las gracias a THECUBE Madrid por cedernos el espacio y elaborar este video resumen del Meetup, muy chulo!

De la mano de nuestros compañeros Jorge Trallero y Mario Briceño, se presentó de presentar lo sencillo que resulta realizar integraciones de datos recogidos de dispositivos que transmiten usando tecnologías de comunicación Low Power Wide Area (LPWA). En concreto nos centramos en 3 casos:

  • Integración con SigFox
  • Integración con una red LoRa privada
  • Integración con The Things Network

Además tuvimos el privilegio de compartir nuestro espacio con la comunidad de The Things Network en Madrid, sobre la que podéis leer más en este post.

Seguir leyendo “Meetup sobre Integración de LPWAN con Sofia2: SigFox, LoRaWAN y The Things Network”

Meetup sobre Integración de LPWAN con Sofia2: SigFox, LoRaWAN y The Things Network

¿Qué es la iniciativa The Things Network?

En este post os queremos transmitir lo que es la iniciativa de The Things Network (TTN desde ahora), y como han conseguido, en poco más de 2 años, empezando con una campaña en Kickstarter, promover la creación de más de 400 comunidades de entusiastas y desarolladores de IoT, con una red global y colaborativa de +2600 gateways utilizando la tecnología LoRaWAN.

 

Amsterdam: Zona cero

 

Todo empezó en Amsterdam en el verano de 2015, de la mano de los dos fundadores de The Things Network: Wienke Giezeman y Johan Stokking. En este breve vídeo, Wienke explica los inicios y las capacidades de TTN:

 

Utilizando la tecnología LoRaWAN, cubrieron todo el centro de la ciudad de Amsterdam con cobertura LoRaWAN en un par de semanas con unos pocos gateways.

 

Tecnología LoRaWAN + Red Abierta – Open source

 

TTN eligió como tecnología de comunicación LoRaWAN sobre LoRa (más info en este enlace de la LoRa Alliance). Basada en una modulación de espectro extendido, LoRa alcanza considerables distancias utilizando una potencia muy pequeña ocupando todo el ancho de banda disponible en torno a la frecuencia de 868 MHz (EU). Esta transmisión se puede realizar incluso por debajo del nivel de ruido, lo que otorga a la comunicación una robustez superior frente al ruido.

 

Desde el inicio ha sido una tecnología abierta y con gran atracción entre los entusiastas del IoT, centrándose en 3 puntos principales:

 

  • Largo alcance: Cobertura en líneas de 10-20 km son fácilmente alcanzables con un emplazamiento adecuado.
  • Bajo consumo de batería: Esta tecnología de comunicaciones permite alargar la vida de los dispositivos alimentados por batería hasta varios años.
  • Bajos costes: Los costes de los dispositivos son cada vez más competitivos, y una vez tienes cobertura de un gateway, los dispositivos transmiten información sin coste de comunicación alguno (ciñendose eso sí a las cuotas de uso (duty-cycle) del espectro libre para cada región del globo).

 

Además de la tecnología de comunicaciones, TTN ha hecho un esfuerzo de desarrollo en la parte de servidor, construyendo todo el backend de la red y que da soporte a los gateways distribuidos por el globo. Este backend es el que lidia con duplicidades de mensajes, orquestración de mensaje de bajada, gestión de integraciones con plataformas, etc. TTN ofrece también capacidades de integración por HTTP y MQTT, además de una serie de APIs en distintos lenguajes como: Go, Java, Node-RED y Node.js, con las cuales construir una aplicación end-to-end, mediante la integración de nodos, gateways, server de TTN y una platforma IoT como Sofia2.

 

Desde el 1 de Febrero, tanto los diseños HW del gateway y del nodo de TTN, como el código sobre el que se ha escrito todo el backend de TTN ha sido disponibilizado como opensource en su cuenta de GitHub, manteniendo el espíritu abierto y de comunidad con el que empezaron en 2015.

 

429 comunidades en los 5 continentes

 

En la actualidad el fenómeno de TTN ha tenido gran calado en la comunidad IoT global. En este momento disponen de 2946 Gateways en todo el mundo gracias a comunidades locales que montan estos puntos de acceso extendiendo la red y el conocimiento sobre IoT. Esta creciente comunidad está acelerando la expansión del IoT, facilitando a muchas personas el acceso sencillo y gratuito a un ecosistema de IoT donde pueden hacer realidad sus proyectos de forma muy sencilla.

 

mapattn.png

 

En ciudades como Berlín, las comunidades de TTN han dotado a la ciudad de tal nivel de cobertura, que el desarrollo de aplicaciones IoT sobre esta estructura es una realidad:

 

ttn-berlin.png

 

Con Gateways instalados en ubicaciones tan icónicas como la torre de televisión de Berlín, dotando de una cobertura ideal a la capital germana:

 

DQRSwsTW0AEby0h.jpg

Meetup Sofia2 – Comunidad TTN Madrid

 

Este 28 de Febrero, en el espacio de THE CUBE Madrid, seremos los anfitriones de un Meetup sobre tecnologías LPWA (SigFox y LoRaWAN), y cómo hemos integrado ya estas tecnologías con Sofia2.

Además, tendremos el privilegio de contar con la ayuda de la comunidad de TTN oficial en Madrid, que nos contarán de primera mano sus objetivos como comunidad, los avances de TTN y las posibilidades que ofrece como red ciudadana:

 

ttn-madrid.png

 

Como colofón, la comunidad de TTN Madrid nos enseñará un caso de puerta conectada basado en LoRaWAN, conectado a TTN, y que hemos integrado en Sofia2 para poder explotar el caso desde el lado de plataforma, ofreciendo visualización en un dashboard, y usos especiales como el motor de scripting de Sofia2 para disparar alertas.

 

Si estás interesado en asistir, aun nos quedan plazas disponibles, este es nuestro grupo de Meetup:

https://www.meetup.com/es-ES/IoT-BigData-Sofia2-Lab/events/247514374/ .

Es una oportunidad muy buena para conocer más sobre Sofia2 y profundizar sobre la iniciativa TTN gracias a la presencia de la comunidad TTN Madrid.

 

Os esperamos!!

¿Qué es la iniciativa The Things Network?

Web Thing API by Mozilla

W3C Web Thing es una nueva propuesta (en este caso por parte de Mozilla) para describer un modelo de datos común y un API para la “Web of Things”.

La Web Thing Description provee un vocabulario para describir dispositivos físicos conectados a Internet en un formato legible basado en JSON.

Por su parte la Web Thing REST API y Web Thing WebSocket API permiten que un cliente web pueda acceder a las propiedades de un dispositivo, ejecutar acciones sobre este y suscribirse a eventos que representan un cambio en su estado.

La especificación incluye:

· Web Thing Types como tipos adicionales que pueden ser definidos usando extensiones semánticas sobre JSON-LD

· Un Web Thing API Protocol Bindings para escribir bindings a la Web Thing API para otros protocolos IoT

· El documento Web of Things Integration Patterns describe patrones para integrar dispositivos con la Web Thing API.

Seguro que con un ejemplo se entiendo mucho major lo que nos ofrece esta especificación:

Donde podemos ver que el dispositivo (DigitalTwin) tiene una propiedad temperatura de tipo Number, otra humidity y otra led, así como una acción (que alguien puede ejecutar sobre el dispositivo) y un evento (que se publica cuando se desencadena) reboot. Así como links para acceder a las propiedades, acciones ,eventos,…

Siguiendo la especificación podemos ver como:

Ejecutando esta petición:

Obtengo la descripción del dispositivo concreto.

Si hago

Me devolverá el valor de la propiedad:

Si quiero cambiar el valor de una propiedad:

Si quiero lanzar una acción reboot:

También puedo obtener una lista de peticiones de acciones:

Para acceder a los eventos

Aunque a la especificación le faltan aún bastantes cosas (como la seguridad, lógica embebida en el dispositivo) a nivel de interfaces la especificación es muy sencilla y fácil de implementar versus otras soluciones más potentes (y complejas) que veremos en próximos posts.

Web Thing API by Mozilla

Geração de Código de Cliente em Test & Doc APIS

54

Este novo utilitário consiste em um editor de código de cliente para as APIs das Ontologias nas principais linguagens de programação, assim só teremos que copiar o código que ele gera e inseri-lo em nossos aplicativos.

Para isso devemos acessar a API da Ontologia que queremos invocar. Neste exemplo, será “APARCAMIENTOSPUBLICOSMADRIDES”. Então vamos acessar o menu “API MANAGER” e o submenu “APIs”:

Image 002

Uma vez aqui, vamos para a guia “Minhas inscrições”:Image 005

E nós escolhemos a API que queremos testar. E clique no botão “Test & Doc”:Image 008Aqui temos informações sobre a API e as funções que ela expõe para o seu consumo. Vamos escolher a função “getAll”:Image 011

Em seguida, mostramos as informações referentes a essa função, e na parte direita aparecerá um menu suspenso chamado “Invocação para a API”, no qual escolheremos o idioma que queremos usar para invocar a função:Image 014

E isso gerará o código necessário para invocar a função. Teremos apenas que completar este código usando o token do usuário com o qual estamos logados na parte “x-sofia2-apikey”:Image 017

Criei uma página de exemplo em HTML usando JQuery, para inserir o código que nos gera o método da API, o código HTML usado para o exemplo seria:

<code>

<!DOCTYPE html>
<html>

<head>
<meta charset=”UTF-8″>
<title>Test API</title>
http://code.jquery.com/jquery-2.2.3.min.js

$(document).ready(function() {
$(“#myButton”).click(function() {

var settings = {
“async”: true,
“crossDomain”: true,
“url”: “https://sofia2.com/sib-api/api/v1/aparcamientospublicosmadrides/getAll&#8221;,
“method”: “GET”,
“headers”: {
“x-sofia2-apikey”: “********************”
}
}

$.ajax(settings).done(function (response) {
console.log(response);
var num = response.data.length;
$(“#helloWorldDiv”).html(“Request URL: https://sofia2.com/sib-api/api/v1/aparcamientospublicosmadrides/getAll
Num Result: ” + num);

});

});
});

</head>

<body>
<button id=”myButton”>Test API</button>
</br>
</br>

</body>

</html>

</code>

O resultado pode ser algo assim:

Image 028

Geração de Código de Cliente em Test & Doc APIS

Sofia2 participates in the SESIAD Virtual Laboratory

labVirtual

 

The Virtual Laboratory of the Secretary of State for the Information Society and Digital Agenda (SESIAD) was born under the standard UNE 178104 “Integrated management systems of the smart city” with the aim of becoming a benchmark for national and international platforms, being a place of experimentation in which companies and developers can evaluate the compatibility of their products with different Smart Cities platforms.

 

labVirtual

 

Currently, platforms that participate in the Virtual Laboratory are Sofia2, from Minsait by Indra, SmartBrain from Cellnex and Thinking City from Telefónica. They collaborate with SESIAD contributing their expertise and participating in the improvement of interoperability between platforms.

 

plataformas

 

As we saw in IoT Data Models: Initiatives and Sofia2 Data Model, there are different Initiatives of standardization of a Data Model in IoT. A Data Model represents the structure of your data and relationships, and therefore, organizes the elements and standardizes how they relate to each other.

 

gsma1

 

GSMA and FIWARE Data Models are defined in JSON, so their representation as Sofia2’s Ontology is immediate. We saw how they are supported and how easy it is to work with these entities in Sofia2

 

To achieve better interoperability between platforms, NGSI 9/10 v2 was selected as a common protocol for the Interoperability Layer. We saw in this document how they are supported and how to consume APIS modeled according to the semantic FIWARE Data Model and published in Sofia2 following the NGSI 9/10 v2 protocol.

 

In our experience with the Virtual Laboratory, in addition to making recommendations for new attributes and modifications in the Data Model, we had the opportunity to perform a Proof of Concept (PoC) by creating a connection  and transformation flow of real data from Smart City A Coruña to GSMA/FIWARE Data Model on Sofia2’s Platform.

 

In this example, Smart Coruña parking data is collected and is ingested in an Ontology on the Sofia2’s platform. Each time an instance of this ontology is received, a Script is launched and transforms this data adapting them to the Data Model and, consulting them, we see how, effectively, the Data Models are fulfilled.

 

dataingestGSMA

 

Also in this Proof of Concept we could publish this data through the API MANAGER of Sofia2 to later see that anyone with the proper permits can access this data via API, Curl or through the Virtual Laboratory portal.

 

consumptionGSMA

 

 

All this process is explained in the post Acquisition, transformation and consumption of data with GSMA/FIWARE Data Model, and has been captured in the demonstrator, which, in addition to parking data, collects data from beaches and museums.

 

demostrador

 

You can find all the information related to the SESIAD Virtual Laboratory here, as well as all the necessary tools (Data Model, APIs, Security tokens, examples …) to develop on the platforms complying with this interoperability model here

 

 

 

 

Sofia2 participates in the SESIAD Virtual Laboratory