Como regla general, podemos definir una plataforma como un conjunto de herramientas que permite construir sistemas más complejos. Las plataformas IoT facilitan el desarrollo y la implementación de sistemas IoT, lo que permite a los usuarios centrarse en lo que es más importante para ellos: operar su negocio.
Una plataforma IoT es un software que conecta dispositivos, sensores, actuadores y equipos industriales en un entorno digital, creando una red para que puedan comunicarse y crear información valiosa. Sería algo así como un montón de piezas de Lego, cada una con una forma y un color diferentes, que podríamos ensamblar a nuestro antojo para armar (virtualmente) cualquier modelo.
El principio que subyace a la noción de plataforma es el habitual «no reinventar la rueda» y, en cambio, confiar en la experiencia de otros que ya han construido sistemas similares al que pretendemos desarrollar. Esto acelera el tiempo de implementación y evita los errores más típicos, además de permitir al usuario centrarse en lo que mejor sabe hacer: su lógica de negocio.
Las plataformas son tendencia en muchos ámbitos, pero especialmente en el mundo del IoT. Según Gartner, estas capas de abstracción que protegen a los desarrolladores de la complejidad del sistema subyacente fomentan la adopción generalizada del IoT y la computación en el edge, especialmente a medida que la funcionalidad se vuelve más sofisticada, lo que hemos estado viendo en los últimos años. Estas plataformas llenan las lagunas creadas por la falta de estándares para el despliegue y la orquestación de aplicaciones de IoT. Pero, ¿cuáles son las piezas que necesitamos para poner en marcha nuestro sistema? O, dicho de otro modo, ¿cuáles son los componentes típicos de una plataforma de IoT?
El alcance del IoT es muy amplio, abarcando entornos tan dispares como los wearables y wearableswearables smart cities o industry 4.0 en general. En este artículo nos centraremos en las aplicaciones industriales, que es donde tenemos más experiencia, aunque muchos de los elementos que se comentan a continuación también son extensibles a otros entornos como smart homes o smart cities.
La conectividad IoT es el componente que permite la conexión de los activos en campo con los activos en la nube, donde los dispositivos en campo -los nodos IoT- son generalmente los encargados de recoger los datos necesarios y los activos en la nube son los encargados de almacenarlos y facilitar su análisis. La conectividad IoT es la columna vertebral de cualquier aplicación IoT. Recientemente hemos visto cómo la toma de decisiones se está acercando cada vez más al Edge, hacia los nodos IoT o nodos Edge. Pero a pesar de esto, el cordón umbilical que conecta ese Edge con los sistemas centrales sigue siendo esencial para el correcto funcionamiento de la aplicación.
Los conectores para protocolos de comunicación son el componente jerárquico de nivel más bajo de la aplicación que existe en los dispositivos IoT, los nodos IoT o los nodos Edge, como queramos llamarlos. Estos dispositivos suelen estar conectados a otros dispositivos en el campo, como sensores, actuadores o equipos industriales. Estos equipos industriales proceden de diferentes proveedores, cada uno con su propio hardware y firmware, y utilizan protocolos muy diferentes, que pueden abarcar desde estándares industriales ampliamente extendidos como Modbus, hasta protocolos más específicos o incluso propietarios. Por lo tanto, el papel de los conectores que permiten a los nodos entender estos protocolos es muy importante a la hora de recopilar datos de los equipos.
La gestión y monitorización de nodos es el componente que se vuelve necesario a medida que las implementaciones de IoT crecen en número y dispersión geográfica, haciendo evidente la necesidad de gestionarlos centralmente. Esta gestión suele ser manejada por un módulo de gestión de flotas, que permite mostrar información básica del estado de salud de todos estos dispositivos y realizar acciones como actualizaciones de software remotas.
La interfaz de desarrollo de aplicaciones es el componente que permite recopilar datos (a través de los conectores de protocolo mencionados anteriormente) y enviarlos a la nube (utilizando la conectividad IoT) suele estar gestionada por una aplicación desplegada en los dispositivos. Si hablamos de Edge Computingesta aplicación también realizará un procesamiento más complejo dentro de los nodos, es decir, contendrá parte de la lógica de negocio. En cualquier caso, muchas plataformas ya incluyen un entorno integrado para el desarrollo y depuración de aplicaciones. En muchos casos, este entorno incorpora funcionalidades de bajo código, lo que permite a los usuarios implementar sus sistemas mediante sencillas interfaces gráficas, en las que basta con arrastrar y soltar elementos, conectarlos entre sí o seleccionar opciones de menús desplegables.
El despliegue y la orquestación de aplicaciones es el componente donde las aplicaciones que se ejecutan dentro de los dispositivos deben desplegarse de forma remota y segura. Todas las plataformas IoT incluyen un módulo de orquestación de aplicaciones que permite enviar aplicaciones a los dispositivos, actualizarlas, obtener información sobre su estado, etc.
En los últimos años hemos estado viendo un cambio hacia un mayor análisis y toma de decisiones en el lado del dispositivo (Edge Computing), pero, a pesar de esto, las bases de datos siguen siendo un elemento central en cualquier aplicación. Podemos tener bases de datos centralizadas en la nube (con sus redundancias) o bases de datos parciales en cada dispositivo que, idealmente, se sincronicen con las bases de datos centrales.
Los datos brutos tienen una utilidad limitada y no es hasta que los analizamos en detalle que empezamos a extraer valor de ellos. La mayoría de las plataformas incluyen herramientas de procesamiento y visualización, o facilitan la integración con herramientas de terceros. El análisis de datos abarca desde el simple procesamiento de datos hasta el uso de modelos complejos de inteligencia artificial.
Una vez que los datos han sido procesados, aplicando nuestra propia lógica de negocio para tomar decisiones, necesitamos que esas decisiones se conviertan en acciones. En otras palabras, necesitamos que se transmitan aguas abajo para que los dispositivos participen activamente en la gestión del negocio. Esto no siempre es deseable, pero a veces es interesante que los nodos IoT actúen sobre su entorno, y es por eso que las plataformas incluyen un módulo que permite enviar estos comandos.
Cualquier plataforma IoT debe ser robusta operativamente pero, en particular, debe ser robusta en términos de ciberseguridad. Esto es especialmente cierto en el mundo industrial. De hecho, la seguridad es una de las barreras más importantes para la adopción de tecnologías de la información por parte de empresas establecidas con una fuerte herencia de tecnología operativa (OT). Estas características de seguridad incluyen aspectos como el cifrado de datos, la cancelación de puertos, la limitación de servicios de red, la aplicación de la autenticación, etc.
Hay muchos tipos de plataformas y el desglose anterior sólo pretende presentar algunos de los servicios que estas plataformas pueden ofrecer. Al seleccionar una plataforma IoT, es útil distinguir entre plataformas genéricas y productos más específicos..
Las plataformas genéricas son las de proveedores como Azure, AWS o Google, que ofrecen un ecosistema completo de herramientas. Las opciones en estas plataformas son prácticamente infinitas, pero tienden a tener una curva de aprendizaje considerable y no se adaptan a las necesidades específicas de ciertos segmentos de clientes.
En el otro extremo, tendríamos las plataformas más específicas como Barbara IoT, con capacidades más limitadas, pero adaptadas a verticales muy específicos, en nuestro caso a sectores como el sector eléctrico, los ferrocarriles o la gestión de inventarios críticos. Estas plataformas suelen ofrecer una mejor asistencia al usuario y unos tiempos de desarrollo y despliegue mucho más cortos.
Si está interesado en este artículo y quiere saber más sobre cómo empezar con un proyecto de IoT, póngase en contacto con nosotros y estudiaremos su caso.