Si vous êtes intéressé par la programmation, vous avez probablement entendu parler de Rust. Le langage, conçu par Mozilla, est très apprécié des développeurs et continue de croître en adeptes.
Le Raspberry Pi est le couteau suisse des petits ordinateurs, et il est parfait pour apprendre le code. Combinons les deux et installons Rust sur un Raspberry Pi.
Pour ce projet, vous aurez besoin de :
Configurez votre circuit avec GPIO 18 connecté à la branche positive de la LED, et la branche négative de la LED à la résistance, et de retour à 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 également parfaitement via une connexion SSH à distance, bien que différents modèles de Pi et différents systèmes d'exploitation puissent avoir des résultats variables.
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.
Le programme d'installation vous avertira lorsqu'il sera terminé, bien que l'installation puisse prendre un certain temps en fonction de votre connexion.
L'installation est réussie, mais vous ne pouvez pas encore commencer à l'utiliser. Si vous essayez de vérifier Rust et Cargo par version, vous obtiendrez une erreur. Habituellement, 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. La vérification de Rust et Cargo devrait maintenant fonctionner.
Vous compilerez et créerez 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 pouvez installer sur le Pi, mais ce n'est pas essentiel. N'importe quel éditeur de code fera l'affaire.
Pour créer un projet Rust, créez un nouveau répertoire et entrez-le en tapant
mkdir VotreDossier
cd VotreDossier
Utilisez Cargo pour créer un nouveau projet Rust.
cargaison nouveau VotreProjet
Vous recevrez une confirmation que le nouveau projet a été créé.
Entrez le nouveau dossier de projet et répertoriez son contenu.
cd VotreProjet
ls
Vous verrez un dossier nommé src et un fichier nommé Cargo.toml . Ces deux éléments constituent la base de chaque projet Rust.
Tout d'abord, ouvrons le répertoire src et ouvrons 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 de 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 être compilé et construit avant de s'exécuter.
De retour dans le dossier parent du projet, ouvrez Cargo.toml dans un éditeur de code. Quiconque a codé en JavaScript ou Ruby trouvera probablement cela familier. Les informations sur le projet, les instructions de construction et les dépendances sont toutes répertoriées dans ce fichier. Les colis sont appelés Caisses dans Rust, et nous en utiliserons un plus tard pour accéder aux broches GPIO du Raspberry Pi.
De retour dans la fenêtre du terminal, assurez-vous d'être dans le répertoire de votre projet et créez le projet.
construction cargo
Cela crée un autre dossier dans votre projet appelé target . 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 sur une version qui a déjà été compilée et construite avec succès. Pendant l'apprentissage, vous pouvez ignorer ce fichier en toute sécurité.
Dans le dossier cible se trouve un sous-dossier appelé debug , et c'est là que se trouvera votre fichier exécutable. Sur Mac et Linux, exécutez votre projet en tapant :
./VotreProjet
Sous Windows, vous aurez un nouvel EXE fichier que vous pouvez exécuter en double-cliquant.
Succès! Convertissons ce projet en quelque chose qui utilise les broches GPIO.
Nous utiliserons 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 les dépendances dans le fichier Cargo.toml.
[dépendances]
rust_gpiozero ="0.2.0"
Enregistrez-le et ouvrez votre terminal. A ce stade, il est inutile de reconstruire le projet car aucun code n'a changé. Cargo fournit une fonction qui va vérifier que le code va compiler et que toutes les dépendances sont présentes.
contrôle du fret
Selon votre connexion, cela peut prendre quelques minutes, mais vous ne devez le faire qu'une seule fois, lorsque vous ajoutez ou modifiez des éléments dans le fichier Cargo.toml.
Maintenant, vous allez changer votre script hello world en un script de lumière clignotante. Commencez par ouvrir main.rs dans votre éditeur. Si vous souhaitez ignorer le codage, vous pouvez trouver le script fini sur Github Gist.
Vous devez informer le compilateur que vous utilisez la bibliothèque rust_gpiozero, donc tout en haut du script, ajoutez une référence à la bibliothèque.
utiliser rust_gpiozero::*;
Tout comme le croquis de clignotement basé sur Python, nous avons besoin d'un moyen d'ajouter un délai entre l'allumage et l'extinction de la LED. Dans Rust, nous utilisons pour cela deux éléments de la bibliothèque standard :
use std::thread::sleep ;
utilisez std::time::Duration ; // notez le D majuscule !
Maintenant dans votre main fonction, ajoutez une variable pour votre broche LED et une boucle pour contenir les instructions clignotantes.
let led =LED ::new(18); // définit une variable pour la broche led
loop{ // démarre une boucle
conduit sur();
sleep(Duration::from_secs(1)); // crée une pause de 1 seconde
led.off();
sleep(Duration::from_secs(1));
}
C'est ça! Enregistrez votre script et revenez au terminal.
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 :
course de fret
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 avez des erreurs, vérifiez soigneusement votre code pour les deux-points, points-virgules ou crochets manquants.
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 tout un buzz autour de lui, et il y a de nombreuses raisons pour lesquelles vous devriez apprendre la langue !