Ser du etter en måte å komme i gang med Rust?  Slik bygger du et grunnleggende maskinvareprogram med Rust på Raspberry Pi.

Hvordan komme i gang med rust på bringebær Pi

Annonse Hvis du er interessert i programmering, har du sannsynligvis hørt om Rust 7 Reasons Rust Er det mest spennende nye programmeringsspråket 7 Reasons Rust Er det mest spennende nye programmeringsspråket Vil du komme i gang med programmering? Her er grunnen til at Rust er det mest spennende og tilgjengelige nye programmeringsspråket. Le

Annonse

Hvis du er interessert i programmering, har du sannsynligvis hørt om Rust 7 Reasons Rust Er det mest spennende nye programmeringsspråket 7 Reasons Rust Er det mest spennende nye programmeringsspråket Vil du komme i gang med programmering? Her er grunnen til at Rust er det mest spennende og tilgjengelige nye programmeringsspråket. Les mer . Språket, designet av Mozilla, er mye elsket av utviklere og fortsetter å vokse hos hengivne.

Raspberry Pi er den sveitsiske hærkniven til små datamaskiner, og den er perfekt for å lære seg kode. La oss kombinere de to og installere Rust på en Raspberry Pi.

Sette opp bringebær Pi

For dette prosjektet trenger du:

  • Bringebær Pi.
  • LED.
  • 220-1k Ohm-motstand.
  • Breadboard og hookup ledninger.

Et kretsdiagram som viser en LED og motstand festet til GPIO 18 og GND-pinnene til en Raspberry Pi

Sett opp kretsen din med GPIO 18 koblet til den positive bena til LED, og ​​den negative benen til LED til motstanden, og tilbake til en GND-pinne på Pi.

Denne opplæringen ble laget med en Raspberry Pi 3B + med Raspbian Stretch i skrivebordsmodus. Det ville fungere helt greit gjennom en ekstern SSH-tilkobling, selv om forskjellige modeller av Pi og forskjellige operativsystemer kan ha forskjellige resultater.

Hvordan installere rust på bringebær Pi

Terminal-kommandoen som kreves for å installere Rust

Hvis du vil installere rust, kan du gå til rust-lang installasjonsside og kopiere installasjonskommandoen til terminalen. Når du blir bedt om det, velger du en standardinstallasjon.

De tre valgene som er presentert av Rust-installatøren.

Installasjonsprogrammet vil varsle deg når det er fullført, selv om installasjonen kan ta litt tid avhengig av tilkoblingen din.

Etter installasjon

Rustc og Cargo er installert, men for øyeblikket ikke i PATH

Installasjonen er vellykket, men du kan ikke begynne å bruke den helt ennå. Hvis du prøver å se etter Rust and Cargo etter versjon, vil du få en feil. Vanligvis må du legge til et språk til PATH for å bruke dem på kommandolinjen.

Heldigvis gjør Rust dette for deg, og alt du trenger å gjøre er å starte Pi-en på nytt, eller logge ut og inn igjen. Nå bør det se etter Rust og Cargo.

Testing av rust og last i PATH med deres versjonsnummer.

Du vil samle og bygge alle skriptene dine fra terminalen, men du trenger også en kodeditor. I dette prosjektet skal jeg bruke Code-OSS, et samfunnsbygg av VS-kode som du kan installere på Pi, men det er ikke viktig. Enhver koderedigerer vil gjøre det.

Lage et rustprosjekt

For å lage et Rust-prosjekt, lag en ny katalog og skriv den inn ved å skrive

 mkdir YourFolder cd YourFolder 

Bruk Cargo til å lage et nytt Rust-prosjekt.

 cargo new YourProject 

Du vil få en bekreftelse på at det nye prosjektet er opprettet.
Lage en ny katalog i terminalen og legge et blankt rustprosjekt i den

Gå inn i den nye prosjektmappen og liste innholdet.

 cd YourProject ls 

Du vil se en mappe som heter src og en fil som heter Cargo.toml . Disse to elementene utgjør grunnlaget for hvert Rust-prosjekt.

Et enkelt rustprosjekt, forklart

Et eksempel på en hallo-verdens rustmanus

La oss først åpne src-katalogen og åpne main.rs i en kodeditor . Du vil se at det nye prosjektet kommer med et "Hello World" -skript for å komme i gang.

Rust syntaks vil være kjent for de som har brukt C-språk eller Java før. Dette skiller seg fra Python som bruker hvit mellomrom, halvkolon og seler for å betegne kodeblokker. Rustkoden må settes sammen og bygges før den kjører.

En tom Cargo.toml-fil

