Las 4 partes de un proyecto IoT

Diseñar un proyecto de IoT puede resultar complicado, dada la gran cantidad de factores a tener en cuenta. Paradójicamente, el planteo debe comenzar por el final. Es decir, saber qué métricas o analíticas se desean conseguir y en función de eso definir todos los elementos para llegar a ese objetivo. 

La recolección de datos

En esta etapa intervienen todos los dispositivos que recolectan datos mediante distintos tipos de sensores. En ocasiones el proyecto involucrará el diseño y/o la instalación de estos sensores.

En otros casos estos datos ya están disponibles. Un ejemplo de esto último son las plantas industriales, donde ya existe equipamiento de control (PLCs y otros dispositivos) que permanentemente están obteniendo datos. Muchas veces estos datos permanecen por un tiempo corto en la memoria de estos dispositivos, sin ser enviados a una base de datos histórica.

En cualquier escenario, esta etapa requiere poder obtener cada uno de los valores de interés para su posterior tratamiento en la plataforma de IoT. Esto puede representar un verdadero reto, ya que los dispositivos pueden estar usando distintos tipos de interfaz y protocolos (algunos de ellos propietarios).

Por lo tanto, la primer fase del proyecto consistirá en un relevamiento, no solo de las variables a registrar, sino de los dispositivos y sus características.

Photo by Crystal Kwok on Unsplash

Transacción de datos

Con la información del relevamiento anterior en mano es posible empezar a delinear una estrategia de recolección de datos centralizada, que puede incluir gateways, servidores de aplicación (como OPC UA), etc.

En esta etapa se analiza todo lo que tiene que ver con la traducción de los protocolos que utilizan los dispositivos a los que se utilizan en las plataformas IoT. Por ejemplo, un PLC puede usar Modbus TCP para enviar sus datos, pero la plataforma requiere mensajes MQTT. Esta conversión puede requerir varias piezas de hardware y de software.

En esta etapa también se incluyen los servidores de red, que reciben, procesan y envían los mensajes. Estos servidores son los encargados de establecer la comunicaciones, encriptar las transacciones de datos, descartar los mensajes duplicados, enviar los mensajes a una base de datos, etc.

Photo by Thomas Jensen on Unsplash

Almacenamiento de datos

Los pasos anteriores no tendrían ningún sentido si los datos no se almacenaran. 

Una base de datos para un sistema IoT tiene características especiales, diferentes a los tipos de bases de datos que se utilizan generalmente en otro tipo de aplicaciones.

En aplicaciones IoT las bases de datos suelen almacenar secuencias de valores, ya que guardan cada dato enviado por los dispositivos de acuerdo a su marca de tiempo. Es por esto que, por ejemplo, una base de datos relacional no resulta útil. En cambio, una base de datos de series de tiempo (por ejemplo InfluxDB) resuelve el problema del almacenamiento de manera natural.

Photo by Carlos Muza on Unsplash

Analíticas y gráficas

Esta etapa es la que finalmente justifica todo el esfuerzo puesto en las anteriores, aunque sus objetivos deben plantearse al comienzo del proceso, ya que definirán todos los pasos anteriores. Por ejemplo, si el proyecto tiene como objetivo obtener datos para detectar condiciones de funcionamiento anómalas y realizar un mantenimiento predictivo de una máquina, esto determinará los requerimientos en cada una de las etapas.

En definitiva, en esta etapa es donde se aplican los algortimos que le darán un sentido a toda la información recolectada. Aquí es donde aparecen las operaciones estadísticas, machine learning, inteligencia artificial, etc.

Además del procesamiento de los datos, una parte crucial del sistema es la presentación de los resultados. Al fin y al cabo, todo el contacto que el usuario final tenga con el sistema, será a través de la interfaz de usuario, con sus tablas, gráficas, etc. Por estos motivos, la interfaz de usuario debe presentar los datos de manera que sea útil para tomar decisiones. 

Y no nos olvidemos de la percepción del usuario, que va más allá de cuestiones meramente técnicas. Es tan importante el tiempo en que tarda en cargar o refrescar los datos la aplicación, como también la apariencia, la practicidad, el diseño y la elegancia.

Si te gustó este artículo, por favor compártelo con tus contactos. También te invito a hacer comentarios o escribir tus dudas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.