Leder du efter en måde at komme i gang med Rust på?  Her er, hvordan man bygger et grundlæggende hardwareprogram med Rust på Raspberry Pi.

Sådan kommer du i gang med rust på hindbærpi

Reklame Hvis du er interesseret i programmering, har du sandsynligvis hørt om Rust 7 grunde Rust er det mest spændende nye programmeringssprog 7 grunde Rust er det mest spændende nye programmeringssprog Vil du komme i gang med programmering? Her er hvorfor Rust er det mest spændende og tilgængelige nye programmeringssprog. Læs

Reklame

Hvis du er interesseret i programmering, har du sandsynligvis hørt om Rust 7 grunde Rust er det mest spændende nye programmeringssprog 7 grunde Rust er det mest spændende nye programmeringssprog Vil du komme i gang med programmering? Her er hvorfor Rust er det mest spændende og tilgængelige nye programmeringssprog. Læs mere . Sproget, designet af Mozilla, er meget elsket af udviklere og vokser fortsat hos hengivne.

Raspberry Pi er den schweiziske hærkniv på små computere, og den er perfekt til at lære kode. Lad os kombinere de to og installere Rust på en Raspberry Pi.

Opsætning af din Raspberry Pi

Til dette projekt har du brug for:

  • Hindbær Pi.
  • LED.
  • 220-1k Ohm-modstand.
  • Breadboard og hookup ledninger.

Et kredsløbsdiagram, der viser en LED og modstand fastgjort til GPIO 18 og GND-stifterne på en Raspberry Pi

Sæt dit kredsløb op med GPIO 18, der er tilsluttet den positive ben af ​​LED, og ​​den negative ben af ​​LED til modstanden, og tilbage til en GND-stift på Pi.

Denne tutorial blev lavet ved hjælp af en Raspberry Pi 3B + med Raspbian Stretch i desktop-tilstand. Det ville også fungere helt fint gennem en ekstern SSH-forbindelse, selvom forskellige modeller af Pi og forskellige operativsystemer muligvis har forskellige resultater.

Sådan installeres rust på Raspberry Pi

Terminal-kommandoen kræves for at installere Rust

Hvis du vil installere rust, skal du gå til rust-lang installationssiden og kopiere installationskommandoen til din terminal. Vælg en standardinstallation, når du bliver bedt om det.

De tre valg præsenteret af Rust-installationsprogrammet.

Installationsprogrammet giver dig besked, når det er afsluttet, skønt installationen kan tage nogen tid afhængigt af din forbindelse.

Efter installation

Rustc og Cargo er installeret, men i øjeblikket ikke i PATH

Installationen er vellykket, men du kan ikke begynde at bruge den helt endnu. Hvis du prøver at tjekke for Rust og Cargo efter version, får du en fejl. Normalt skal du tilføje et sprog til din PATH for at bruge dem på kommandolinjen.

Heldigvis gør Rust dette for dig, og alt hvad du skal gøre er at genstarte din Pi eller logge ud og ind igen. Nu skal det kontrolleres, om det er rust og last.

Test af rust og fragt i PATH med deres versionnumre.

Du sammenstiller og bygger alle dine scripts fra terminalen, men du har også brug for en kodeditor. I dette projekt bruger jeg Code-OSS, et community build af VS-kode, som du kan installere på Pi, men det er ikke vigtigt. Enhver kodeeditor vil gøre.

Oprettelse af et rustprojekt

For at oprette et Rust-projekt skal du oprette et nyt bibliotek og indtaste det ved at skrive

 mkdir YourFolder cd YourFolder 

Brug Cargo til at oprette et nyt Rust-projekt.

 cargo new YourProject 

Du får en bekræftelse på, at det nye projekt er oprettet.
Oprettelse af et nyt bibliotek i terminalen og placering af et tomt rustprojekt i det

Gå ind i den nye projektmappe, og angiv dens indhold.

 cd YourProject ls 

Du får vist en mappe ved navn src og en fil kaldet Cargo.toml . Disse to elementer udgør grundlaget for hvert Rust-projekt.

Et simpelt rustprojekt, forklaret

Et eksempel på en verden-rust-script

Lad os først åbne src-biblioteket og åbne main.rs i en kodeditor . Du vil se, at det nye projekt leveres med et "Hello World" -script for at komme i gang.

Rust-syntaks vil være velkendt for dem, der har brugt C-sprog eller Java før. Dette adskiller sig fra Python, der bruger hvidafstand, halvkolon og seler til at betegne kodeblokke. Rustkoden skal samles og opbygges, før den kører.

