Rust pour le développement de systèmes IoT

Rust est un langage qui se dit performant, fiable et productif. Il apporte en comparaison à d'autres langages utilisés dans les systèmes IoT, des garanties intéressantes.

L'objectif de ce projet était de réaliser un portage d'une application existante et d'en analyser les effets. Les deux points importants sont d'observer la sécurité et la maturité que le Rust apporte dans un environnement lié aux systèmes embarqués.

Le projet s'est divisé en plusieurs étapes. Premièrement, l'apprentissage du langage Rust et de ses bases. Ensuite, cet apprentissage a été appliqué sur un premier environnement embarqué avec l'utilisation de la carte « Micro-bit ». Enfin, dans le but de la réalisation concrète du portage, nous avons utilisé la carte « B-L072Z-LRWAN1 » ayant toutes les caractéristiques nécessaires.

L'implémentation du LoRaWAN nous montre l'envergure de la complexité du portage. On fait appel à une stack réalisé en C et il faut donc maîtriser le linkage et être sûre que l'implémentation est bien réalisée car Rust ne garantit pas la partie linkée.

Pour conclure, les analyses nous démontrent des bons et mauvais points. L'analyse de la sécurité au cours du projet nous a montré que le langage Rust offre des avantages. En effet, on obtient à la compilation les erreurs liés à l'aspect sécurité qui nous empêchent des implémentations incorrectes. Du point de vue de la maturité du langage, on constate encore quelques lacunes. Cela est dépendant du matériel utilisé et des librairies disponibles. Il est donc intéressant de faire une bonne recherche avant le développement d'un projet.

Etudiant: Christian Gomes

Année: 2022

Département: TIC

Filière: Informatique et systèmes de communication (anciennement Informatique) avec orientation en Informatique embarquée

Type de formation: En emploi

Enseignant responsable: Juergen Ehrensberger

Institut: IICT

Téléchargements:
- Télécharger l'affiche
- Télécharger le rapport