Tilbake i prosjektets overordnede mappe, åpne opp Cargo.toml i en kodeditor . Alle som har kodet i JavaScript eller Ruby vil sannsynligvis finne dette kjent. Prosjektinformasjon, bygginstruksjoner og avhengigheter er alle oppført i denne filen. Pakker kalles Crates in Rust, og vi bruker en senere for å få tilgang til Raspberry Pis GPIO-pinner.

Bygge prøveprosjektet

Tilbake i terminalvinduet, sørg for at du er i prosjektkatalogen din og bygger prosjektet.

 cargo build 

Bruk kommandoen Cargo Build for å bygge prøveprosjektet

Dette oppretter en annen mappe i prosjektet som heter mål . Du vil også legge merke til en ny fil som heter Cargo.lock . Når du jobber med et team eller koder noe for å distribuere til en server, låser denne filen prosjektet til en versjon som tidligere har blitt kompilert og bygget vellykket. Mens du lærer, kan du trygt ignorere denne filen.

I målmappen er en undermappe som heter debug, og det er her den kjørbare filen vil være. Kjør prosjektet ditt på Mac og Linux ved å skrive:

 ./YourProject 

På Windows har du en ny EXE- fil som du kan kjøre ved å dobbeltklikke på.

Filstrukturen til det bygde rustprosjektet sammen med Hello World-programmet som kjører.

Suksess! La oss konvertere dette prosjektet til noe som bruker GPIO-pinnene.

Sette opp GPIO-pins

Legger Rust GPIO Zero-kasse til Cargo.toml-filen

Vi bruker rust_gpiozero-kassen av Rahul Thakdoor for dette prosjektet. Selv om det ikke er den eneste måten å få tilgang til GPIO-pinner, er denne kassen designet for å være lik Python GPIO Zero-biblioteket.

I stedet for å laste ned kassen manuelt, lim inn navnet under avhengigheter i Cargo.toml-filen.

 [dependencies] rust_gpiozero = "0.2.0" 

Lagre den, og åpne terminalen. På dette stadiet er det ingen vits i å gjenoppbygge prosjektet ettersom ingen kode har endret seg. Cargo har en funksjon som vil sjekke at koden vil kompilere og at alle avhengigheter er til stede.

 cargo check 

Last sjekk vil sjekke kode for feil og installere avhengigheter

Avhengig av tilkoblingen din kan dette ta noen minutter, men du trenger bare å gjøre det en gang når du legger til eller endrer elementer i Cargo.toml-filen.

Hallo Blink

En bringebær Pi med LED påmontert

Nå vil du endre hallo-verdensskriptet til et blinkende lett manus. Begynn med å åpne main.rs i redaktøren din. Hvis du vil hoppe over koding, kan du finne det ferdige skriptet på Github Gist.

Du må gi kompilatoren beskjed om at du bruker rust_gpiozero-biblioteket, så helt øverst i skriptet legger du til en referanse til biblioteket.

 use rust_gpiozero::*; 

På samme måte som den vanlige Python-baserte blinkskissen, trenger vi en måte å legge til en forsinkelse mellom å slå LED av og på. I Rust bruker vi to elementer i standardbiblioteket for å gjøre dette:

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

Nå i hovedfunksjonen din, legger du til en variabel for LED-pinnen og en sløyfe som inneholder blinkende instruksjoner.

 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! Lagre skriptet ditt, og gå tilbake til terminalen.

Test det ut

Et bilde som viser LED-lyset

Bygg prosjektet igjen for å oppdatere den kjørbare. Alternativt bygger og kjører run-kommandoen skriptet i et enkelt trinn:

 cargo run 

Du bør se en blinkende LED. Bra gjort! Du har nettopp laget ditt første maskinvareprogram med Rust. Trykk Ctrl-C for å gå tilbake til terminalen. Hvis du har noen feil, må du sjekke koden grundig for eventuelle tapte tykktarmer, semikolon eller parentes.

En spennende fremtid med rust på bringebær Pi

For øyeblikket er ikke Python i noen fare for å bli erstattet av Rust. Det er enkelt å lære, og Python vil ha mange bruksområder i årene som kommer.

Når det er sagt, har Rust ganske surr rundt seg, og det er mange grunner til at du bør lære språket 7 Grunner Rust er det mest spennende nye programmeringsspråket 7 Grunner Rust Er det mest spennende nye programmeringsspråket Vil du komme i gang med programmering? Her er grunnen til at Rust er det mest spennende og tilgjengelige nye programmeringsspråket. Les mer !

Utforsk mer om: Raspberry Pi, Rust.