Come iniziare con Rust su Raspberry Pi
Annuncio pubblicitario
Se sei interessato alla programmazione, probabilmente hai sentito parlare di Rust 7 motivi Rust è il nuovo linguaggio di programmazione più emozionante 7 motivi Rust è il nuovo linguaggio di programmazione più eccitante Vuoi iniziare con la programmazione? Ecco perché Rust è il nuovo linguaggio di programmazione più interessante e accessibile. Leggi di più . Il linguaggio, progettato da Mozilla, è ampiamente amato dagli sviluppatori e continua a crescere nei devoti.
Il Raspberry Pi è il coltellino svizzero di piccoli computer ed è perfetto per l'apprendimento del codice. Uniamo i due e installiamo Rust su un Raspberry Pi.
Configurazione di Raspberry Pi
Per questo progetto avrai bisogno di:
- Raspberry Pi.
- GUIDATO.
- Resistenza 220-1k Ohm.
- Breadboard e cavi di collegamento.
Imposta il tuo circuito con GPIO 18 collegato alla gamba positiva del LED, e la gamba negativa del LED al resistore, e di nuovo a un pin GND sul Pi.
Questo tutorial è stato realizzato utilizzando un Raspberry Pi 3B + con Raspbian Stretch in modalità desktop. Funzionerebbe perfettamente anche attraverso una connessione SSH remota, anche se diversi modelli di Pi e diversi sistemi operativi potrebbero avere risultati diversi.
Come installare Rust su Raspberry Pi
Per installare rust, vai alla pagina di installazione di rust-lang e copia il comando di installazione nel tuo terminale. Quando richiesto, scegliere un'installazione predefinita.
Il programma di installazione ti avviserà al termine, anche se l'installazione può richiedere del tempo a seconda della connessione.
Dopo l'installazione
L'installazione è andata a buon fine, ma non puoi ancora iniziare ad usarla. Se si tenta di verificare la presenza di Rust e Cargo per versione, verrà visualizzato un errore. Di solito, è necessario aggiungere una lingua al PERCORSO per usarli sulla riga di comando.
Fortunatamente Rust fa questo per te, e tutto ciò che devi fare è riavviare il tuo Pi o disconnetterti e riconnetterti. Ora il controllo di Rust e Cargo dovrebbe funzionare.
Compilerai e costruirai tutti i tuoi script dal terminale, ma avrai anche bisogno di un editor di codice. In questo progetto userò Code-OSS, una build della community di VS Code che puoi installare sul Pi, ma non è essenziale. Qualsiasi editor di codice farà.
Creazione di un progetto Rust
Per creare un progetto Rust, crea una nuova directory e immettila digitando
mkdir YourFolder cd YourFolder
Usa Cargo per creare un nuovo progetto Rust.
cargo new YourProject
Riceverai una conferma che il nuovo progetto è stato creato.
Immettere la nuova cartella del progetto ed elencarne il contenuto.
cd YourProject ls
Vedrai una cartella chiamata src e un file chiamato Cargo.toml . Questi due elementi costituiscono la base di ogni progetto Rust.
Un semplice progetto Rust, ha spiegato
Innanzitutto, apriamo la directory src e apriamo main.rs in un editor di codice. Vedrai che il nuovo progetto viene fornito completo di uno script "Hello World" per iniziare.
La sintassi di Rust sarà familiare a coloro che hanno già usato linguaggi C o Java. Ciò differisce da Python che utilizza spazi bianchi, punti e virgola e parentesi graffe per indicare blocchi di codice. Il codice Rust deve essere compilato e compilato prima di essere eseguito.
Torna nella cartella principale del progetto, apri Cargo.toml in un editor di codice. Chiunque abbia codificato in JavaScript o Ruby probabilmente lo troverà familiare. Le informazioni sul progetto, le istruzioni di costruzione e le dipendenze sono elencate in questo file. I pacchetti si chiamano Crates in Rust e ne useremo uno in seguito per accedere ai pin GPIO di Raspberry Pi.
Costruire il progetto di esempio
Torna nella finestra del terminale, assicurati di essere nella directory del tuo progetto e costruisci il progetto.
cargo build
Questo crea un'altra cartella all'interno del tuo progetto chiamata target . Noterai anche un nuovo file chiamato Cargo.lock . Quando si lavora con un team o si codifica qualcosa da distribuire su un server, questo file blocca il progetto su una versione precedentemente compilata e compilata correttamente. Durante l'apprendimento, puoi tranquillamente ignorare questo file.
All'interno della cartella di destinazione c'è una sottocartella chiamata debug, ed è qui che si troverà il tuo file eseguibile. Su Mac e Linux, esegui il tuo progetto digitando:
./YourProject
Su Windows, avrai un nuovo file EXE che puoi eseguire facendo doppio clic.
Successo! Convertiamo questo progetto in qualcosa che utilizza i pin GPIO.
Impostazione dei pin GPIO
Per questo progetto utilizzeremo la cassa rust_gpiozero di Rahul Thakdoor. Sebbene non sia l'unico modo per accedere ai pin GPIO, questa cassa è progettata per essere simile alla libreria GPIO Zero di Python.
Invece di scaricare manualmente la cassa, incollare il suo nome sotto le dipendenze nel file Cargo.toml.
[dependencies] rust_gpiozero = "0.2.0"
Salvalo e apri il tuo terminale. In questa fase, non ha senso ricostruire il progetto in quanto nessun codice è cambiato. Cargo fornisce una funzione che verificherà che il codice verrà compilato e che tutte le dipendenze siano presenti.
cargo check
A seconda della connessione, ciò può richiedere alcuni minuti, ma è necessario farlo una sola volta, quando si aggiungono o si modificano elementi nel file Cargo.toml.
Ciao Blink
Ora cambierai la tua sceneggiatura di Hello World in una luce lampeggiante. Inizia aprendo main.rs nel tuo editor. Se vuoi saltare la codifica, puoi trovare lo script finito su Github Gist.
Devi far sapere al compilatore che stai usando la libreria rust_gpiozero, quindi nella parte superiore dello script aggiungi un riferimento alla libreria.
use rust_gpiozero::*;
Proprio come il normale schizzo lampeggiante basato su Python, abbiamo bisogno di un modo per aggiungere un ritardo tra l'accensione e lo spegnimento del LED. In Rust, utilizziamo due elementi della libreria standard per fare questo:
use std::thread::sleep; use std::time::Duration; // note the capital D!
Ora nella tua funzione principale, aggiungi una variabile per il tuo pin LED e un loop per contenere le istruzioni lampeggianti.
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)); }
Questo è tutto! Salva il tuo script e torna al terminale.
Provalo
Compilare nuovamente il progetto per aggiornare l'eseguibile. In alternativa, il comando run crea ed esegue lo script in un unico passaggio:
cargo run
Dovresti vedere un LED lampeggiante. Molto bene! Hai appena realizzato il tuo primo programma hardware con Rust. Premi Ctrl-C per tornare al terminale. In caso di errori, controllare attentamente il codice per individuare due punti, punti e virgola o parentesi mancanti.
Un futuro eccitante con ruggine su Raspberry Pi
Attualmente, Python non corre alcun rischio di essere sostituito da Rust. È facile da imparare e Python avrà molte applicazioni per gli anni a venire.
Detto questo, Rust ha un bel ronzio attorno e ci sono molte ragioni per cui dovresti imparare la lingua 7 Ragioni Rust è il nuovo linguaggio di programmazione più eccitante 7 Ragioni Rust è il nuovo linguaggio di programmazione più eccitante Vuoi iniziare con la programmazione? Ecco perché Rust è il nuovo linguaggio di programmazione più interessante e accessibile. Leggi di più !
Scopri di più su: Raspberry Pi, Rust.