# Uso de Rust embebido para dispositivos autnomos
> [! nota]-
> El contenido de esta página se ha generado a partir de la transcripción de audio/vídeo y la transformación del texto del contenido y los enlaces de esta fuente.
Fuente: [https://fosdem.org/2025/schedule/event/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device/](https://fosdem.org/2025/schedule/event/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device/)
<video src=«https://video.fosdem.org/2025/h1302/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device.av1.webm» controls></video>
## Resumen y aspectos destacados:
**Introducción**
La sesión se centra en el uso de Rust embebido para desarrollar un dispositivo fotómetro autónomo y alimentado por baterías, con el fin de medir la calidad del cielo nocturno. Este proyecto es parte de un esfuerzo colaborativo para crear una red global de fotómetros accesible tanto para entusiastas como para profesionales.
**Desarrollo del proyecto**
El proyecto comenzó con la colaboración de la Libre Space Foundation y el Instituto de Astrofísica de Canarias. Se diseñó un dispositivo sencillo utilizando sensores I2C, un microcontrolador y conectividad WiFi. La elección de Rust como lenguaje de programación se debió a su capacidad para manejar dispositivos embebidos de manera robusta y segura.
**Desafíos y soluciones**
Durante el desarrollo, se enfrentaron varios desafíos técnicos, especialmente en términos de gestión de memoria y concurrencia. Rust ofreció herramientas avanzadas como Cargo, que simplificaron el ciclo de vida del proyecto, y su comunidad proporcionó un soporte cohesivo y activo.
**Resultados**
El dispositivo ha sido probado rigurosamente en condiciones difíciles y ha demostrado ser eficaz. Está desplegado en varios lugares, incluyendo las Islas Canarias y Grecia, proporcionando datos valiosos para la investigación astronómica.
**Conclusiones**
El uso de Rust en este proyecto ha sido exitoso, destacando su potencial para aplicaciones de hardware abierto y desarrollo sostenible. Sin embargo, se identificaron áreas de mejora, como la falta de soporte oficial de algunos proveedores de hardware.
## Importancia para una transformación ecosocial
Este proyecto es significativo para la transformación ecosocial, ya que promueve el uso de tecnologías open-source y hardware abierto para abordar problemas ambientales como la contaminación lumínica. Al facilitar la creación de una red global de fotómetros, fomenta la colaboración comunitaria y el acceso a datos científicos. Para los diseñadores ecosociales, este proyecto demuestra el potencial de Rust para desarrollar dispositivos sostenibles y eficientes en energía, destacando la importancia de la comunidad y las herramientas open-source en el avance tecnológico. Los desafíos incluyen la necesidad de un mayor soporte de proveedores y la adaptación del software a diferentes entornos y necesidades sociales.
## Slides:
| | |
| --- | --- |
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_001.jpg\|300]] | La primera diapositiva introduce a Xabier Crespo Álvarez y su empresa SC Robotics, presentando el contexto de la charla en FOSDEM 2025 en Bruselas. Se centra en el uso de Rust embebido para construir un dispositivo autónomo y alimentado por baterías, destacando su aplicación en el proyecto Dark Sky Meter para medir la calidad del cielo nocturno.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_002.jpg\|300]] | Esta diapositiva ofrece un descargo de responsabilidad, aclarando que la charla no es una inmersión profunda en Rust, sino una serie de reflexiones sobre su viabilidad para desarrollar dispositivos embebidos listos para producción.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_003.jpg\|300]] | La tercera diapositiva aborda el problema de la contaminación lumínica para los astrónomos, destacando sus consecuencias en la salud pública, el medio ambiente y la identidad cultural. Se ilustra con una imagen de Jeremy Stanley, mostrando el impacto visual de la contaminación lumínica.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_004.jpg\|300]] | Esta diapositiva explica cómo medir la contaminación lumínica utilizando sensores como el ams TSL237, que ha sido descontinuado, y el ams TSL25911, que ofrece una solución más moderna y eficaz.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_005.jpg\|300]] | La quinta diapositiva discute las tendencias actuales en la comunidad Maker, destacando enfoques tradicionales con C/C++ y SDKs de fabricantes, así como nuevas tendencias en la industria con Rust y Zephyr.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_006.jpg\|300]] | La sexta diapositiva explora por qué Rust es una opción atractiva para los sistemas embebidos, citando características clave del lenguaje que lo hacen adecuado para estos entornos.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_007.jpg\|300]] | Similar a la sexta, esta diapositiva continúa explorando las razones para elegir Rust en sistemas embebidos, basándose en la fuente oficial de Rust.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_008.jpg\|300]] | Siguiendo con el tema de las diapositivas anteriores, se profundiza en las ventajas de utilizar Rust en sistemas embebidos, destacando su análisis estático y otras características técnicas.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_009.jpg\|300]] | La diapositiva nueve sigue explorando las fortalezas de Rust en sistemas embebidos, enfatizando su flexibilidad en la asignación de memoria y su seguridad en la concurrencia.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_010.jpg\|300]] | Esta diapositiva concluye la sección sobre por qué Rust es beneficioso para los sistemas embebidos, destacando su capacidad para manejar interrupciones y su potente gestor de paquetes, Cargo.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_011.jpg\|300]] | La diapositiva once destaca las herramientas de Rust, como Cargo, que facilitan el desarrollo de proyectos embebidos, permitiendo la gestión de dependencias y la ejecución de pruebas de manera eficiente.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_012.jpg\|300]] | Aquí se discute la disponibilidad de drivers para sistemas embebidos en Rust, gracias a los esfuerzos de estandarización del grupo de trabajo de dispositivos embebidos de Rust.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_013.jpg\|300]] | La diapositiva trece muestra ejemplos de cómo añadir drivers para sensores específicos en Rust, utilizando el gestor de paquetes Cargo para facilitar el proceso.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_014.jpg\|300]] | Esta diapositiva aborda los desafíos que surgen con el uso de herramientas modernas como Rust, haciendo referencia al conocido cómic sobre problemas modernos.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_015.jpg\|300]] | La diapositiva quince evalúa la consideración de Rust para nuevos proyectos, resaltando sus herramientas avanzadas y comunidad fuerte, pero señalando la falta de soporte de proveedores.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_016.jpg\|300]] | Se presentan las características del Dark Sky Meter, incluyendo sus sensores, opciones de conectividad y características de software de bajo consumo, destacando su diseño para ser alimentado por paneles solares.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_017.jpg\|300]] | La diapositiva diecisiete menciona el uso de crates externos en el proyecto, facilitando la integración de funcionalidades adicionales mediante el gestor de paquetes Cargo.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_018.jpg\|300]] | Aquí se discute el consumo de energía del dispositivo, destacando su eficiencia energética durante el ciclo completo de noche.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_019.jpg\|300]] | La diapositiva diecinueve detalla el ciclo completo de una noche, mostrando el consumo energético y el tiempo de actividad del dispositivo.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_020.jpg\|300]] | Esta diapositiva continúa la discusión sobre el consumo energético, enfocándose en ciclos específicos de muestreo y conexión.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_021.jpg\|300]] | Se presenta un ciclo de muestreo típico de aproximadamente 75 segundos, mostrando el consumo energético asociado.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_022.jpg\|300]] | La diapositiva veintidós ofrece más detalles sobre el consumo energético durante diferentes ciclos de operación del dispositivo.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_023.jpg\|300]] | Aquí se ilustra el ciclo de muestreo y conexión, destacando el aumento en el consumo energético al activar el módem para la transmisión de datos.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_024.jpg\|300]] | La diapositiva veinticuatro presenta los resultados del proyecto, mostrando gráficos de temperatura y voltaje de la batería durante un ciclo de operación.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_025.jpg\|300]] | Se muestran los cambios de temperatura día/noche y el impacto del ciclo lunar en la luminosidad nocturna, junto con el comportamiento de la batería en el Observatorio del Teide.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_026.jpg\|300]] | La diapositiva veintiséis ofrece una conclusión del proyecto, destacando su éxito y la implementación de los dispositivos en varias ubicaciones.
| ![[FOSDEM 2025/assets/Using-embedded-Rust-to-build-an-unattended-battery/preview_027.jpg\|300]] | La última diapositiva agradece a los participantes y proporciona enlaces a los repositorios de firmware y hardware del proyecto, invitando a la colaboración futura.
## Enlaces
[Talk slides](https://fosdem.org/2025/events/attachments/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device/slides/238320/FOSDEM25_ylPDHjT.pdf)
[Firmware repository](https://gitlab.com/scrobotics/optical-makerspace/dark-sky-meter-fw)
[Hardware repository](https://gitlab.com/scrobotics/optical-makerspace/dark-sky-meter-hw)
[Video recording (AV1/WebM) - 137.2 MB](https://video.fosdem.org/2025/h1302/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device.av1.webm)
[Video recording (MP4) - 552.1 MB](https://video.fosdem.org/2025/h1302/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device.av1.mp4)
[Video recording subtitle file (VTT)](https://video.fosdem.org/2025/h1302/fosdem-2025-6300-using-embedded-rust-to-build-an-unattended-battery-powered-device.vtt)