Solución a escala de una plataforma de gestión de una Ciudad Inteligente
Smart City Platform Management Emulator
Author
Martínez Gómez, DavidDate
2019-07-10Director/es
Derechos
Atribución-NoComercial-SinDerivadas 3.0 España
Palabras clave
Smart City
Plataforma
IoT
Simulación
Maqueta
Platform
Simulation
Mock-up
Abstract:
RESUMEN: Enmarcado en el proyecto de la Smart City se plantea la posibilidad de contar con una maqueta como herramienta de divulgación, flexible e intuitiva, que permita facilitar la comprensión de un sistema complejo como es una plataforma IoTData a gran escala. La solución estaría dirigida a personas con perfiles totalmente dispares, desde personas con conocimientos técnicos, a grupos de niños. El público objetivo de las presentaciones y formaciones comprende desde el ciudadano de a pie hasta el personal técnico. el personal técnico.
La maqueta ha de ser capaz de simular gran cantidad de servicios distintos, que no son estáticos, sino que están evolucionando rápidamente en el tiempo, y hacer llegar ese mensaje a cualquier tipo de público.
Se trata de un proyecto complejo para el que no se ha encontrado tecnología específica, y por tanto requiere de la realización de un prototipo para estudiar su capacidad y viabilidad antes de abordar el desarrollo completo, y precisamente ese será el objetivo de este proyecto, elaborar un prototipo de maqueta como estudio previo del proyecto final.
Se ha desarrollado una plataforma de gestión y simulación estructurada en capas, modular, escalable tanto horizontal como verticalmente y capaz incorporar nuevos servicios o adaptarse a cambios de manera transparente.
Como arquitectura general de la solución, se ha optado por una división de 4 capas, tanto a nivel de software como de hardware:
Capa IoT: Sensores y actuadores con hardware muy sencillo, conectados directamente a la maqueta. En esta capa encontraremos los sensores y actuadores (leds, motores, etc.) con pequeños controladores encargados de su gestión. Para este prototipo se ha utilizado Arduino a nivel de HW y C++ para el software.
Capa de Control IoT: Controladores/gateways de dispositivos IoT encargados de la gestión y las comunicaciones de red. Es la encargada de comunicar la capa IoT con el resto de la plataforma, es decir, los Arduinos con el resto de la red. Se ha elegido Raspberry a nivel de Hardware y C++ para el software.
Capa de contexto: Gestor de contexto (Context Broker) encargado de centralizar y distribuir las comunicaciones entre las distintas piezas de la arquitectura. Utilizaremos para esta capa el Software Eclipse Mosquitto, que podrá correr sobre el mismo Hardware utilizado para otras capas, o sobre un hardware específico, según el caso.
Capa de Simulación: Software de simulación encargado de lanzar secuencias de simulación para los distintos dispositivos o simular dispositivos “inexistentes”. También aporta capacidades multimedia a la plataforma. Se ha elegido Java para el software y se podrán usar múltiples dispositivos a nivel de hardware.
Como se irá explicando durante esta documentación, se ha construido una plataforma modular y fácilmente escalable, que necesita muy poca configuración y a un coste muy reducido. Aún con simulaciones sencillas se obtienen unos resultados muy llamativos que cumplen con creces los objetivos del proyecto. Se ha conseguido, por tanto, construir una plataforma viable y funcional que nos habilita para justificar las posibilidades de implantación del proyecto.
ABSTRACT: As part of the Smart City project, the idea of having a mock-up, as a flexible and intuitive dissemination tool, to facilitate understanding of a complex system such as a large-scale IoT/Big-Data platform has been considered. The solution would be designed for people with completely different profiles, from people with technical knowledge, to groups of children. The target audience for demonstrations and training, ranges from ordinary citizens, to technical staff.
The mock-up must be able to simulate a large number of different services, which are not static, but are quickly evolving over time, and get that message to any kind of public.
A full mock-up is a complex project for which no specific technology has been found, and therefore it is advisable to create a prototype mock-up to study its capabilities and viability before dealing with the full development. That will be the aim of this project, to develop a prototype mock-up as a first step for approval of the final project.
A management and simulation platform has been developed, structured in layers, modular, scalable (both horizontally and vertically), and capable of transparently adding new services or changes in existing ones.
A four-layer division has been chosen as the overall architecture of the system, both at the software and hardware levels:
IoT layer: It contains sensors and actuators with very simple hardware, directly connected to the mock-up. In this layer we can find sensors and actuators (leds, motors, etc.) with small controllers in charge of their management. For this prototype, Arduino has been used as controller at HW level and C++ for the software part.
IoT Control Layer: IoT device controllers/gateways in charge of communications and network management. This is the component that links the IoT layer with the rest of the platform, i.e, the Arduinos with the rest of the network. Raspberry Pi has been chosen as hardware and C++ as programing language to develop the software in this layer.
Context layer: A Context Broker is in charge of communications between the different parts of the architecture. We will use Eclipse Mosquitto as a software solution for this layer. It would run on the same hardware used for other layers, or on a specific hardware, depending on the case.
Simulation Layer: Simulation software is in charge of launching simulation sequences reproducing different devices, or simulating "non-existent" ones. It also provides multimedia capabilities to the system. Java has been chosen for the software development, and multiple devices can be used at the hardware level.
Based on this architecture, a modular and easily scalable platform has been built, which requires very few configurations, all this with a very low cost. Even with simple simulations, very impressive results are achieved, meeting the project objectives by far. We have therefore managed to build a functional platform that empowers us to implement the final project.