Ψάχνετε για έναν τρόπο να ξεκινήσετε με τη Rust;  Δείτε πώς μπορείτε να δημιουργήσετε ένα βασικό πρόγραμμα υλικού με το Rust on the Raspberry Pi.

Πώς να ξεκινήσετε με τη σκουριά στο Raspberry Pi

Διαφήμιση Αν ενδιαφέρεστε για τον προγραμματισμό, ίσως έχετε ακούσει για Rust 7 Λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού 7 λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού Θέλετε να ξεκινήσετε με τον προγραμματισμό; Εδώ είναι γιατί η Rust είναι η πιο συναρπαστική και προσιτή νέα γλώσσα προγραμματισμού. Διαβάστε περισσότερα . Η γλώσσα, που έχει σχεδιαστεί από την Mozilla, αγαπήθηκε ευρέως από τους προγραμματιστές και συνεχίζει να αυξάνεται στους αφοσιωμένους. Το Raspberry Pi είναι το σουηδικό μαχαίρι στρατού των μικρών υπολογιστών και είναι ιδανικό για την εκμ

Διαφήμιση

Αν ενδιαφέρεστε για τον προγραμματισμό, ίσως έχετε ακούσει για Rust 7 Λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού 7 λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού Θέλετε να ξεκινήσετε με τον προγραμματισμό; Εδώ είναι γιατί η Rust είναι η πιο συναρπαστική και προσιτή νέα γλώσσα προγραμματισμού. Διαβάστε περισσότερα . Η γλώσσα, που έχει σχεδιαστεί από την Mozilla, αγαπήθηκε ευρέως από τους προγραμματιστές και συνεχίζει να αυξάνεται στους αφοσιωμένους.

Το Raspberry Pi είναι το σουηδικό μαχαίρι στρατού των μικρών υπολογιστών και είναι ιδανικό για την εκμάθηση κώδικα. Ας συνδυάσουμε τα δύο και εγκαταστήσουμε το Rust σε ένα Raspberry Pi.

Ρύθμιση του σμέουρου Pi

Για αυτό το έργο θα χρειαστείτε:

  • Raspberry Pi.
  • LED.
  • 220-1k Ohm αντίσταση.
  • Συρματόπλεγμα και καλώδια σύνδεσης.

Ένα διάγραμμα κυκλώματος που δείχνει μια λυχνία LED και μια αντίσταση που συνδέεται με τους ακροδέκτες GPIO 18 και GND ενός Raspberry Pi

Ρυθμίστε το κύκλωμά σας με το GPIO 18 που είναι συνδεδεμένο στο θετικό πόδι της λυχνίας LED και το αρνητικό σκέλος της λυχνίας LED στην αντίσταση και πίσω σε μια πείρο GND στο Pi.

Αυτό το σεμινάριο έγινε χρησιμοποιώντας ένα Raspberry Pi 3B + με Raspbian Stretch σε λειτουργία επιφάνειας εργασίας. Θα λειτουργούσε πολύ καλά μέσω μιας απομακρυσμένης σύνδεσης SSH, αν και διαφορετικά μοντέλα της Pi και διαφορετικά λειτουργικά συστήματα μπορεί να έχουν διαφορετικά αποτελέσματα.

Πώς να εγκαταστήσετε τη σκουριά στο Raspberry Pi

Η εντολή Terminal που απαιτείται για την εγκατάσταση της Rust

Για να εγκαταστήσετε σκουριά, κατευθυνθείτε στη σελίδα εγκατάστασης σκουριάς και αντιγράψτε την εντολή εγκατάστασης στο τερματικό σας. Όταν σας ζητηθεί, επιλέξτε μια προεπιλεγμένη εγκατάσταση.

Οι τρεις επιλογές που παρουσιάστηκαν από τον εγκαταστάτη Rust.

Το πρόγραμμα εγκατάστασης θα σας ειδοποιήσει όταν ολοκληρωθεί, αν και η εγκατάσταση μπορεί να διαρκέσει αρκετό χρόνο, ανάλογα με τη σύνδεσή σας.

Μετά την εγκατάσταση

Rustc και Cargo είναι εγκατεστημένα, αλλά δεν είναι σήμερα στο PATH

Η εγκατάσταση είναι επιτυχής, αλλά δεν μπορείτε να την χρησιμοποιήσετε ακόμα. Εάν προσπαθήσετε να ελέγξετε για το Rust and Cargo by version, θα λάβετε ένα λάθος. Συνήθως, πρέπει να προσθέσετε μια γλώσσα στο PATH για να τα χρησιμοποιήσετε στη γραμμή εντολών.

Ευτυχώς η σκουριά κάνει αυτό για εσάς και το μόνο που χρειάζεται να κάνετε είναι να επανεκκινήσετε το Pi σας ή να αποσυνδεθείτε ξανά. Τώρα ο έλεγχος για το Rust and Cargo θα πρέπει να λειτουργήσει.

