FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Si vous êtes passionné de programmation, vous avez sûrement entendu parler de Rust, le langage créé par Mozilla, plébiscité par les développeurs pour sa sécurité et ses performances. Le Raspberry Pi, cet ordinateur miniature polyvalent, est idéal pour l'apprentissage du code embarqué. Associons-les pour installer Rust et créer un premier projet : faire clignoter une LED !

Ce tutoriel, testé sur Raspberry Pi 3B+ avec Raspbian Stretch en mode bureau (fonctionne aussi via SSH), vous guide pas à pas. Notez que les résultats peuvent varier selon le modèle et l'OS.

Préparation de votre Raspberry Pi

Matériel requis :

  • Raspberry Pi
  • LED
  • Résistance 220-1k Ω
  • Planche à breadboard et câbles de connexion
Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Montez le circuit : connectez GPIO 18 à l'anode (+) de la LED, la cathode (-) à la résistance, puis à une broche GND du Pi. Attention : toujours utiliser une résistance pour protéger la LED !

Installation de Rust sur Raspberry Pi

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Visitez la page officielle d'installation Rust et copiez la commande dans votre terminal. Optez pour l'installation par défaut.

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

L'installation peut prendre du temps selon votre connexion. Un message confirme la fin.

Après l'installation

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Redémarrez le Pi ou déconnectez/reconnectez-vous pour mettre à jour le PATH. Vérifiez avec rustc --version et cargo --version.

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Utilisez un éditeur comme Code-OSS (version open-source de VS Code) ou nano/vim.

Créer un projet Rust

Créez un répertoire :

mkdir mon_projet
cd mon_projet

Initialisez avec Cargo :

cargo new mon_projet_rust
Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Entrez dans le dossier et listez :

cd mon_projet_rust
ls

Vous verrez src/ et Cargo.toml, base de tout projet Rust.

Anatomie d'un projet Rust simple

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Dans src/main.rs, un "Hello World" est préchargé. La syntaxe évoque C/Java : accolades, points-virgules. Contrairement à Python, Rust compile avant exécution.

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Cargo.toml gère nom, version, dépendances (crates en Rust).

Compiler l'exemple

Dans le répertoire du projet :

cargo build
Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Crée target/ (avec debug/) et Cargo.lock (pour reproductibilité).

Exécutez :

cargo run
Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Parfait ! Passons au GPIO.

Configuration GPIO

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Utilisez la crate rust_gpiozero (similaire à gpiozero Python).

Ajoutez dans Cargo.toml :

[dependencies]
rust_gpiozero = "0.2.0"

Vérifiez :

cargo check
Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotanteTutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Modifiez main.rs :

use rust_gpiozero::*;
use std::thread::sleep;
use std::time::Duration;

fn main() {
    let led = LED::new(18);
    loop {
        led.on();
        sleep(Duration::from_secs(1));
        led.off();
        sleep(Duration::from_secs(1));
    }
}

Testez !

Tutoriel Rust sur Raspberry Pi : Installation et premier projet LED clignotante

Compilez et exécutez :

cargo run

Votre LED clignote ! Ctrl+C pour arrêter. Vérifiez syntaxe en cas d'erreur.

Avenir prometteur pour Rust sur Raspberry Pi

Python reste dominant pour sa simplicité, mais Rust gagne en popularité grâce à sa sécurité mémoire et ses performances. Explorez-le pour vos projets IoT !

[]