En tom Cargo.toml-fil

Tilbage i projektets overordnede mappe skal du åbne Cargo.toml i en kodeditor . Enhver, der har kodet i JavaScript eller Ruby, vil sandsynligvis finde dette velkendt. Projektinformation, byggeinstruktioner og afhængigheder er alle anført i denne fil. Pakker kaldes kasser i rust, og vi bruger en senere til at få adgang til Raspberry Pis GPIO-stifter.

Opbygning af prøveprojektet

Tilbage i terminalvinduet, skal du sørge for at være i dit projektmappe og opbygge projektet.

 cargo build 

Brug kommandoen Cargo Build til at opbygge prøveprojektet

Dette opretter en anden mappe i dit projekt kaldet target . Du vil også bemærke en ny fil kaldet Cargo.lock . Når du arbejder med et team eller koder noget, der skal distribueres til en server, låses denne fil projektet til en version, der tidligere er blevet kompileret og bygget med succes. Mens du lærer, kan du sikkert ignorere denne fil.

I målmappen findes en undermappe kaldet debug, og det er her din eksekverbare fil vil være. På Mac og Linux skal du køre dit projekt ved at skrive:

 ./YourProject 

På Windows har du en ny EXE fil, som du kan køre ved at dobbeltklikke på.

Filstrukturen i det bygget rustprojekt sammen med hej verdensprogrammet kører.

Succes! Lad os konvertere dette projekt til noget, der bruger GPIO-stifterne.

Opsætning af GPIO-pins

Tilføjelse af Rust GPIO nulkasse til filen Cargo.toml

Vi vil bruge rust_gpiozero kassen af ​​Rahul Thakdoor til dette projekt. Selvom det ikke er den eneste måde at få adgang til GPIO-pins, er denne kasse designet til at svare til Python GPIO Zero-biblioteket.

I stedet for manuelt at downloade kassen, skal du indsætte dets navn under afhængigheder i filen Cargo.toml.

 [dependencies] rust_gpiozero = "0.2.0" 

Gem det, og åbn din terminal. På dette tidspunkt er der ingen mening i at genopbygge projektet, da ingen kode er ændret. Cargo leverer en funktion, der kontrollerer, at koden vil kompilere, og at alle afhængigheder er til stede.

 cargo check 

Lastkontrol tjekker for fejl og installerer afhængigheder

Afhængigt af din forbindelse kan dette tage et par minutter, men du behøver kun at gøre det en gang, når du tilføjer eller ændrer elementer i Cargo.toml-filen.

Hej Blink

En Raspberry Pi med LED tilsluttet

Nu vil du ændre dit hej verdens script til et blinkende let script. Begynd med at åbne main.rs i din editor. Hvis du vil springe over kodning, kan du finde det færdige script på Github Gist.

Du skal fortælle kompilatoren, at du bruger rust_gpiozero-biblioteket, så helt øverst i scriptet tilføjes en henvisning til biblioteket.

 use rust_gpiozero::*; 

Ligesom den almindelige Python-baserede blinkskitse, har vi brug for en måde at tilføje en forsinkelse mellem at tænde og slukke for LED. I Rust bruger vi to elementer i standardbiblioteket til at gøre dette:

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

I din hovedfunktion skal du tilføje en variabel til din LED-pin og en løkke til at indeholde de blinkende instruktioner.

 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)); } 

Det er det! Gem dit script, og vend tilbage til terminalen.

Test det ud

Et billede, der viser LED-lyset

Byg projektet igen for at opdatere den eksekverbare. Alternativt bygger og kører kommandoen kører scriptet i et enkelt trin:

 cargo run 

Du skal se en blinkende LED. Godt klaret! Du har lige lavet dit første hardwareprogram med Rust. Tryk på Ctrl-C for at gå tilbage til terminalen. Hvis du har fejl, skal du kontrollere din kode grundigt for eventuelle ubesvarede kolon, halvkolon eller parentes.

En spændende fremtid med rust på hindbærpi

Python er i øjeblikket ikke i nogen fare for at blive erstattet af Rust. Det er let at lære, og Python vil have mange applikationer i årene fremover.

Når det er sagt, har Rust et ganske brummer omkring det, og der er mange grunde til, at du skal lære sproget 7 grunde Rust er det mest spændende nye programmeringssprog 7 grunde Rust er det mest spændende nye programmeringssprog Vil du komme i gang med programmering? Her er hvorfor Rust er det mest spændende og tilgængelige nye programmeringssprog. Læs mere !

Udforsk mere om: Raspberry Pi, Rust.