Vous cherchez un moyen de démarrer avec Rust?  Voici comment créer un programme matériel de base avec Rust sur le Raspberry Pi.

Comment démarrer avec Rust sur Raspberry Pi

Publicité Si vous êtes intéressé par la programmation, vous avez probablement entendu parler de Rust 7 Reasons Rust est le nouveau langage de programmation le plus intéressant 7 raisons Rust Le nouveau langage de programmation le plus excitant vous intéresse-t-il? Vous souhaitez vous lancer dans la programmation? Voic

Publicité

Si vous êtes intéressé par la programmation, vous avez probablement entendu parler de Rust 7 Reasons Rust est le nouveau langage de programmation le plus intéressant 7 raisons Rust Le nouveau langage de programmation le plus excitant vous intéresse-t-il? Vous souhaitez vous lancer dans la programmation? Voici pourquoi Rust est le nouveau langage de programmation le plus excitant et le plus accessible. Lire la suite . Le langage, conçu par Mozilla, est très apprécié des développeurs et continue de croître chez les passionnés.

Le Raspberry Pi est le couteau suisse des petits ordinateurs, parfait pour apprendre le code. Combinons les deux et installons Rust sur un Raspberry Pi.

Configuration de votre Raspberry Pi

Pour ce projet, vous aurez besoin de:

  • Tarte aux framboises.
  • LED.
  • Résistance 220-1k Ohm.
  • Planche à pain et fils de connexion.

Un schéma de circuit montrant une LED et une résistance attachées aux broches GPIO 18 et GND d'un Raspberry Pi

Configurez votre circuit avec GPIO 18 connecté au bras positif de la LED et au bras négatif de la LED à la résistance, puis à une broche GND sur le Pi.

Ce tutoriel a été réalisé avec un Raspberry Pi 3B + avec Raspbian Stretch en mode bureau. Cela fonctionnerait parfaitement avec une connexion SSH distante également, bien que différents modèles de Pi et différents systèmes d'exploitation puissent avoir des résultats variables.

Comment installer Rust sur Raspberry Pi

La commande de terminal requise pour installer Rust

Pour installer Rust, rendez-vous sur la page d’installation de rust-lang et copiez la commande d’installation dans votre terminal. Lorsque vous y êtes invité, choisissez une installation par défaut.

Les trois choix présentés par l’installateur Rust.

Le programme d'installation vous avertira de la fin de l'installation, bien que l'installation puisse prendre un certain temps en fonction de votre connexion.

Après l'installation

Rustc et Cargo sont installés, mais pas actuellement dans PATH

L'installation est réussie, mais vous ne pouvez pas encore l'utiliser. Si vous essayez de vérifier Rust and Cargo par version, vous obtiendrez une erreur. Généralement, vous devez ajouter une langue à votre PATH pour les utiliser sur la ligne de commande.

Heureusement, Rust le fait pour vous, et tout ce que vous avez à faire est de redémarrer votre Pi, ou de vous déconnecter et de vous reconnecter. Rechercher maintenant pour Rust et Cargo devrait fonctionner.

Tester Rust et Cargo dans PATH avec leurs numéros de version.

Vous compilerez et construirez tous vos scripts à partir du terminal, mais vous aurez également besoin d'un éditeur de code. Dans ce projet, j'utiliserai Code-OSS, une version communautaire de VS Code que vous pourrez installer sur le Pi, mais ce n'est pas essentiel. N'importe quel éditeur de code fera l'affaire.

Création d'un projet de rouille

Pour créer un projet Rust, créez un nouveau répertoire et entrez-le en tapant

 mkdir YourFolder cd YourFolder 

Utilisez Cargo pour créer un nouveau projet Rust.

 cargo new YourProject 

Vous recevrez une confirmation que le nouveau projet a été créé.
Créer un nouveau répertoire dans le terminal et y insérer un projet de rouille vierge

Entrez le nouveau dossier de projet et listez son contenu.

 cd YourProject ls 

Vous verrez un dossier nommé src et un fichier appelé Cargo.toml . Ces deux éléments constituent la base de chaque projet Rust.

Un simple projet de rouille, a expliqué

Un exemple de script de rouille bonjour-monde

Commençons par ouvrir le répertoire src et ouvrez main.rs dans un éditeur de code. Vous verrez que le nouveau projet est livré avec un script «Hello World» pour vous aider à démarrer.

La syntaxe Rust sera familière à ceux qui ont déjà utilisé les langages C ou Java. Cela diffère de Python qui utilise des espaces, des points-virgules et des accolades pour désigner les blocs de code. Le code Rust doit compiler et compiler avant de pouvoir être exécuté.

Un fichier vierge Cargo.toml

De retour dans le dossier parent du projet, ouvrez Cargo.toml dans un éditeur de code. Tous ceux qui ont codé en JavaScript ou Ruby trouveront probablement cela familier. Les informations de projet, les instructions de construction et les dépendances sont toutes répertoriées dans ce fichier. Les paquets s'appellent Crates in Rust, et nous en utiliserons un plus tard pour accéder aux broches GPIO du Raspberry Pi.

Construire le projet exemple

De retour dans la fenêtre du terminal, assurez-vous d'être dans le répertoire de votre projet et construisez le projet.

 cargo build 

Utilisation de la commande Cargo Build pour générer le projet exemple

Cela crée un autre dossier dans votre projet appelé cible . Vous remarquerez également un nouveau fichier appelé Cargo.lock . Lorsque vous travaillez avec une équipe ou que vous codez quelque chose à déployer sur un serveur, ce fichier verrouille le projet à une version précédemment compilée et construite avec succès. Tout en apprenant, vous pouvez ignorer ce fichier en toute sécurité.

Dans le dossier cible se trouve un sous-dossier appelé debug, où se trouve votre fichier exécutable. Sur Mac et Linux, exécutez votre projet en tapant:

 ./YourProject 

Sous Windows, vous aurez un nouveau fichier EXE que vous pourrez exécuter en double-cliquant.

La structure de fichier du projet de rouille construite ainsi que le programme hello world en cours d'exécution.

Succès! Convertissons ce projet en quelque chose utilisant les broches GPIO.

Configuration des broches GPIO

Ajout de la caisse Rust GPIO Zero au fichier Cargo.toml

Nous allons utiliser la caisse rust_gpiozero de Rahul Thakdoor pour ce projet. Bien que ce ne soit pas le seul moyen d'accéder aux broches GPIO, cette caisse est conçue pour être similaire à la bibliothèque Python GPIO Zero.

Au lieu de télécharger manuellement la caisse, collez son nom sous des dépendances dans le fichier Cargo.toml.

 [dependencies] rust_gpiozero = "0.2.0" 

Enregistrez-le et ouvrez votre terminal. À ce stade, il est inutile de reconstruire le projet car aucun code n'a changé. Cargo fournit une fonction qui vérifie que le code sera compilé et que toutes les dépendances sont présentes.

 cargo check 

Le contrôle du fret vérifie le code pour détecter les erreurs et installe des dépendances

En fonction de votre connexion, cela peut prendre quelques minutes, mais vous n’avez besoin de le faire qu’une fois lorsque vous ajoutez ou modifiez des éléments dans le fichier Cargo.toml.

Bonjour Blink

Un Raspberry Pi avec une LED attachée

Vous allez maintenant transformer votre script hello world en un script clignotant. Commencez par ouvrir main.rs dans votre éditeur. Si vous voulez ignorer le codage, vous pouvez trouver le script terminé sur Github Gist.

Vous devez faire savoir au compilateur que vous utilisez la bibliothèque rust_gpiozero. Par conséquent, tout en haut du script, ajoutez une référence à la bibliothèque.

 use rust_gpiozero::*; 

Tout comme le modèle de clignotement standard basé sur Python, nous avons besoin d’un moyen d’ajouter un délai entre l’activation et la désactivation du voyant. Pour ce faire, nous utilisons deux éléments de la bibliothèque standard:

 use std::thread::sleep; use std::time::Duration; // note the capital D! 

Maintenant, dans votre fonction principale, ajoutez une variable pour votre broche DEL et une boucle contenant les instructions de clignotement.

 let led = LED::new(18); // sets a variable for the led pin loop{ // starts a loop led.on(); sleep(Duration::from_secs(1)); // creates a 1 second pause led.off(); sleep(Duration::from_secs(1)); } 

C'est ça! Enregistrez votre script et revenez au terminal.

Testez-le

Une image montrant l'allumage de la LED

Générez à nouveau le projet pour mettre à jour l'exécutable. Alternativement, la commande run construit et exécute le script en une seule étape:

 cargo run 

Vous devriez voir une LED clignotante. Bien joué! Vous venez de créer votre premier programme matériel avec Rust. Appuyez sur Ctrl-C pour revenir au terminal. Si vous rencontrez des erreurs, vérifiez soigneusement votre code pour détecter les deux-points, points-virgules ou crochets manqués.

Un avenir passionnant avec la rouille sur Raspberry Pi

Actuellement, Python ne risque pas d'être remplacé par Rust. Il est facile à apprendre et Python aura de nombreuses applications pour les années à venir.

Cela dit, Rust a beaucoup de bruit, et il existe de nombreuses raisons pour apprendre la langue. 7 raisons pour lesquelles Rust est le nouveau langage de programmation le plus excitant 7 raisons pour lesquelles Rust est le nouveau langage de programmation le plus excitant Vous souhaitez vous lancer en programmation? Voici pourquoi Rust est le nouveau langage de programmation le plus excitant et le plus accessible. Lire la suite !

Explorez plus sur: Raspberry Pi, Rust.