Δοκιμάστε τη σκουριά και το φορτίο στο PATH με τους αριθμούς έκδοσης τους.

Θα καταρτίζετε και δημιουργείτε όλα τα σενάρια σας από το τερματικό, αλλά θα χρειαστείτε επίσης ένα πρόγραμμα επεξεργασίας κώδικα. Σε αυτό το έργο θα χρησιμοποιήσω το Code-OSS, μια κοινότητα που δημιουργεί κώδικα VS που μπορείτε να εγκαταστήσετε στο Pi, αλλά δεν είναι απαραίτητο. Οποιοσδήποτε επεξεργαστής κώδικα θα κάνει.

Δημιουργία Έργου Σκουριάς

Για να δημιουργήσετε ένα έργο Rust, δημιουργήστε έναν νέο κατάλογο και πληκτρολογήστε τον

 mkdir YourFolder cd YourFolder 

Χρησιμοποιήστε το Cargo για να δημιουργήσετε ένα νέο έργο Rust.

 cargo new YourProject 

Θα λάβετε μια επιβεβαίωση ότι το νέο έργο έχει δημιουργηθεί.
Κάνοντας ένα νέο κατάλογο στο τερματικό και τοποθετώντας σε αυτό ένα κενό έργο σκουριάς

Εισαγάγετε το νέο φάκελο του έργου και καταγράψτε τα περιεχόμενά του

 cd YourProject ls 

Θα δείτε ένα φάκελο με όνομα src και ένα αρχείο που ονομάζεται Cargo.toml . Αυτά τα δύο στοιχεία αποτελούν τη βάση κάθε έργου Rust.

Ένα έργο απλού σκουριάς, εξηγείται

Ένα δείγμα χειρόγραφου σκουριάς

Πρώτα, αφήνετε να ανοίξετε τον κατάλογο src και ανοίξτε το main.rs σε έναν επεξεργαστή κώδικα. Θα δείτε ότι το νέο έργο συνοδεύεται από ένα σενάριο "Hello World" για να ξεκινήσετε.

Η σύνταξη σκουριάς θα είναι γνωστή σε όσους έχουν χρησιμοποιήσει C γλώσσες ή Java πριν. Αυτό διαφέρει από το Python το οποίο χρησιμοποιεί κενό διάστημα, ημιδιαφανείς και τιράντες για να υποδηλώνει μπλοκ κώδικα. Ο κώδικας σκουριάς πρέπει να μεταγλωττιστεί και να κατασκευαστεί πριν εκτελεστεί.

Ένα κενό αρχείο Cargo.toml

Επιστροφή στον γονικό φάκελο του έργου, ανοίξτε το Cargo.toml σε ένα πρόγραμμα επεξεργασίας κώδικα. Όποιος έχει κωδικοποιήσει το JavaScript ή το Ruby θα βρει πιθανώς αυτό το γνωστό. Οι πληροφορίες έργου, οι οδηγίες κατασκευής και οι εξαρτήσεις είναι όλες αναφερόμενες σε αυτό το αρχείο. Τα πακέτα ονομάζονται Κιβώτια στη Rust και θα χρησιμοποιήσουμε ένα αργότερα για να αποκτήσετε πρόσβαση στις ακίδες GPIO του Raspberry Pi.

Δημιουργία του έργου δείγματος

Πίσω στο παράθυρο τερματικού, βεβαιωθείτε ότι βρίσκεστε στον κατάλογο του έργου σας και δημιουργήστε το έργο.

 cargo build 

Χρησιμοποιώντας την εντολή "Κατασκευή φορτίου" για να δημιουργήσετε το δείγμα έργου

Αυτό δημιουργεί έναν άλλο φάκελο στο έργο σας που ονομάζεται στόχος . Θα παρατηρήσετε επίσης ένα νέο αρχείο που ονομάζεται Cargo.lock . Όταν εργάζεστε με μια ομάδα ή κωδικοποιείτε κάτι για να αναπτύξετε σε ένα διακομιστή, αυτό το αρχείο κλειδώνει το έργο σε μια έκδοση που έχει προηγουμένως καταρτιστεί και κατασκευαστεί με επιτυχία. Κατά τη διάρκεια της μάθησης, μπορείτε με ασφάλεια να αγνοήσετε αυτό το αρχείο.

Μέσα στον φάκελο προορισμού υπάρχει ένας υποφάκελος που ονομάζεται εντοπισμός σφαλμάτων και αυτό είναι όπου θα εκτελεστεί το εκτελέσιμο αρχείο σας. Σε Mac και Linux, εκτελέστε το έργο σας πληκτρολογώντας:

 ./YourProject 

Στα Windows, θα έχετε ένα νέο αρχείο EXE το οποίο μπορείτε να εκτελέσετε κάνοντας διπλό κλικ.

Η δομή του αρχείου του έργου κατασκευής σκουριάς μαζί με το πρόγραμμα Hello World Run.

Επιτυχία! Ας μετατρέψουμε αυτό το έργο σε κάτι που χρησιμοποιεί τους ακροδέκτες GPIO.

