Centro de Control Smart Logroño

 

SmartLogroñoVisor2

 

Como comentábamos en abril, el Ayuntamiento de Logroño adjudicó el suministro, implantación, desarrollo y mantenimiento de la Plataforma ‘Smart Logroño‘ a la UTE Indra Sistemas y Suma Info.

 

Minsait IoT Sofia2 servirá como base tecnológica para este proyecto que se extenderá hasta 2021.

 

El Centro de Control Integral Smart Logroño funciona ya como la columna vertebral de los servicios de la ciudad. Dispondrá de un único panel de mando digital que permitirá gestionar en tiempo real servicios como el alumbrado, el tráfico, la seguridad, la recogida de residuos, el riego o la resolución de incidencias y averías.

 

SmartLogroñoVisor1

 

Estamos muy orgullosos de poder aportar nuestro conocimiento y tecnología al innovador proyecto Smart Logroño, un proyecto de futuro que ya forma parte del presente de la ciudad.

 

Centro de Control Smart Logroño

Atención RRSS: Capturando menciones en Twitter con Zapier

Seguro que tras leer el interesante post de Raquel: Seguimos jugando con Zapier y Sofia2 sois capaces de crear vuestras orquestaciones sin ninguna ayuda!

En mi caso, este post pretende ser el primer paso para realizar una atención al cliente a través de Redes Sociales con Sofia2…empecemos:

El proceso comienza con un tweet en el que se hace mención a @SOFIA2_Platform (en este caso la mención la hago yo mismo, aunque el caso real incluiría a un usuario haciendo mención a una marca concreta):

Luego iré a Zapier y me registraré si aún no lo estoy o me logaré si lo estoy.

Una vez logado, si es la primera vez que uso Sofia2 en un ZAP tendré que acceder a esta invitación: https://zapier.com/developer/invite/78124/370d73c38b842446d8ecbc76b7f5849d/ para poder usar el conector.

Pulsando en Create me encontraré con el editor. Me aparecerá seleccionado

Iré a para seleccionar un Trigger, en mi caso Twitter:

Tras seleccionarlo me aparecerán todas las opciones de este Trigger:

– Trigger cuando aparezca una mención a un término (palabra, username, hashtag)

– Trigger cuando tuiteo

– Trigger cuando aparece una mención en una posición geográfica

– …

Las vemos aquí:

En nuestro caso seleccionaré Search Mention.

Tras esto me pedirá conectaar con una cuenta de Twitter:

Y me pedirá permiso para acceder a mi cuenta:

Y:

Tras un par de redirecciones:

Me mostrará que la conexión con mi cuenta ha funcionado:

En esta parte ya sólo me falta poner los términos de búsqueda, en mi caso:@SOFIA2_Platform:

Tras configurarlo se realiza un test, y nos muestra la información que se ha obtenido del test ejecutado:

Esta información es muy importante, ya que de entre todos estos campos luego seleccionaré los que quiero cargar en la plataforma.

Tras configurar el Trigger paso a configurar el Action, buscaré en:

Y seleccionaré Insert Data in Sofia2:

Ahora debo irme a mi instancia Sofia2, en el ejemplo yo he usado la instancia CloudLab de Sofia2 (http://sofia2.com/console/) , que como sabéis es gratuita y que os permite probar todas las capacidades de la Plataforma sin restricciones ni tiempo máximo.

Una vez registrado y con rol COLABORADOR (recordad que cuando nos registremos tenemos el rol USUARIO en la plataforma, y debo pedir la promoción a ROL COLABORADOR explicando el motivo, puedo crear mi ontología (Sofia2PlatformInTwitter):

Partiendo de la plantilla EmptyBase:

Sobre esta plantilla elijo las propiedades que deseo añadir, en mi caso quiero capturar:

· Texto del tweet

· Usuario del tweet

· Descripción del usuario

· Lenguaje del tweet

· url del tweet:

Mi ontología tiene este aspecto:

Tras esto crearé un KP y le asociaré la ontología:

Y apuntaré el token

De este proceso debo quedarme con:

· Nombre de la Ontología

· Nombre del KP + instancia 1

· Token de acceso a la plataforma

Que introduciré en los campos

Y finalmente mapearé los atributos obtenidos resultado del Trigger del paso 1 con el formato de mi ontología que es este:

{"EmptyBase":{ "text":"string","userDescription":"string","user":"string","userName":"string","lang":"string","tweetUrl":"string"}}

Para eso en la parte Data iré mapeando a través del botón:

Eligiendo los atributos:

Hasta dejarlo finalmente:

Pulsaré y finalmente:

Para comprobar que mi ZAP está funcionando volveré a mi instancia Sofia2, accederé a Consola BDTR y BDH y haré una consulta:

Donde podré ver que ya tengo los datos en la Plataforma:

Para acabar activaré mi ZAP:

Atención RRSS: Capturando menciones en Twitter con Zapier

Seguimos jugando con Zapier y Sofia2

Hemos aprovechado un ratillo suelto para hacer otro ejemplo “resultón”, combinando las capacidades de Sofia2 Platform y Zapier.

Me estaba preguntando: “cuantas noticias IoT se publicarán en Internet, y en cuantas de ellas se menciona nuestra plataforma?”. Os voy a contar cómo lo he configurado para tener la respuesta después de unos días de escucha automatizada.

 

Primero he configurado en Sofia2 un ontología de Feeds, donde almacenaré las noticias publicadas:

1CreacionOntoCaptura

con los siguientes datos para cada una de ellas:

2CreacionOntoCaptura

y por último me he configurado un ThinKP para poder acceder a mi ontología de manera segura desde fuera de la plataforma:

3configuracionKP

 

Lista la configuracion en Sofia2! Ahora vamos a definirnos nuestro ZAP, que se compondrá de los siguientes pasos:

  1. Como trigger, un listener de RSS, En mi caso he configurado los tres que me han parecido más relevantes.4FeedsTrigger
  2. Un filtro que permite que el flujo continúe sólo si se encuentran las palabras clave en las que estoy interesada (en mi caso BigData, “IoT” y sus variantes):

5.Filter

3. Sobre el resultado, llegados a este punto, vamos a ejecutar la acción ‘formatter’ (si te interesa ver la potencia completa de este componente, la puedes encontrar aquí), para buscar la cadena de texto ‘Sofia2’ en el contenido de las noticias filtradas:

6Insert

4. Por último, insertamos los datos de la noticia, y de las ocurrencias de la palabra clave “Sofia2” en nuestra ontología, usando la app Zapier Sofia2:

7configInsert

y ya está!! Dejamos activo el ZAP y a esperar la recolecta de información para ponernos a analizar los datos, hacer dashboards, identificar el sentimiento de las noticias (en las que estemos mencionados)… se me ocurren muchas aplicaciones.

8ZAPon

Puedes encontrar la descripción completa de la app Zapier Sofia2 para montarte tu ZAP en minutos en nuestro anterior post sobre este tema.

 

Seguimos jugando con Zapier y Sofia2

Integración de Sigfox con Sofia2

A través de las herramientas de Sofia2 la integración entre Sofia2 y Sigfox es relativamente sencilla (leer post Qué es Sigfox)

A  continuación se realiza una explicación diferenciando el desarrollo sobre la plataforma Sigfox y sobre la plataforma Sofia2.

Captura0.PNG

 Configuración en Sofia2:

Para preparar la integración en Sofia2, primero crearemos la Ontología donde almacenaremos los datos procedentes del dispositivo en crudo.

En nuestro caso, y conociendo todos los parámetros que nos envía Sigfox, creamos la ontología a partir de esta información.

Los campos serán los siguientes:

propierdades

Una vez creada nuestra ontología, la forma más sencillo es levantar un API REST para realizar la ingesta de los datos .Para ello en el apartado de API Manager en la consola de Sofia2 procedemos a crear dicha API, enlazada a la ontología que hemos generado anteriormente.

api1

Una vez creado y publicado el API con una operación POST, disponemos del servicio al cual llamará el dispositivo para enviar la información.

api2

Configuración Backend Sigfox:

Una vez logados en la plataforma de Sigfox, y con los dispositivos activados y agrupados, seleccionaremos el grupo en el cual queremos crear un nuevo callback, el cual afectará a todos los dispositivos agrupados. En este caso configuraremos el envío para los dispositivos  Sigfox Wifi  Geoloc.

sigfoxTIPOS

En la nueva pantalla que se nos muestra, seleccionamos a la izquierda “CALLBACKS”, y creamos una nueva.

Disponemos de  varias opciones para crear callbacks , en este caso seleccionamos “Custom callback” donde tendremos varios tipos de llamadas, dependiendo de la llamada que elijamos enviaremos unos datos u otros. En esta integración, nos interesa geolocalizar los dispositivos y de este modo controlar la posición de los mismos. Por ello generamos un callback de tipo GEOLOC, el cual podrá enviarnos los datos que necesitamos. Como vemos en la siguiente captura, introducimos únicamente los headers y el end point del API que hemos creado anteriormente.

Captura2

En el campo body, se crea el mensaje a enviar, donde seguiremos la estructura de la ontología, señalando aquellos datos que queremos que se envíen. Sigfox parsea los datos de las variables predefinidas entre paréntesis.

En este caso el body que enviamos es el siguiente:

Captura3

Una vez completados estos pasos, y habilitando el callback, nuestros dispositivos Sigfox estarán enviando la información a Sofia2. Puedo revisar el funcionamiento de las llamadas en el apartado de cada dispositivo independientemente, en el menu “MESSAGES”.

Captura4.PNG

Una vez comprobado que el sistema está funcionando, guardando los datos de manera correcta, podemos decir que hemos integrado los dispositivos Sigfox con Sofia2 de manera rápida y sencilla!!!

 

Integración de Sigfox con Sofia2

¿Cómo instalar Plataforma Sofia2 en un SO Linux CentOS con Ansible?

En este post vamos a ver paso a paso cómo instalar la RI (Reference Implementation) de los componentes base de Sofia2 IoT Platform en una única VM, esto es:

0. Lo primero es conectar vía SSH con la VM (últimamente yo soy bastante fan de MovaXterm):

1. Tras esto instalaremos Ansible con el comando: sudo yum install ansible

2. Tras esto instalaremos git: sudo yum install git

Y lo configuraremos: git config –global http.sslVerify “false”

3. Y ya podemos empezar con la instalación de la Plataforma. Haremos un clone del repositorio git, donde está disponible todo lo necesario para instalar la Plataforma.

En este caso:

4. A continuación personalizaré algunas propiedades que se usarán en la instalación con Ansible. Estas propiedades están en la carpeta descargada /ansible-automation/Ansible/vars

La mayoría de propiedades pueden mantenerse, las unidades propiedades a modificar son nginx_console_public_ip y sofia_url

5. En el fichero infraestructure.yml puedo configurar:

Lo abriré y configuraré: nginx_console_public_ip con la IP pública de mi máquina (si sólo quiero acceder desde local puedo mantener esta IP):

6. En el fichero sofia.yml puedo editar estas propiedades. En mi caso sólo tocaré la URL en la que despliego Sofia2, a través de sofia_url:

Dejando en mi caso:

7. Tras modificar estos parámetros ya puedo iniciar la instalación, para eso desde la carpeta ansible-automation/Ansible lanzaré: sudo ansible-playbook playbook-all.yml

Que comenzará la instalación de los diferentes servicios.

Pasados unos minutos y si todo ha funcionado bien saldrá:

La instalación lanza los servicios necesarios (Mongo, MySQL, Tomcats,…) de modo que la plataforma queda en ejecución.

8. Una vez instalado todo, para comprobar que la instalación se ha hecho de forma correcta lanzaré un navegador a la URL https://<sofia_url>/console/ accediendo con el usuario y password establecidos por configuración (sofia).

Para poder navegar es importante que tenga abiertos los puertos 443 y 80 de esa máquina. En Azure por ejemplo en Redes:

9. El usuario que hemos creado es un usuario Administrador, por lo que podrá dar de alta otros usuarios desde Administración/Gestión de usuarios. Los usuarios también pueden registrarse como Usuarios desde https://13.73.161.0/console/login?loggedout#

Una vez creado un usuario y pasado a rol COLABORADOR este verá:

10. Para desinstalar todo basta con lanzar el comando sudo ansible-playbook uninstall/uninstall-all.yml

(Gracias por el trabajo Roberto! ;))

 

¿Cómo instalar Plataforma Sofia2 en un SO Linux CentOS con Ansible?

Tecnologías Soporte RI Sofia2 IoT Platform

En Sofia2 IoT Platform hablamos del concepto de Implementación, para referirnos a las tecnologías subyacentes que dan soporte a la plataforma.

Sofia2 tiene una RI (Reference Implementation) basada 100% en software Open-Source sin licencia vírica.

En el siguiente diagrama se muestran las principales tecnologías que componen esa implementación de referencia de la Plataforma:

En futuros posts mostraremos las tecnologías que usan en otras implementaciones de la Plataforma, por ejemplo en la implementación basada en el stack de Amazon AWS o con piezas de la plataforma SAP HANA.

Tecnologías Soporte RI Sofia2 IoT Platform