martes, noviembre 17, 2015

El Internet de tus cosas con Edison y Sinfonier (III de III)

En esta última parte del artículo dedicado al de “El Internet de tus cosas” vamos a empezar a jugar con nuestra placa. El objetivo principal es explicar cómo se puede sacar partido al hardware de Intel Edison que configuramos en la primera parte mediante la unión del API REST que presentamos en la segunda parte, con la tecnología de procesamiento en tiempo real Sinfonier, para por último terminar mostrando un ejemplo de uso que aúna lo anteriormente mencionado con el cerrojo digital Latch. Todo en uno: Intel Edison + Sinfonier + Latch.

Figura 1: El Internet de tus cosas con Sinfonier & Intel Edison (Parte III)

En la entrega anterior dejamos nuestra placa Intel Edison con un API REST funcionando y, si seguimos hasta el último paso, la tendremos configurada para que sea accesible desde cualquier punto de Internet, siempre y cuando nuestro token de acceso conste entre los permitidos. Ahora el reto que se nos plantea es poder realizar las llamadas a nuestra API de una forma automática cuando se den ciertas circunstancias para, como decíamos en el primer artículo de esta serie, para construir nuestras ideas más “locas”, y eso es lo que vamos a hacer usando Sinfonier.

Sinfonier es una herramienta que mediante programación visual nos permite realizar procesamiento de datos en tiempo real. Esta herramienta por detrás utiliza todo el potencial de computación que nos proporciona Apache Storm, añadiendo una capa de abstracción que permite evitar la complejidad de uso que tiene Apache Storm, manteniendo todo su potencial al mismo tiempo. Además para el uso de Sinfonier no es necesario instalar nada en nuestro equipo, ya que se dispone de una forma de uso en cloud en su versión Sinfonier Community en la que registrarse es completamente gratuito y donde se pueden utilizar todos los desarrollos que se han hecho anteriormente por otros usuarios.

Nuestro objetivo final es tener un sistema que nos permita realizar acciones sobre nuestra placa Intel Edison en base a la información recogida de los sensores, así como integrar Latch al activar o desactivar los diferentes sensores para añadir una capa extra de seguridad en la comunicación.

Montaje de la solución final

Una vez hecha esta introducción vamos al lío, el escenario de partida que debemos tener es el siguiente:
● Placa Intel Edison funcionando, con el API REST activa y accesible desde el exterior ( por ejemplo usando el servicio de no-IP)
● Nuestro dispositivo móvil con Latch y Telegram instalados
● Una cuenta de Sinfonier creada y activada
● Sensores que vamos a utilizar conectados, que son dos LEDs de diferentes colores y pantalla LCD.
Con esto podemos construir nuestra topología, la cual va a estar esperando por cada uno de los mensajes que escribamos en nuestras conversaciones de Telegram en la que esté presente el bot y, cuando en esa conversación se mencione una de las palabras que configuremos como trigger, se comprobará si el servicio pareado en la aplicación de Latch se encuentra activo o no. Dependiendo de este estado se procede a iluminar uno de los LEDs y mostrar un mensaje diferente en la pantalla. No os preocupéis si os parece muy complejo al inicio, que no lo es.

El detalle del funcionamiento del bot de Telegram y su integración con Latch se puede consultar en Controlar un Bot de Telegram con Latch y Sinfonier y en este vídeo puedes ver cómo funciona esa integración.


Figura 2: Control de un bot de Telegram con Latch y Sinfonier

Y como dicen que una imagen vale más que mil palabras, a continuación podéis ver en un vídeo el resultado de la solución completa de integración de la placa Intel Edison controlada con una topología Sinfonier que hemos creado para este artículo interactuando vía Telegram y Latch. En este vídeo se puede ver cómo desde Telegram se envía un comando (Abracadabra) a un bot de Telegram que es controlado vía una topología Sinfonier. La topología comprueba si Latch autoriza ese comando o no en la placa Intel Edison. Si Latch está abierto, entonces se enciende el LED, si Latch está cerrado, entonces sale un mensaje de Latch Protected.


Figura 3: Control de placa Intel Edison desde Telegram usando una
Topología Sinfonier y autorización con Latch

