Rust como lenguaje de programación unificado para IoT
El 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 conc...
| Author: | |
|---|---|
| Format: | master thesis |
| Publication Date: | 2023 |
| Country: | España |
| Institution: | Universidad Complutense de Madrid (UCM) |
| Repository: | Docta Complutense |
| Language: | English |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/88541 |
| Online Access: | https://hdl.handle.net/20.500.14352/88541 |
| Access Level: | Open access |
| Keyword: | 004(043.3) Rust IoT Concurrencia Seguridad RISC-V I2C WebAssembly Asíncrono Fsm Concurrency Security Asynchronous Informática (Informática) 33 Ciencias Tecnológicas |
| Summary: | El 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. |
|---|