Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Rust como lenguaje de programación unificado para IoT

dc.contributor.advisorIgual Peña, Francisco Daniel
dc.contributor.advisorCostero Valero, Luis María
dc.contributor.authorRomera Corral, Marco
dc.date.accessioned2023-11-02T14:42:29Z
dc.date.available2023-11-02T14:42:29Z
dc.date.issued2023
dc.descriptionTrabajo de Fin de Máster en Internet de las Cosas, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2023/2024. Rust in IoT code repository: https://github.com/marcormc/rustiot
dc.description.abstractEl presente trabajo analiza el uso del lenguaje de programación Rust en el ámbito de Internet de las Cosas (IoT). Se plantea el uso del Rust en las áreas de computación en la nube, gateways y nodos edge, y programación embebida de nodos IoT. Se analizan las propiedades de seguridad de memoria y concurrencia de Rust y su adecuación al entorno IoT. En particular se desarrollan dos ejemplos de aplicación en un nodo IoT basado en placa de desarrollo ESP32-C3-DevKit-RUST-1 con la plataforma RISC-V. El nodo dispone de sensores internos de temperatura, humedad y un acelerómetro (IMU) así como sensores I²C externos. Los ejemplos comparan modelos de concurrencia distintos. El primer ejemplo se basa en la librería estándar de Rust implementada con el sistema ESP-IDF (Espressif IoT Development Framework) y el uso de threads y servicios de un sistema RTOS (Real Time Operating System). El segundo ejemplo utiliza programación asíncrona, prescindiendo de la librería estándar (no_std) y por tanto del sistema operativo, y utiliza la librería Embassy que facilita un ejecutor asíncrono.
dc.description.abstractThis work analyzes the use of the Rust programming language in the field of IoT (Internet of Things). The use of Rust in the areas of cloud computing, gateways and edge nodes and embedded programming in the IoT node is discussed. The memory safety and concurrency models of Rust and its application to IoT are analyzed. Two application examples are developed for an IoT node based in the ESP32-C3- DevKit-RUST-1 development board which uses the RISC-V platform. The node has internal sensors for temperature and humidity and accelerometer (IMU) as well as externally connected I²C sensors. The examples compare different concurrency models. The first example is based on the Rust standard library (std) that, in this case, is implemented with the ESP-IDF, and the use of threads and services provided by this RTOS system. The second example uses asynchronous programming, and it does not use the standard library (no_std crate), so there is no operating system. It uses the Embassy library that provides an executor for asynchronous tasks.
dc.description.departmentDepto. de Arquitectura de Computadores y Automática
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.identifier.relatedurlhttps://github.com/marcormc/rustiot
dc.identifier.urihttps://hdl.handle.net/20.500.14352/88541
dc.language.isoeng
dc.master.titleMáster en Internet de las Cosas
dc.page.total79
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordRust
dc.subject.keywordIoT
dc.subject.keywordConcurrencia
dc.subject.keywordSeguridad
dc.subject.keywordRISC-V
dc.subject.keywordI2C
dc.subject.keywordWebAssembly
dc.subject.keywordAsíncrono
dc.subject.keywordFsm
dc.subject.keywordConcurrency
dc.subject.keywordSecurity
dc.subject.keywordAsynchronous
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleRust como lenguaje de programación unificado para IoT
dc.title.alternativeRust as a unified programming language for IoT
dc.typemaster thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublicatione1ed9960-37d5-4817-8e5c-4e0e392b4d66
relation.isAdvisorOfPublicationb2616c88-d3da-43df-86cb-3ced1084f460
relation.isAdvisorOfPublication.latestForDiscoverye1ed9960-37d5-4817-8e5c-4e0e392b4d66

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2178385412 - MARCO ROMERA CORRAL - 142983_MARCO_ROMERA_CORRAL_Rust_como_lenguaje_de_programacion_unificado_para_IoT_2014575_1016084140.pdf
Size:
13.12 MB
Format:
Adobe Portable Document Format