Comment démarrer avec Rust sur Raspberry Pi
Added 2019-04-09
Si vous êtes intéressé par la programmation, vous avez probablement 7 raisons pour lesquelles Rust est le nouveau langage de programmation le plus excitant entendu parler de rouille Voulez-vous commencer avec la programmation? Voici pourquoi Rust est le nouveau langage de programmation le plus excitant et le plus accessible. 7 raisons pour lesquelles Rust est le nouveau langage de programmation le plus excitant 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, idéal 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.
Configurez votre circuit avec GPIO 18 connecté au bras positif du voyant et au bras négatif du voyant à 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
Pour installer la rouille, dirigez-vous vers le 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 de la fin de l'installation, bien que l'installation puisse prendre un certain temps en fonction de votre connexion.
Après l'installation
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.
Vous allez compiler et créer tous vos scripts à partir du terminal, mais vous aurez également besoin d’un éditeur de code. Dans ce projet, je vais utiliser 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.
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.
nouvelle cargaison YourProject
Vous recevrez une confirmation que le nouveau projet a été créé.
Entrez le nouveau dossier de projet et listez son contenu.
cd votre projet
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é
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 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é.
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 sont appelés Caisses Rust et nous en utiliserons une 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.
construction de la cargaison
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é déboguer , et c’est là que se trouvera votre fichier exécutable. Sur Mac et Linux, exécutez votre projet en tapant:
./Votre projet
Sous Windows, vous aurez un nouveau EXE fichier que vous pouvez exécuter en double-cliquant.
Succès! Convertissons ce projet en quelque chose utilisant les broches GPIO.
Configuration des broches GPIO
Nous allons utiliser le caisse de rust_gpiozero par 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.
[dépendances]
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.
vérification du fret
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
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.
utilisez 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:
utilisez std :: thread :: sleep;
utilisez std :: time :: duration; // remarque la capitale D!
Maintenant dans votre principale fonction, ajoutez une variable pour votre broche DEL et une boucle contenant les instructions de clignotement.
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 d'une seconde
led.off ();
sleep (Duration :: from_secs (1));
}
C'est tout! Enregistrez votre script et revenez au terminal.
Testez-le
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:
parcours de fret
Vous devriez voir une LED clignotante. Bien joué! Vous venez de créer votre premier programme matériel avec Rust. presse 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 d'apprendre et 6 raisons pour lesquelles Python est le langage de programmation du futur Python aura de nombreuses applications pour les années à venir .