Una vez listados los elementos básicos, vamos a analizar cómo se relacionan y organizan. Para ello definiremos distintas capas: Objeto Dato, Interacción entre nodos y comunicaciones y Aplicaciones y análisis [1]. Estas tres capas se sustentan sobre un sustrato que podríamos denominar plataforma que incluye distintos mecanismos de comunicación (p.ej. gestionar los dispositivos WiFi y los canales seguros con TLS) procurando el mínimo consumo. La plataforma también incluye los drivers para interactuar con el dispositivo, así como el entorno de ejecución necesario.
Capa de Objeto Dato
En esta capa se incluyen los nodos, como abstracciones de los dispositivos físicos. Por ejemplo, podemos tener un nodo de temperatura en una habitación que obtiene su valor agrupando distintas medidas de dispositivos físicos distribuidos por ésta. Debido a que cada dispositivo físico tiene su identificador (DeviceID) creado por el fabricante, es lógico definir un identificador único universal que permita hacer referencia a los nodos de manera homogénea y sin ambigüedades. Para ello se usa la nomenclatura establecida por el UUID (Universally Unique IDentifier) que consiste en un número de 16 bytes (es decir, 128 bits[1] ) expresado en dígitos hexadecimales para facilitar la lectura por humanos.
Esta capa engloba algunos elementos de seguridad como listas de control de acceso (ACLs) y credenciales de autenticación protegiendo la información que pueden proporcionar los nodos a las aplicaciones que se comuniquen con esta capa.
Capa de Interacción entre nodos
Estas comunicaciones e interacciones entre nodos se definen de manera que puedan ser interpretadas por operadores humanos, facilitando su monitorización y depuración. Un framework suele dar soporte a distintos tipos de intercambio de mensajes utilizando distintos protocolos. Se engloban, por tanto, los mecanismos de seguridad que deben aplicarse para evitar accesos no deseados o la manipulación del contenido de los mensajes entre los nodos.
Capa de abstracción de la plataforma
Esta capa abstrae el Hardware subyacente, por eso también se denomina HAL (Hardware Abstraction Layer).
Los elementos que suelen ser abstraídos se agrupan en: seguridad, interconexión y sensorial.
La relación de las tres capas se ilustra en la Figura 1.
Cuando pensamos en las capas de abstracción, es posible establecer otra estructura, como la que nos presenta [3] que muestra menos solapamiento entre capas y una diferenciación como:
- Dispositivo IoT: Desde sensores sencillos hasta dispositivos autónomos más complejos
- Gateway IoT (portal o entrada): centraliza varios sensores y dispositivos para poder establecer comunicación con ellos.
- Conectividad: engloba las distintas tecnologías de comunicación usadas en las capas posteriores.
- Gestión de conexiones: Establece las conexiones a nivel lógico incluyendo las abstracciones de identificación de dispositivos y configuraciones.
- Habilitación inteligente (análisis de datos): capa en la que se aplican técnicas de IA (ML y DL) para extraer información y conocimiento de los datos generados en las capas inferiores.
- Habilitación de aplicación (Plataforma IoT): engloba la totalidad de la plataforma incluyendo API, visualización, gestión de dispositivos y configuraciones.
- Interfaz de usuario: cómo los operadores y los usuarios interactúan con la plataforma
- Usuario: Define quiénes son los clientes finales y sus distintos tipos.
- Solución / Proveedor de servicio: capa que define la relación entre el cliente y la empresa que proporciona el servicio.
- Solución a nivel industrial: capa para cubrir aspectos de B2B que no son tan necesarios en los clientes finales, pero sí en relaciones empresariales (regulaciones específicas, estándares de operación, etc).
Aunque cada capa está más desarrollada en la fuente original, podemos ilustrar con un ejemplo real cada una:
Caso de estudio: Un ayuntamiento quiere disminuir la factura de la luz utilizando un sistema inteligente para el alumbrado público. Dado que es una institución pública, podríamos considerar que pertenece a la capa 9-10 así que debe plantearse la elección/diseño y desarrollo de los 8 restantes: desde Usuario a Dispositivo IoT. Para la capa 7, tendrá que ver los requisitos de los operarios del ayuntamiento. Para la 6, ver dónde se implantará la solución (servidor propio o virtualizado, p.ej.). En las capas 4 y 5, ver dónde se almacenará la información, quién tendrá privilegios para acceder a ella, cómo se va a procesar, entre otros. Los dispositivos integrados en las farolas, cómo se comunican y cómo la plataforma accede a esos datos corresponderían a las capas 1,2 y 3 respectivamente.