
MASTER’S THESIS IN INDUSTRIAL ENGINEERING ACADEMIC YEAR: 18/19 IMPLEMENTING AN INTEGRATED DEVELOPMENT ENVIRONMENT IN THE INTERNET OF THINGS GENERATION OF VISUAL PROGRAMMING TOOLS AUTHOR: JOSÉ QUILES ALEMAÑ SUPERVISED BY: DIMITRIS KYRITSIS (EPFL) PRODROMOS KOLYVAKIS (EPFL) LUIS JOSÉ SAIZ ADALID (UPV) Implementing an IDE in the IoT Generation of Visual Programming Tools Implementing an IDE in the IoT Generation of Visual Programming Tools ACKNOWLEDGEMENTS “This Master Thesis will probably draw a line under my university life, an amazing journey in which I have had the opportunity to study in different cities such as Elche, Valencia, Prague or Lausanne. A stage in which of course I have worked hard, but especially, a stage in which I have had a really good time; meeting some of my greatest friends, getting to know different cultures, universities, parties and beers of the world, and learning, learning a lot, not only about engineering subjects but also about life. For these reasons, I just can be extremely thankful to all the people (professors, friends, family…) who have been part of this journey that made me better both professionally and personally. In particular, I would like to thank Professor Dimitris Kyritsis for allowing me to develop this thesis in the ICT4SM group at EPFL, making me feel part of his exceptional team. I would also like to mention Prodromos Kolyvakis for his patience, close support and essential collaboration during the development of this project, and Professor Luis José Saiz for his attention, encouragement and helpful advices from Valencia. Por último, quiero dar las gracias a mis abuelos, por haber sido siempre ejemplo de valores fundamentales como la humildad, el trabajo, la alegría o la familia. A mi hermana, por aguantar al pesado de su hermano y ser una mega-crack, no sabe qué hacer con su vida y aun así de lo único que estoy seguro es que haga lo que haga todo le va a ir bien. Y a mis padres, hoy y siempre, por los partiditos de fútbol en el pasillo de medio metro de ancho en Santa Pola, por esos platos espectaculares que solo vosotros podéis llegar a preparar (nótese la ironía), por todas las charlas y discusiones que habremos tenido, por estar ahí cuando yo he estado mal, por habérmelo dado todo… muchas gracias.” 2 Implementing an IDE in the IoT Generation of Visual Programming Tools ABSTRACT The present Master Thesis is directly aligned with the bIoTope project, funded by the European Union, which aims to build an Internet of Things (IoT) open innovation ecosystem that enables companies to easily create IoT systems with minimal investment. In order to contribute to the consecution of this ambitious objective, in this thesis, an implementation of an Integrated Development Environment (IDE) in a widely used application for connecting smart objects and getting information from them, known as Node-RED, is carried out. To make this possible, it is conducted an in-depth study of the different concepts and technologies needed in the set of development stages: Definition, Building a Python Development Environment based on Skulpt and Implementation with Node-RED. Once the implementation is completed, the new environment is used and tested in different case scenarios, as the Heat Wave Mitigation in Greater Lyon or a possible Smart Parking system for the FIFA World Cup of Qatar 2022, so that, it is possible to analyze the results and draw positive conclusions, because in spite of the existence of limitations, a new environment that facilitates users the creation of IoT systems is achieved, just as the bIoTope project lays its foundations. Keywords: Internet of Things (IoT), Integrated Development Environment (IDE), bIoTope, Visual Programming, Node-RED, Industry 4.0, DevOps. 3 Implementing an IDE in the IoT Generation of Visual Programming Tools RESUMEN El presente Trabajo Fin de Máster se encuentra directamente alineado con el proyecto bIoTope, financiado por la Unión Europea, que pretende construir un ecosistema abierto y de innovación donde las empresas puedan crear con mayor facilidad y menor inversión, sistemas que permitan extraer la información que nos proporciona el Internet de las Cosas (IoT). A fin de colaborar en la consecución de este ambicioso objetivo, en este trabajo, se lleva a cabo el diseño y la implementación de un Entorno de Desarrollo Integrado (IDE) en una aplicación ampliamente utilizada para conectar objetos inteligentes y obtener información de ellos, conocida como Node-RED. Para hacer esto posible, se realiza un profundo estudio del estado del arte de los conceptos y tecnologías necesarias en las diferentes etapas del desarrollo: Definición, Creación del Entorno de Desarrollo basado en Skulpt e Implementación con Node-RED. Una vez completada la implementación, ésta es utilizada y testada en distintos casos reales, como la mitigación de las olas de calor en Greater Lyon o un posible sistema de parking inteligente para el Mundial de Fútbol de 2022 en Qatar. De esta forma, un análisis de los resultados es realizado, obteniendo conclusiones positivas, puesto que a pesar de que existen limitaciones, se consigue desarrollar un nuevo entorno que facilita la creación de sistemas IoT, tal y como el proyecto bIoTope asienta sus bases. Palabras Clave: Internet de las Cosas (IoT), Entorno de Desarrollo Integrado (IDE), bIoTope, Programación Visual, Node-RED, Industria 4.0, DevOps. 4 Implementing an IDE in the IoT Generation of Visual Programming Tools RESUM El present Treball Fi de Màster, es troba directament alineat amb el projecte biotope, finançat per la Unió Europea, que pretén construir un ecosistema obert i d'innovació on les empreses puguen crear amb més facilitat i menor inversió, sistemes que permeten extreure la informació que ens proporciona l'Internet de les Coses (IoT). Per tal de col·laborar amb la consecució d'aquest ambiciós objectiu, en aquest treball, s’ha portat a terme la implementació d'un Entorn de Desenvolupament Integrat (IDE) en una aplicació àmpliament utilitzada per connectar objectes intel·ligents i obtenir informació d'ells, coneguda com Node-RED. Per fer això possible, es realitza un profund estudi de l'estat de l'art dels conceptes i tecnologies necessàries en les diferents etapes: Definició, Creació del Entorn de Desenvolupament basat en Skulpt e Implementació amb Node-RED. Completada la implementació, aquesta és utilitzada i testada en diferents casos reals, com la mitigació de les onades de calor a Greater Lyon o un possible sistema de pàrquing intel·ligent per al Mundial de Futbol de 2022 a Qatar, d'aquesta manera es pot realitzar una anàlisi dels resultats i treure conclusions positives, ja que tot i que existen limitacions, un nou entorn que permet crear fàcilment sistemes IoT és desenvolupat, tal i com el projecte biotope assenta les seues bases. Paraules clau: Internet de les Coses (IoT), Entorn de Desenvolupament Integrat (IDE), bIoTope, Programació Visual, Node-RED, Indústria 4.0, DevOps. 5 Implementing an IDE in the IoT Generation of Visual Programming Tools GENERAL INDEX Documents of the Master Thesis 1. Document 1: Report ....................................................................................... (12-79) 2. Document 2: Budget ...................................................................................... (80-91) 3. Document 3: Annex ..................................................................................... (92-125) Index of Report 1. Introduction .......................................................................................................... 14 1.1. Context ........................................................................................................................... 14 1.2. Objectives ....................................................................................................................... 17 1.3. Motivation ...................................................................................................................... 18 2. State of the Art ...................................................................................................... 21 2.1. Visual Programming ....................................................................................................... 21 2.1.1. Node-RED ............................................................................................................. 23 2.2. Integrated Development Environments (IDE) ................................................................ 24 2.3. Interpreters .................................................................................................................... 25 2.3.1. Skulpt ................................................................................................................... 26 2.4. Databases ....................................................................................................................... 27 2.4.1. MongoDB ............................................................................................................. 28 2.5. DevOps ........................................................................................................................... 28 3. Technologies ......................................................................................................... 31 3.1. Docker ............................................................................................................................ 31 3.2. Git ..................................................................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages127 Page
-
File Size-