Plataformas IoT para Dummies

Publicado en

Es común que al iniciar en el mundo del Internet de las cosas te encuentres con el problema de que no dominas muy bien el hacer hardware o software o ninguna de las dos áreas, o también puede pasar que simplemente quieres prototipar algo rápido para validar la solución a un problema sin invertir tanto tiempo.

En uno de mis artículos anteriores en Software Guru hablé herramientas y plataformas de hardware para iniciarse en el mundo del IoT. En esta ocasión platicaré sobre plataformas de software que se utilizan para gestionar y comunicar dispositivos IoT entre sí.

Me enfocaré en las plataformas que considero más sencillas y que no requieren muchos conocimientos de programación, base de datos o protocolos de comunicación. Este tipo de plataformas típicamente están dirigidas a estudiantes así como entusiastas (hobbistas) y consumidores en general. Es por ello que dejaré de lado a plataformas más poderosas y sofisticadas como podrían ser Azure IoT Hub de Microsoft, AWS IoT y Google Cloud IoT, entre otras.

IFTTT

IFTTT es un servicio web gratuito que permite fácilmente conectar aplicaciones y dispositivos diversos por medio de recetas (llamadas applets).

Las recetas siguen el formato “si sucede esto, entonces haz esto otro”. De hecho, de ahí se deriva el nombre IFTTT que corresponde a las siglas de “if this then that”. Así que básicamente escoges cuál es el evento que quieres detectar y cuál es la acción que deseas realizar como consecuencia.

Originalmente, el servicio se utilizaba más que nada para conectar acciones entre aplicaciones de software; por ejemplo, que cuando subes un video a YouTube se publique automáticamente en Facebook o Twitter. Sin embargo, IFTTT hoy soporta una gran variedad de servicios y dispositivos IoT que incluyen electrodomésticos, wearables, aplicaciones de negocio e incluso servicios de transporte.

En el caso de proyectos maker, la figura 1 muestra una lista de las plataformas maker soportadas hasta el momento de forma directa, pero también puedes incorporar tu proyecto DIY usando Webhooks, tanto para poder enviar como recibir mensajes.

Figura 1. Opciones DIY soportadas directamente en IFTTT.

Toda la creación de recetas en IFTTT se realiza desde el navegador. Lo único que haces es decir que quieres crear un nuevo applet, das click para indicar el evento que deseas escuchar (hay cientos de servicios así que usas un campo de búsqueda) y luego de la misma forma seleccionas la acción que se debe disparar. Incluso ya hay una gran cantidad de applets hechos por la comunidad que puedes reutilizar, solo es cosa de que lo selecciones y lo configures para que quede conectado con tus servicios o dispositivos. Todo esto hace que IFTTT sea una plataforma muy sencilla para conectar dispositivos IoT y por lo tanto ha cobrado gran popularidad en el último par de años.

Como ya mencioné, IFTTT es gratuito así que si deseas probar la plataforma, no hay razón para esperar. Crea una cuenta en https://ifttt.com y empireza a crear tus propios applets.

Si tienes dudas sobre como publicar a un Webhook de IFTTT, he creado un pequeño programa disponible en http://swgu.ru/x0 que muestra como conectarse por WiFi a IFTTT y publicar un mensaje. Solo necesitas configurarlo con la información de conexión de WiFi así como la llave para publicar a IFTTT.

Blynk

Blynk es una plataforma diseñada específicamente para interactuar con tus proyectos maker desde tu teléfono móvil. Con Blynk puedes controlar tu hardware remotamente, almacenar o mostrar datos de sensores, y muchas cosas más.

La figura 2 ilustra cómo funciona Blynk. En nuestro smartphone (ya sea Android o iPhone) instalamos la Blynk app que se comunica con un servidor intermedio que interactúa con los proyectos y dispositivos IoT haciendo uso de las bibliotecas de Blynk.

Figura 2. Arquitectura de Blynk.

En la Blynk app puedes construir la interfaz de usuario a tus necesidades, haciendo uso de widgets prehechos como botones e indicadores que simplemente arrastras hacia tu interfaz. La figura 3 muestra un ejemplo de cómo se construye la interfaz.

Por otro lado, el Blynk server es open source así que puedes descargarlo e instalarlo en tu propia infraestructura o puedes utilizar Blynk cloud, que provee un nivel básico gratuito y niveles con mayor capacidad con costo.

 

 

Figura 3. Widgets en Blynk app.

Algo interesante de Blynk es que soporta distintos mecanismos de conexión con tu hardware tales como Bluetooth, WiFi, Ethernet, red celular, USB y vía serial. Cuenta con una biblioteca para usar con Arduino y un generador de código online para crear tus primeros sketchs.

Si todo esto suena interesante ya tienes ganas de empezar a jugar con Blynk, dirígete a http://www.blynk.cc/getting-started y sigue los pasos.

Cayenne

Cayenne es una gran opción para aquellos interesados en visualizar datos generados por dispositivos IoT. Cuenta con soporte para distintos protocolos (ej. MQTT) y tecnologías de comunicación (ej. LoRaWAN), así como bibliotecas para distintos lenguajes de programación. Su filosofía es ser la manera de sencilla de crear un dashboard donde puedas visualizar todos los datos de tu sensores solo arrastrando y soltando los datos deseados. Además de todo, es un servicio gratuito (hasta el momento).

La figura 4 muestra un ejemplo de un dashboard en Cayenne.

Figura 4. Dashboard en Cayenne.

 

Algo interesante de la plataforma es que ha implementado la especificación “PSO Smart Objects” para envío de datos en IoT. Esto hace que cada tipo de datos recibido es reconocido automáticamente, ya sea temperatura, humedad, presión, entrada analógica genérica o entrada digital genérica y se le asigna un gráfico predefinido para ese tipo de dato.

Para conocer más, visita https://mydevices.com/cayenne/docs/intro

Bio

Andres Sabas es Director de Electronic Cats. Es un maker apasionado y cofundador de The Inventor’s House Hackerspace en Aguascalientes.