Ρύθμιση ακίδων GPIO

Προσθέτοντας το Rust GPIO Μηδέν κλουβί στο αρχείο Cargo.toml

Θα χρησιμοποιήσουμε το κιβώτιο rust_gpiozero από τον Rahul Thakdoor για αυτό το έργο. Παρόλο που δεν είναι ο μόνος τρόπος πρόσβασης στις καρφίτσες GPIO, αυτό το κλουβί σχεδιάστηκε για να είναι παρόμοιο με τη βιβλιοθήκη Python GPIO Zero.

Αντί να κατεβάσετε το κιβώτιο με το χέρι, επικολλήστε το όνομα του υπό τις εξαρτήσεις στο αρχείο Cargo.toml.

 [dependencies] rust_gpiozero = "0.2.0" 

Αποθηκεύστε το και ανοίξτε το τερματικό σας. Σε αυτό το στάδιο, δεν έχει νόημα η ανακατασκευή του έργου καθώς δεν έχει αλλάξει κανένας κώδικας. Το Cargo παρέχει μια λειτουργία που θα ελέγξει ότι ο κώδικας θα μεταγλωττιστεί και ότι υπάρχουν όλες οι εξαρτήσεις.

 cargo check 

Ο έλεγχος φόρτωσης θα ελέγξει τον κωδικό για σφάλματα και θα εγκαταστήσει εξαρτήσεις

Ανάλογα με τη σύνδεσή σας, αυτό μπορεί να διαρκέσει μερικά λεπτά, αλλά χρειάζεται να το κάνετε μόνο μία φορά, όταν προσθέτετε ή αλλάζετε στοιχεία στο αρχείο Cargo.toml.

Γεια σας

Ένα σμέουρο Pi με φωτισμό LED

Τώρα θα αλλάξετε το σενάριο hello world σε ένα σενάριο που αναβοσβήνει. Ξεκινήστε ανοίγοντας το main.rs στον επεξεργαστή σας. Αν θέλετε να παραλείψετε την κωδικοποίηση, μπορείτε να βρείτε το ολοκληρωμένο σενάριο στο Github Gist.

Θα πρέπει να αφήσετε τον μεταγλωττιστή να γνωρίζει ότι χρησιμοποιείτε τη βιβλιοθήκη rust_gpiozero, έτσι ώστε στην κορυφή του σεναρίου να προσθέσετε μια αναφορά στη βιβλιοθήκη.

 use rust_gpiozero::*; 

Όπως η κανονική σκίτσο αναβοσβήνει με βάση το Python, χρειαζόμαστε έναν τρόπο να προσθέσουμε μια καθυστέρηση μεταξύ της ενεργοποίησης και απενεργοποίησης της λυχνίας LED. Στη Rust, χρησιμοποιούμε δύο στοιχεία της συνηθισμένης βιβλιοθήκης για να το κάνουμε αυτό:

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

Τώρα στην κύρια λειτουργία σας, προσθέστε μια μεταβλητή για τον ακροδέκτη LED σας και ένα βρόχο για να περιέχει τις οδηγίες που αναβοσβήνουν.

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

Αυτό είναι! Αποθηκεύστε το σενάριο σας και επιστρέψτε στο τερματικό.

Δοκιμάστε το

Μια εικόνα που δείχνει ότι το LED ανάβει

Δημιουργήστε ξανά το έργο για να ενημερώσετε το εκτελέσιμο αρχείο. Εναλλακτικά, η εντολή εκτέλεσης δημιουργεί και εκτελεί το σενάριο σε ένα μόνο βήμα:

 cargo run 

Θα πρέπει να δείτε ένα LED που αναβοσβήνει. Μπράβο! Μόλις κάνατε το πρώτο σας υλικό με το Rust. Πατήστε Ctrl-C για έξοδο πίσω στο τερματικό. Αν έχετε λάθη, ελέγξτε προσεκτικά τον κωδικό σας για τυχόν χαμένες στήλες, ημίξηνα ή παρενθέσεις.

Ένα συναρπαστικό μέλλον με σκουριά στο σμέουρο Pi

Επί του παρόντος, η Python δεν κινδυνεύει να αντικατασταθεί από την Rust. Είναι εύκολο να μάθει και η Python θα έχει πολλές εφαρμογές για τα επόμενα χρόνια.

Αυτός ο λόγος, Rust έχει αρκετά buzz γύρω από αυτό, και υπάρχουν πολλοί λόγοι για τους οποίους θα πρέπει να μάθετε τη γλώσσα 7 Λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού 7 λόγοι Rust είναι η πιο συναρπαστική νέα γλώσσα προγραμματισμού Θέλετε να ξεκινήσετε με τον προγραμματισμό; Εδώ είναι γιατί η Rust είναι η πιο συναρπαστική και προσιτή νέα γλώσσα προγραμματισμού. Διαβάστε περισσότερα !

Εξερευνήστε περισσότερα σχετικά με: Raspberry Pi, Rust.