Diseño e implementación de una plataforma IoT para monitorización de flotas de dispositivos heterogéneos

En este Trabajo Fin de Máster se propone una arquitectura para una plataforma IoT capaz de escalar y gestionar multitud de dispositivos, a la par de permitir la conexión con herramientas Big Data como Apache Spark o Hadoop. Se muestra además una implementación simplificada preparada para ser despleg...

Descripción completa

Detalles Bibliográficos
Autor: Díaz Suárez, Juan
Tipo de recurso: tesis de maestría
Fecha de publicación:2021
País:España
Institución:Universidad Nacional de Educación a Distancia
Repositorio:e-spacio. Repositorio Institucional de la UNED
Idioma:español
OAI Identifier:oai:e-spacio.uned.es:20.500.14468/14228
Acceso en línea:https://hdl.handle.net/20.500.14468/14228
Access Level:acceso abierto
Palabra clave:1203.04 Inteligencia artificial
plataformas IoT,
Big Data
Kubernetes
Kafka
Go
Descripción
Sumario:En este Trabajo Fin de Máster se propone una arquitectura para una plataforma IoT capaz de escalar y gestionar multitud de dispositivos, a la par de permitir la conexión con herramientas Big Data como Apache Spark o Hadoop. Se muestra además una implementación simplificada preparada para ser desplegada en un clúster de Kubernetes y que cuenta además con un dashboard para su monitorización. Esta memoria comienza con una introducción a los dispositivos IoT y con un repaso de las plataformas IoT disponibles actualmente. A continuación se define el concepto de Big Data y las formas más comunes de procesarlo: arquitecturas Lambda y Kappa. Se sigue con una presentación de arquitectura genérica para una plataforma IoT, diferenciando entre componentes esenciales y complementarios. Tras ello se define la arquitectura que se implementa en este trabajo. A continuación se presentan unos casos de uso que buscan remarcar la utilidad de la plataforma y lo sencillo que sería usarla como núcleo de un producto mayor. Se dedica después una sección a entender cómo se ha creado la plataforma, incluyendo una introducción a Kubernetes y al resto de herramientas que se han utilizado, además de presentar el código desarrollado. Finalmente se realiza una evaluación de la plataforma que busca comprobar su correcto funcionamiento, el de las herramientas de monitorización y del escalado del clúster.