Cómo veis la mayoría de los módulos de Sinfonier que se han utilizado para esta demo ya estaban implementados, y lo único que había que hacer era añadirlo a nuestras herramientas y utilizarlos. Además se han creado dos módulos nuevos específicos para Intel Edison:

Figura 4: Nuevos módulos en Sinfonier para controlar la placa Intel Edison
ChangeLedIntelEdison: Cambia el estado de un led conectado a la placa. Explicamos los parámetros de este módulo:
● status: 0 -> Apagar led, 1 -> Encender led.
● port: Puerto al que está conectado el led, por ejemplo 4.
● domain: Dominio con el que se puede acceder a nuestra placa desde Internet.● apikey: Token secreto de nuestra API.
● timeon: Tiempo que permanece encendido el led.
Figura 5: Configuración de módulo SetIntelEdisonLCD en Sinfonier
SetIntelEdisonLCD: Drain para enviar un mensaje al LCD conectado a la placa. Se permite configurar color y posición del texto.
● RGBcolorList: Se puede añadir una lista con tres elementos correspondientes a la escala RGB. Ej: [255,255,0]
● TextPosition: Lista de dos elementos correspondientes a los ejes X e Y dónde irá colocado el texto a escribir en el LCD.
● message: Aquí irá el nombre del campo donde viene el mensaje a escribir en el LCD.
● domain: Dominio con el que se puede acceder a nuestra placa desde Internet.
● apikey: Token secreto de nuestra API.
A continuación se muestran las imágenes de la topología de Sinfonier con la que se ha hecho la demo del vídeo mostrado anteriormente.

Figura 6: Topología Sinfonier creada para realizar este Prueba de Concepto

Esto es un ejemplo de lo que se puede hacer con Sinfonier para interactuar con un dispositivo externo como la placa Intel Edison. Si tienes una idea para hacer algo similar aplicado a Smart Cities, Economía Digital, CiberSeguridad o Evaluación de Identidades Digitales puedes apuntarte al Sinfonier Community Contest con el que podrás ganar 3.000 USD en BitCoins. Si quieres conocer más sobre Sinfonier, aquí tienes un vídeo de presentación de la tecnología que puede ayudarte a entender mejor este proyecto.


Figura 7: Presentación de Sinfonier Project en RootedCON 2012

Además, si estás interesado en el Proyecto Sinfonier, aprovechamos para invitaros al Meetup del próximo 19 de noviembre en el Flagship de Telefónica en Gran Vía (Madrid). Por último, si lo tuyo es el IoT, esta semana, los días 19 y 20 de Noviembre tendrá lugar un Hackaton de IoT en el que estarán nuestros compañeros Chema Alonso y Jorge Rivera dando charlas y un taller de Integración de Latch con IoT.

- El Internet de tus cosas con Edison y Sinfonier (I de III)
- El Internet de tus cosas con Edison y Sinfonier (II de III)
- El Internet de tus cosas con Edison y Sinfonier (III de III)

Autores:
Eva Suárez (@EvaSuarez22)
Pedro Jesús Martínez (@pejema44)

1 comentario:

Preguntón no informático dijo...

Perdón Chema (y todos) porque voy hacer una pregunta offtopic que hace tiempo me come la cabeza pero no sé dónde hacerla y ojalá aquí me respondan.

Me preguntaba si hoy en día los virus como tales, tal como lo conocíamos en los 80s y 90s que azotaron MS-DOS, esos que se añadían a los archivos .com y algunos .exe y dejaba todo envenenadamente funcional como todos sabemos; ¿son aún técnicamente posibles?, es que llevo mucho más de una década sin ver uno (otra cosa son malwares de otros tipos pero que la gente suele llamar "virus") incluso en máquinas de "negaos" y me preguntaba si habrá una razón técnica para eso además del simple "pasaron de moda", entre lo que he supuesto que quizás tenga que ver alguna mejora o cambios en los sistemas operativos y arquitecturas de hardware, porque como es obvio mucho ha llovido desde MSDOS.

Claro, una cosa es suponer y otra es tener certeza, de ahí que vaya mi pregunta a gente que sí debe estar enterada (en el profesional sentido de la frase, no en el sentido de "enterados" como el "informático de la cuadra" o de la familia).

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares