DOI: https://doi.org/10.37811/cl_rcm.v6i6.3621

El uso del software de código abierto en el IoT

 

Jimmy Gabriel Rivera Ramírez

[email protected]

https://orcid.org/0000-0001-8179-6626

Universidad Estatal Península de Santa Elena

 

Esther Elizabeth Gonzabay de la A

[email protected]  

https://orcid.org/0000-0002-3897-3700

Universidad Estatal Península de Santa Elena

 

Bolívar Mauricio Mendoza Morán

[email protected]

https://orcid.org/0000-0002-7680-7586

Universidad Nacional de Educación a Distancia

 

Verona del Rocio Mendoza Morán

[email protected]

https://orcid.org/0000-0001-7520-3505

Universidad de Guayaquil

RESUMEN

El uso de software libre ha ganado mucha atención actualmente, esto más el uso de estándares ha permitido que las empresas del software incorporen código fuente de terceros en sus desarrollos, además la existencia de comunidades que apoyan el código abierto ha permitido la colaboración e intercambio de conocimiento. Además, el uso de software Open Source ha permitido la reducción de costos de licencias, lo que conlleva al abaratamiento de costos de las soluciones IoT

En el trabajo actual, investigamos las tendencias del uso de software libre y brindamos una descripción comparativa del software más usado en lo relacionado a desarrollos para el IoT. Además, se presenta el diseño de un sistema de control de luces usando Arduino a través de internet.

 

Palabras clave: software de código abierto

 

 

Correspondencia: [email protected]    

Artículo recibido 15 octubre 2022 Aceptado para publicación: 15 noviembre 2022

Conflictos de Interés: Ninguna que declarar

Todo el contenido de Ciencia Latina Revista Científica Multidisciplinar, publicados en este sitio están disponibles bajo Licencia Creative Commons https://revistacientifica.uamericana.edu.py/public/site/images/aduarte/cc2.png.

Cómo citar: Rivera Ramírez, J. G., Gonzabay de la A, E. E., Mendoza Morán, B. M., & Mendoza Morán, V. del R. (2022). El uso del software de código abierto en el IoT. Ciencia Latina Revista Científica Multidisciplinar, 6(6), 1867-1704. https://doi.org/10.37811/cl_rcm.v6i6.3621


 

 

The use of open source software in the IoT

 

ABSTRACT

The use of free software has currently gained a lot of attention, this adding the use of standards has allowed software companies to incorporate third-party source code in their developments, in addition to the existence of communities that support open source has allowed the collaboration and exchange of knowledge. In addition, the use of Open Source software has allowed the reduction of license costs, which leads to lower costs of IoT solutions.

In the current work, we investigate the trends in the use of free software and provide a comparative description of the most used software in relation to developments for the IoT. In addition, the design of a lighting control system using Arduino through the internet is presented.

 

Keywords: software open source

 


 

INTRODUCCIÓN


Internet of Things (IoT) Internet de las cosas es una tecnología que puede conectar un equipo a Internet para llevar a cabo diversas funciones (De Silva y otros, 2020). El concepto de IoT es muy útil en el proceso de control remoto a través de un dispositivo inteligente.

Hoy en día el amplio despliegue de internet y las redes wifi, donde cada dispositivo electrónico incluye un chip wifi ha ayudado a que se pueda controlar nuestro hogar desde aplicaciones instaladas en la nube, con acceso en cualquier momento. (DuBravac & Ratti, 2015) (Juranek & Kulhanek, 2011).

Las soluciones de IoT industriales y de consumo se están volviendo viables tanto económica como tecnológicamente, y en ciertos casos son implementables en líneas altamente automatizadas. Al mismo tiempo, el avance general en el desarrollo de la ciencia y la tecnología ha generado bajar los precios de las tecnologías de detección, procesamiento e intercambio. Por lo tanto, las tecnologías IoT ahora se adoptan ampliamente en muchos productos comerciales e industriales, comunicación, conectividad y visibilidad a lo largo de toda la cadena de suministros. (Liao y otros, 2017).

Los ecosistemas de IoT en sí mismos fusionan muchos campos de investigación diferentes como la informática ubicua y generalizada, las tecnologías de detección y comunicación, los sistemas operativos, la informática móvil, la gestión de Big Data y los sistemas integrados (Amaral y otros, 2016).

Existen grandes desafíos entre las pequeñas y medianas empresas (PYMES), con pasos de fabricación y producción manuales, lotes pequeños y una gran variedad de maquinaria con protocolos de comunicación muy heterogéneos. Estas empresas, en muchos casos, no poseen capacidades financieras para obtener plataformas comerciales de IoT, no manejan Big data o carecen de personas capacitadas para operar y mantener estos sistemas, al contrario las grandes empresas pueden costear los costos de software con licencia, La falta de estandarización y el uso de soluciones de software cerradas crea bloqueos de proveedores y genera costos de actualización y mantenimiento. (Oton & Iqbal, 2021).

También pueden surgir problemas de interoperabilidad con los sistemas existentes (Oton & Iqbal, 2021). Además, a medida que el IoT y sus aplicaciones crecen, existe la necesidad de nuevos dispositivos inteligentes para facilitar una gran variedad de aplicaciones y tecnologías de red (Ramirez Lopez y otros, 2016).

El modelo de código abierto es un modelo de desarrollo descentralizado que facilita la colaboración abierta (Tsiatsis y otros, 2019).. Para el problema de la gran variedad que surge de la falta de estandarización y la gran cantidad de casos de uso, la replicabilidad se puede lograr con plataformas de código abierto haciendo cambios menores. Por lo tanto, las soluciones probadas se pueden usar en múltiples contextos y el software o el hardware se pueden reutilizar en diferentes sistemas, lo que reduce la necesidad de desarrollo y pruebas (Tsiatsis y otros, 2019). En general, los sistemas de código abierto son más flexibles y permiten utilizar componentes de diferentes fabricantes y proveedores (Aghenta & Iqbal, 2019). El desarrollo de IoT se puede comparar con el desarrollo de la Web, ya que requiere un acceso común a sus funciones para la accesibilidad compartida de manera similar a la Web (GAO, 2020).

La interoperabilidad es una de las mayores preocupaciones en el IoT. Según Farnell Global IoT Survey, la mejora de la interoperabilidad se planteó como uno de los factores más importantes para acelerar los beneficios de IoT (Farnell Global IoT Survey 2019, s.f.). De manera similar, en la encuesta de GAO, 30 de los 74 encuestados afirmaron que la interoperabilidad es el desafío más importante para adoptar tecnologías de IoT (GAO, 2020). En consecuencia, el desarrollo de estándares abiertos podría tener un gran impacto en la popularización de las plataformas de código abierto.

La interoperabilidad beneficiaría especialmente a las plataformas de código abierto que se basan en la idea de apertura y el uso de estándares abiertos que todos pueden compartir y adaptar. Este tipo de desarrollo también podría forzar a las plataformas comerciales hacia la apertura. Por otro lado, esto podría abrir aún más las puertas para las plataformas de código abierto, ya que podrían usarse de manera más flexible con las plataformas comerciales. Evidentemente, la decisión de ir hacia la interoperabilidad es una compensación entre (Liao y otros, 2017) la rentabilidad del caso de negocio, (Lasi y otros, 2014)   su posición estratégica y (De Silva y otros, 2020) consideraciones de privacidad y seguridad, mientras se cumplen los requisitos legales (Grzegorzewska y otros, 2021).

La visión es que las tecnologías de código abierto revolucionarán el mundo en muchas áreas, incluida la Industria 4.0, el aprendizaje automático, IoT, el análisis de Big Data y la computación en la nube. Actualmente, el código abierto ya está desempeñando un papel crucial en la creación de plataformas y prototipos de IoT utilizando placas de desarrollo. De manera similar, muchos de los motores de aprendizaje automático más utilizados son de código abierto, por lo que los desarrolladores pueden probar, reconstruir y aprender unos de otros (GAO, 2020). Además, se concluyó que la IA seguirá contribuyendo al avance de la informática industrial en el futuro (De Silva y otros, 2020), lo que fortalece el papel del código abierto en la industria 4.0 en el futuro.

El desarrollo de tarjetas electrónicas de código abierto (Open Source) como Arduino, Raspberry, ESP32, nodeMCU, junto con el software de código abierto como sistemas operativos de servidor, lenguajes de programación, bases de datos, y la comunidad de código abierto, han facilitado el desarrollo de soluciones de IoT de bajo costo. (Jurek & Skuta, 2016).

Muchas bibliotecas y software de código abierto son fáciles de usar de tal modo que los desarrolladores pueden usar estas herramientas sin ser expertos. El resultado es que las nuevas tecnologías se propagan rápidamente y los nuevos resultados de la investigación a menudo se prueban de manera eficiente. Sin embargo, la falta de instrucciones y documentación a veces se convierten en un problema ya que el desarrollo es rápido y se utilizan sistemas inacabados.

Open Source o Código Abierto

Los términos y condiciones de las licencias de código abierto para usar y contribuir con material de código abierto varían según el proyecto y deben tenerse en cuenta (Tsiatsis y otros, 2019). Presumimos que este tipo de desarrollo no sería posible sin un hardware asequible para ser utilizado por los constructores. El nuevo hardware generalmente brinda nuevas posibilidades para los desarrolladores y, al mismo tiempo, los nuevos desarrollos en el lado del software crean más demanda en el hardware. Esto crea una relación simbiótica que acelera el desarrollo en ambos frentes. Este documento aclara la situación actual y presenta información que puede ayudar a predecir el futuro del código abierto en IoT.

Código cerrado o Licencia Propietaria

Esta estrategia es conocida por los acuerdos de "clic a través" que rigen los paquetes de software comercial. El objetivo principal de una licencia de software propietario es limitar el uso del software de acuerdo con la estrategia comercial del propietario de los derechos. Como resultado, las licencias propietarias suelen ser muy restrictivas para los usuarios finales. Por lo general, permiten el uso del software solo para su propósito declarado, a menudo solo en una sola computadora, prohíben a los usuarios copiar, redistribuir o alterar el trabajo y prohíben específicamente la creación de derivados utilizando partes del trabajo. Es importante destacar que los programas bajo licencias propietarias generalmente se distribuyen solo en forma binaria y prohíben el examen del código del programa o la ingeniería inversa de cualquier parte del programa (Morin y otros, 2012).

Cando se utiliza comercialmente hardware y software de código abierto deben tenerse en cuenta la concesión de licencias es una de ellas. Por ejemplo, las bibliotecas de Arduino están bajo LGPL (Arduino.cc, 2022). Esto significa que, si se modifican las bibliotecas, se libera el código modificado. OpenCV se publica bajo licencia BSD y, por lo tanto, se puede utilizar para aplicaciones comerciales (NVIDIA, 2022). TensorFlow tiene licencia Apache License 2.0 y, por lo tanto, permite a los usuarios usar el software para cualquier propósito, distribuirlo, modificarlo y distribuir versiones modificadas del software (tensorflow, 2022), (Apache , 2022). Keras también se puede usar libremente sin muchas limitaciones, ya que tiene la licencia MIT License  (keras, 2022), (opensource.org, 2022). También hay muchas plataformas IoT de código abierto que se pueden usar comercialmente, por ejemplo, los módulos Thinger.io en GitHub están bajo la licencia MIT (Thinger.io, 2022). Otro tema es la aceptación de dispositivos electrónicos. Todos los dispositivos electrónicos deben someterse a pruebas de capacidad de peinado electromagnético (EMC), lo que significa la capacidad de operar de manera confiable en su entorno de trabajo natural.

Importancia de las licencias del software

Sin un acuerdo de licencia, el software puede quedar en un estado de incertidumbre legal en el que los usuarios potenciales pueden no saber qué limitaciones pueden querer imponer los propietarios, y los propietarios pueden quedar vulnerables a reclamos legales o tener dificultades para controlar cómo se usa su trabajo. Esto es igualmente cierto para el software que se comercializa y se ofrece por una tarifa, y el software que se pone a disposición de otros sin costo alguno. Si bien los usuarios finales a menudo se resisten a las licencias de software demasiado restrictivas, la incertidumbre que surge cuando no se otorga una licencia también puede desanimar a aquellos que deseen utilizar una pieza de código. Es importante tener en cuenta que las licencias se pueden utilizar para facilitar el acceso al software, así como para restringirlo. (Morin y otros, 2012)

Figura 1

Tendencia de Hardware Open Source usado para IoT.

En la figura 1, se aprecia el número de publicaciones afiliadas a las cuatro plataformas de hardware más utilizadas en proyectos de código abierto se utiliza para mostrar su relevancia en la Figura 1. Las curvas estancadas para Arduino y Raspberry en los últimos años pueden indicar que el uso de estas plataformas en las publicaciones alcanzó su pico máximo. Sin embargo, no hay señales de que disminuya el número de publicaciones por año sobre estos temas.

 

El módulo ESP8266 

El ESP es un módulo creado por la empresa Espressif Systems, completamente programable tal y como lo es Arduino. Su característica principal es que permite al desarrollador implementar una conexión inalámbrica Wi-Fi en sus proyectos para manipular datos sin importar la hora ni el lugar en el que se encuentre. Existen diferentes modelos, cada uno con especificaciones diferentes para que el usuario utilice el que más le convenga de acuerdo al proyecto planeado; lo único que se necesita para poder emplear el módulo es conocimiento básico en programación de TI ́s (Tecnologías de la Información, (Hernández y otros, 2019)

 


 

Lenguajes de programación para desarrollo de aplicaciones para dispositivos IOT

Figura 2

Lenguajes de los Repositorios de código en Github 2020

Fuente: DOI: 10.1109/ACCESS.2020.2972364

En la figura 2 se muestra información del sitio Github, acerca de los repositorios de aplicaciones para IoT y no IoT, donde se destaca el lenguaje C, como el más usado para la programación de dispositivos, luego viene C++, y siguiente Java y Python que necesitan adaptadores para poder funcionar con los IDEs. JavaScript aparece como el lenguaje más preferido para aplicaciones que no son para dispositivos IoT. (Sáenz y otros, 2020)

Lenguajes de programación preferidos en 2022

Figura 3:

Lenguajes de programación más populares en 2022

En la figura 3, se observa que Javascript es el lenguaje de backend con mayor popularidad, en segundo lugar, esta Python, luego viene Java; en cuarto lugar, C#, pero no es open Source, y en quinto lugar esta PHP.

Figura 4 

Lenguajes de programación más usados en los sitios web en 2022

Server-side languages chart showing PHP at the very top.

En la figura 4, se puede apreciar que PHP es el lenguaje más usado en los sitios web alrededor del mundo.

Licencias Open Source

El software libre/libre/de código abierto (FLOSS) o el software libre y de código abierto (FOSS) (Androutsellis-Theotokis y otros, 2010) ha ayudado a la difusión de tecnologías emergentes, lo que permite a los usuarios utilizar software disponible públicamente de forma gratuita y a los desarrolladores para incorporar código fuente de terceros en sus implementaciones. Las bibliotecas individuales y ya probadas se utilizan a menudo como bloques de construcción para sistemas de software más grandes, ofreciendo funcionalidad reutilizable y proporcionando los medios para acelerar el tiempo de lanzamiento. Se pueden encontrar varias comunidades de código abierto que consisten en desarrolladores activos y solucionadores de errores para proyectos específicos, que van desde grupos pequeños a muy grandes, según la popularidad del sistema de software. Los términos bajo los cuales el software está disponible y se proporciona para su uso se describen en las licencias correspondientes (Lawrence, 2004) . La concesión de licencias es una cuestión legal, ya que el software está muy relacionado con la propiedad intelectual.

Bases de datos para el desarrollo de aplicaciones web

Figura 5:

Bases de datos más usadas para el desarrollo de aplicaciones web en 2022

Stack Overflow Developer Survey

Fuente: (Mehta, 2022)

 

En la figura 5, se puede observar que la base de datos más usada en aplicaciones web es MYSQL, la cual es una base de datos open Source, a diferencia de Microsoft SQL Server, Oracle e Informix que son de uso bajo licencia propietaria. (Tezuysal & Smirnova, 2022)

Servidores web

Figura 6:

Servidores web usados en los diez mil principales sitios web en Internet

 

Se puede apreciar en la figura 6, que Apache, es el servidor web más usado, Apache para admitir lenguajes de secuencias de comandos como PHP y Node.js. La gran mayoría de los sitios web modernos utilizan uno de estos lenguajes de secuencias de comandos, ya sea en forma de un framework personalizado o un sistema de gestión de contenido como WordPress, Drupal o Craft CMS. (Harkness, 2022).

Nginx, soporta lenguajes como Java, Php, Javascript, Python. NGINX es uno de los servidores web más utilizados en la actualidad, en parte debido a sus capacidades como equilibrador de carga y servidor proxy inverso para HTTP y otros protocolos de red. Este libro de cocina revisado proporciona ejemplos fáciles de seguir de problemas del mundo real en la entrega de aplicaciones. Las recetas prácticas lo ayudan a configurar y utilizar la oferta comercial o de código abierto para resolver problemas en varios casos de uso. (DeJonghe, 2019).

Estructura de un sistema de control de luces

Figura 7: Entorno domótico

Fuente: El autor

Se diseñó un sistema que controla las luces desde Internet, usando una aplicación Web y un Arduino (ESP8266) Wemos D1 para control del relé.

Especificación del sistema de control de luces

El sistema controla las luces a través de un relé, el cual da paso a la energía eléctrica, este relé es activado o desactivado desde una placa electrónica Arduino Wemos D1, esta placa se conecta al Wifi e internet, se consulta la base de datos a través de un servicio web escrito en PHP, el cual el devuelve el estado de las luces según indique en la base de datos, el estado de la luz es un campo estado en las tabla estados en MySQL, esta tabla es consultada y actualizada desde el sitio web escrito en HTML, AJAX, JQUERY y PHP, que interactúa con el usuario, y al hacer clic en el estado, envía la petición AJAX al servicio web, que actualiza la base de datos, El Arduino está constantemente consultando el estado con el link: String Link = "http://192.168.0.101/pr1/datos.php";

Diagrama de conexión entre arduino wemos d1 y rele

Figura 8: Diagrama de conexión entre Arduino y Relé

controling 5V relay with Wemos D1 R1 - Project Guidance - Arduino Forum

Fuente: https://forum.arduino.cc/t/controling-5v-relay-with-wemos-d1-r1/671433

 

Diseño de la aplicación Web

Figura 9

Diseño de la aplicación web.

Lenguajes de programación usados para el desarrollo.

El sitio web fue desarrollado usando HTML 5 con JQUERY para control de eventos, y Ajax para las consultas a los usando llamadas POST a los Web Services PHP para enviar el nuevo estado de las luces. Para los servicios web y acceso a la base de datos se utilizó PHP versión 8.1

El código esta publicado en GitHub: shorturl.at/GSX49

MATERIALES Y METODOS

Se utilizó una metodología de investigación bibliográfica, transversa, búsqueda sistematizada de información en bases de datos como Google Scholar y ResearchGate, https://learning.oreilly.com/, www.sciencedirect.com/ usando cadenas de búsqueda en inglés como: software open Source using IoT, web servers, MySQL, languages programming.

La búsqueda de información dio como resultado treinta fuentes bibliográficas, los cuales fueron leídos y se extrajo la información de experiencia práctica de varios autores  

La búsqueda de información se realizó desde una perspectiva estructurada de:

§  Bases de datos Open Source

§  Lenguajes de programación Open Source

Se usó el software MAXQDA, para organizar la información, resaltar los bloques de texto con información clave. Además, MAXQDA permite realizar anotaciones y llevar en un único archivo toda la información organizada respecto al artículo, MAXQDA es una alternativa más económica que su competidor NVIVO.

También se utilizó el software RepetitionDetector2 en versión de prueba de 30 días permite analizar la cantidad de palabras repetidas, lo cuyo resultado se usó para indicar las palabras clave.

ANALISIS DE RESULTADOS

El uso de código abierto, permite la interoperabilidad entre distintas tecnologías, además el hecho de poseer el código fuente permite que investigadores, desarrolladores puedan probar, reconstruir y aprender unos de otros, gracias a la existencia de las comunidades en línea.

En la investigación se pudo observar que la tendencia es usar hardware y software open Source para el desarrollo de soluciones para IoT.

Los lenguajes de programación Open Source más usados para el IOT son: C/C++, usados para el programar en placas Arduino, Raspberry, Esp32, en segundo lugar, se usa Python.

El hardware más usado en IoT es Arduino, y en segundo lugar Raspberry

Aunque existen muchos lenguajes de moda como Python o Javascript tienen menor cuota en sitios, versus la cantidad de sitios web existentes escritos con Php con un 78.1% de cuota de mercado.

MySQL es la base de datos de mayor uso en las aplicaciones web, y en segundo lugar es Postgre SQL.

Los servidores web más usados son: apache en primer lugar y Nginx ambos Open Source.

La mayoría de licencias Open Source obligan a publicar las modificaciones a las librerías. El uso de tecnología Open Source permite una evolución más rápida y desarrollo más rápido de tecnologías y soluciones, y por la interoperabilidad se han desarrollado estándares como XML y JSON para intercambio de datos.

CONCLUSIONES

Se puede concluir en que

§  El uso de tecnologías Open Source ha dado lugar a la reducción de costos de desarrollo de soluciones para el del IOT, y en consecuencia el abaratamiento de los costos para el usuario final.

§  La mayoría de servidores web, lenguajes de programación y bases de datos funcionan sobre sistemas operativos Open Source, lo cual reduce el costo de licencias para las empresas que desarrollan tanto hardware como software IOT-

§  El uso de licencias Open Source también tiene relación con los derechos de autor al momento de desarrollar software, lo cual obliga a publicar las mejoras realizadas a alguna librería, esto es como parte de las políticas del Open Source.

§  Del mismo modo el software de servidores Web se puede instalar sobre Linux el cual es Open Source, lo cual reduce enormemente el costo de los sitios web y costos de mantener servidores en el caso de las empresas e Industrias.

§  Existen varios modelos de placas electrónicas Arduino con capacidad Wifi, las cuales tienen comunicación http y permiten interacción con sitios web, además se puede trabajar en un marco de seguridad IoT gracias a protocolos https y comunicación entre la aplicación del dispositivo y la aplicación Web a través de Api Rest con token de seguridad, no es el caso del ejemplo de este artículo.

§  En este artículo se presentó el diseño de un sistema de control de luces a través de internet, y se incluye el link de descarga del código fuente.


 

BIBLIOGRAFÍA

Aghenta, L., & Iqbal, T. (Julio de 2019). Low-cost, open source IoT-based SCADA system design using thinger.IO and ESP32 thing. DOI: 10.3390/electronics8080822

Amaral, L., Matos, E., Tiburski, R., Hessel, F., Lunardi, W., & Marczak, S. (16 de abril de 2016). Middleware Technology for IoT Systems: Challenges and Perspectives Toward 5G. DOI: 10.1007/978-3-319-30913-2_15

Androutsellis-Theotokis, S., Spinellis, D., Kechagia, M., & Gousio, G. (enero de 2010). Open Source Software: A Survey from 10,000 Feet. DOI: 10.1561/0200000026

Apache . (2022). Apache License, Version 2.0. https://www.apache.org/licenses/LICENSE-2.0.

Arduino.cc. (2022). Arduino - FAQ.” [Online]. https://www.arduino.cc/en/main/FAQ

De Silva, D., Sierla, S., Alahakoon, D., Osipov, E., Yu, X., & Vyatkin, V. (10 de Junio de 2020). Toward Intelligent Industrial Informatics: A Review of Current Developments and Future Directions of Artificial Intelligence in Industrial Applications. IEEE Industrial Electronics Magazine 14(2):57-72: DOI: 10.1109/MIE.2019.2952165

DeJonghe, D. (2019). NGINX Cookbook. O'Reilly Media, Inc.

DuBravac, S., & Ratti, C. (2015). The Internet of Things: Evolution or Revolution? https://www.aig.co.uk/content/dam/aig/emea/united-kingdom/documents/aig-white-paper-iot-june2015-brochure.pdf

Farnell Global IoT Survey 2019. (s.f.). Retrieved 1 de nov de 2022, from https://fi.farnell.com/global-iot-survey-2019.

Flanagan., D. (2011). JavaScript: The Definitive Guide. https://www.oreilly.com/library/view/javascript-the-definitive/9781449393854/index.html

GAO. (2020). GAO-20-577 Internet of Things. https://www.vaughn.edu/wp-content/uploads/2022/06/VCJETTech-Day-2022.pdf

GitHub. (s.f.). The world’s leading software development platform · GitHub. Retrieved 2020, from https://github.com/

Grzegorzewska, P., Blind, K., Böhm, M., Katz, A., Muto, S., Pätsch, S., & Schubert, T. (2021). Study and survey on the impact of Open Source Software and Hardware in the EU economy. EUROPE DIRECT is a service to help you find answers to your questions about the European Union: https://www.ossbig.at/wp-content/uploads/2021/09/CNECT_OpenSourceStudy_EN_28_6_2021_LMBhSihnCeC7JEDsHXkK1JlZ0_79021.pdf

GUNNARSSON, K., & HERBER, O. (2020). The Most Popular Programming Languages of GitHub's Trending Repositories. http://www.diva-portal.org/smash/get/diva2:1463849/FULLTEXT01.pdf

Harkness, D. (2022). Apache Essentials: Install, Configure, Maintain. Apress.

Hernández, D., Cortés Cruz, E., Miranda Medina, C., Ramos Guerreo, G., & León Reyes, A. (19 de Octurbre de 2019). Uso del módulo ESP8266 en aplicaciones IoT utilizando los servicios de PubNub. DOI: 10.5281/zenodo.4312306

Höller, J., Tsiatsis, V., Karnouskos, S., & Mulligan, C. (18 de Noviembre de 2018). Internet of Things: Technologies and Applications for a New Age of Intelligence, 2nd edition. DOI: 10.1016/C2017-0-00369-5

Juranek, M., & Kulhanek, J. (2011). The use of MEMs accelerometers for measurement of driver seat comfort. The use of MEMs accelerometers for measurement of driver seat comfort

Jurek, M., & Skuta, J. (mayo de 2016). Open-source smart home modules. DOI:10.1109/CarpathianCC.2016.7501110

keras. (2022). keras/LICENSE at master · keras-team/keras · GitHub. https://github.com/kerasteam/keras/blob/master/LICENSE

Lasi, H., Fettke, P., Kemper , H.-G., Feld, T., & Hoffmann, M. (19 de junio de 2014). Industry 4.0. DOI: 10.1007/s12599-014-0334-4

Lawrence, R. (2004). Open Source Licensing: Software Freedom and Intellectual Property Law. Prentice Hall PTR. https://doi.org/ISBN 13: 978-0131487871

Liao, Y., Deschamps, F., Loures, E., & Ramos, L. (10 de marzo de 2017). Past, present and future of Industry 4.0 - a systematic literature review and research agenda proposal. Project: ONE STEP TOWARDS THE INDUSTRY 4.0: THE CONSTRUCTION OF A SMART FACTORY LABORATORY: DOI: 10.1080/00207543.2017.1308576

Marchetto, A., & Tonella, P. (06 de JUNIO de 2008). State-Based Testing of Ajax Web Applications. 2008 International Conference on Software Testing, Verification, and Validation: DOI: 10.1109/ICST.2008.22

Markley, R. (2019). Testing for EMI/EMC Compliance with RF Modules. https://embeddedcomputing.com/technology/debug-and-test/testing-for-emi-emc-compliance-with-rf-modules

Martikkala, A., David, J., Lobov, A., Lanz, M., & Flores Ituarte, I. (10 de septiembre de 2021). Trends for Low-Cost and Open-Source IoT Solutions Development for Industry 4.0. DOI: 10.1016/j.promfg.2021.10.042

Mehta, A. (23 de mayo de 2022). Top 15 best database for web applications to Use in 2022. https://appinventiv.com/blog/top-web-app-database-list/

Nagashima, K., Fukuda, H., & Takada, S. (01 de mar de 2013). Aspect-jQuery: an aspect-oriented framework for jquery. https://doi.org/10.1145/2451469.2451472

Naim, R., Nizam, M., Hanamasagar, S., & Noureddine, J. (1 de SEP de 2010). Comparative Studies of 10 Programming Languages within 10 Diverse Criteria. https://arxiv.org/pdf/1008.3561.pdf

NVIDIA. (2022). OpenCV | NVIDIA Developer. https://developer.nvidia.com/opencv

Odeh, A. (11 de NOV de 2019). Analytical and Comparison Study of Main Web Programming Languages -ASP and PHP. DOI: 10.18421/TEM84-58

opensource.org. (2022). The MIT License | Open Source Initiative. https://opensource.org/licenses/mit-license.php

Oton, C., & Iqbal, T. (15 de diciembre de 2021). Low-Cost Open Source IoT-Based SCADA System for a BTS Site Using ESP32 and Arduino IoT Cloud. Conference: 2021 IEEE 12th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON): DOI: 10.1109/UEMCON53757.2021.9666691

Ramalho, L. (2022). Fluent Python, 2nd Edition. O'Reilly Media, Inc.

Ramirez Lopez, L., Puerta, G., & Rodriguez, A. (20 de julio de 2016). Internet of Things Applied in Healthcare Based on Open Hardware with Low-Energy Consumption. Healthcare Informatics Research 25(3):230: DOI: 10.4258/hir.2019.25.3.230

raspberrypi.org. (2022). Product compliance and safety - Raspberry Pi Documentation. https://www.raspberrypi.org/documentation/hardware/raspberryp

Sáenz, J., De Russis, L., & Corno, F. (07 de 02 de 2020). How is Open Source Software Development Different in Popular IoT Projects? DOI: 10.1109/ACCESS.2020.2972364

Subramaniam, V. (2018). Rediscovering JavaScript. Master ES6, ES7, and ES8. The Pragmatic PrograM. Boston: Pragmatic Bookshelf. https://doi.org/ISBN: 1680505467

tensorflow. (2022). tensorflow/LICENSE at master · tensorflow/tensorflow. https://github.com/tensorflow/tensorflow/blob/master/third_party/eigen3/LICENSE

Tezuysal, A., & Smirnova, S. (2022). MySQL Cookbook, 4th Edition. O'Reilly Media, Inc.

Thinger.io. (2022). thinger-io/Docs: Thinger.io Open Source IoT Platform. https://github.com/thingerio/Docs

Tsiatsis, V., Karnouskos, S., Höller, J., Boyle, D., & Mulligan, C. (2019). Internet of Things: Technologies and Applications for a New Age of Intelligence. https://doi.org/10.1016/B978-0-12-814435-0.00012-2