Διαφήμιση

Το Raspberry Pi είναι ο τέλειος υπολογιστής για μάθηση. Το Raspbian OS που βασίζεται στο Linux έχει ενσωματωμένο το Python, το οποίο το καθιστά ένα εξαιρετικό πρώτο σύστημα για αρχάριους κωδικοποιητές. Οι ακίδες γενικής χρήσης Input / Output (GPIO) διευκολύνουν τους κατασκευαστές εκκίνησης να πειραματιστούν με έργα ηλεκτρονικών DIY.

Είναι ιδιαίτερα εύκολο όταν χρησιμοποιείτε βιβλιοθήκες κώδικα που ελέγχουν αυτές τις καρφίτσες και το δημοφιλές RPi. Η βιβλιοθήκη GPIO Python είναι ένα εξαιρετικό παράδειγμα μιας τέτοιας βιβλιοθήκης. Είναι όμως το καλύτερο μονοπάτι για αρχάριους; Ελάτε μαζί μας καθώς ερευνούμε.

Τι είναι το GPIO Zero;

Η βιβλιοθήκη GPIO Zero είναι μια βιβλιοθήκη Python για εργασία με καρφίτσες GPIO. Γράφτηκε από Ο διαχειριστής κοινότητας του Raspberry Pi Ben Nuttall. Με στόχο να είναι διαισθητικό και «φιλικό», βελτιστοποιεί τον κώδικα Python για τις περισσότερες κανονικές περιπτώσεις χρήσης Raspberry Pi.

Συνδυάζοντας απλές πρακτικές ονομασίας και περιγραφικές λειτουργίες, το GPIO Zero είναι πιο προσιτό για να κατανοήσουν οι αρχάριοι. Ακόμα και έμπειροι χρήστες του RPi. Η βιβλιοθήκη GPIO μπορεί να το προτιμά - και για να καταλάβουμε γιατί, ας ρίξουμε μια ματιά στο πώς το RPi. Το GPIO συγκρίνεται με το GPIO Zero.

instagram viewer

Τι είναι λάθος με το RPi. GPIO;

Τίποτα. Τίποτα απολύτως. RPi. Το GPIO κυκλοφόρησε στις αρχές του 2012 από τον προγραμματιστή Ben Croston. Είναι μια ισχυρή βιβλιοθήκη που επιτρέπει στους χρήστες να ελέγχουν τις καρφίτσες GPIO από κώδικα. Διαθέτει σε σχεδόν κάθε αρχάριο έργο Τα 11 καλύτερα έργα Raspberry Pi για αρχάριουςΑυτά τα έργα Raspberry Pi για αρχάριους είναι ιδανικά για να ξεκινήσετε με τις δυνατότητες οποιουδήποτε μοντέλου Raspberry Pi. Διαβάστε περισσότερα έχουμε καλύψει.

Παρά την εκτεταμένη χρήση του, το RPi. Το GPIO δεν σχεδιάστηκε ποτέ για τελικούς χρήστες. Είναι μια απόδειξη για το RPi. Ο καλός σχεδιασμός του GPIO που ωστόσο το χρησιμοποιούν πολλοί αρχάριοι.

Τι είναι τόσο καλό για το GPIO Zero;

Οταν είσαι εκμάθηση κώδικα Python, μαθαίνετε ότι πρέπει να είναι ευανάγνωστο και όσο το δυνατόν συντομότερο. Το GPIO Zero στοχεύει να καλύψει και τα δύο σημεία. Χτισμένο πάνω από το RPi. Το GPIO ως πρόγραμμα περιτυλίγματος γλώσσας, απλοποιεί τη ρύθμιση και τη χρήση του GPIO.

Εξετάστε το ακόλουθο παράδειγμα, τη ρύθμιση και την ενεργοποίηση ενός LED:

Κωδικός για ρύθμιση και LED στην έξοδο χρησιμοποιώντας το RPi. Βιβλιοθήκη GPIO

Ο παραπάνω κώδικας πρέπει να είναι αρκετά οικείος σε όποιον έχει χρησιμοποίησαν το Pi για τον έλεγχο των LED.

Το RPi. Εισάγεται βιβλιοθήκη GPIO και δηλώνεται ένας πείρος για το LED. Ο τύπος διάταξης ακίδων έχει ρυθμιστεί (η λειτουργία BCM και BOARD είναι εξηγείται στον οδηγό GPIO μας Όλα όσα πρέπει να γνωρίζετε για τις καρφίτσες Raspberry Pi GPIOΤο Raspberry Pi είναι ένας φανταστικός μικρός υπολογιστής, αλλά τι ακριβώς κάνουν οι ακίδες GPIO (General Purpose Input / Output); Με λίγα λόγια, ανοίγουν έναν ολόκληρο κόσμο ηλεκτρονικών παιχνιδιών και εφευρέσεων DIY. Διαβάστε περισσότερα ), και ο πείρος έχει ρυθμιστεί ως έξοδος. Στη συνέχεια, ο πείρος είναι ενεργοποιημένος.

Αυτή η προσέγγιση έχει νόημα, αλλά ο τρόπος με τον GPIO Zero είναι πολύ πιο απλός:

Εγκατάσταση LED με GPIO Zero

Το GPIO Zero διαθέτει μια μονάδα για LED, που εισάγονται στην αρχή. Αυτό σημαίνει ότι μπορείτε να δηλώσετε τον αριθμό pin και να καλέσετε το led.on () μέθοδος.

Γιατί είναι καλύτερη η προσέγγιση του GPIO Zero;

Υπάρχουν μερικοί λόγοι για τους οποίους αυτή η μέθοδος εργασίας είναι μια βελτίωση στο RPi. GPIO.

Πρώτον, πληροί την απαίτηση «ευανάγνωστη, όσο το δυνατόν συντομότερη». Ενώ το RPi. Οι δηλώσεις ρύθμισης GPIO είναι αρκετά κατανοητές, δεν είναι απαραίτητες. Ένα LED θα είναι πάντα έξοδος, οπότε το GPIO Zero ρυθμίζει τις ακίδες πίσω από τα παρασκήνια. Το αποτέλεσμα είναι μόνο τρεις γραμμές κώδικα για ρύθμιση, και στη συνέχεια ανάψτε ένα LED.

Ίσως παρατηρήσετε ότι δεν υπάρχει ρύθμιση λειτουργίας πλακέτας στο παράδειγμα GPIO Zero. Η βιβλιοθήκη χρησιμοποιεί μόνο την αρίθμηση Broadcom (BCM) για τις καρφίτσες. Ο σχεδιαστής της βιβλιοθήκης Ben Nuttall εξηγεί γιατί το 2015 Συνέντευξη RasPi.tv:

"Η αρίθμηση ΠΙΝΑΚΑΣ μπορεί να φαίνεται απλούστερη, αλλά θα έλεγα ότι οι νέοι χρήστες πιστεύουν ότι όλες οι καρφίτσες είναι γενικής χρήσης - και δεν είναι. Συνδέστε ένα LED στον ακροδέκτη 11, γιατί να μην συνδέσετε λίγο περισσότερο στις ακίδες 1, 2, 3 και 4; Το Well 1 είναι 3V3. Τα 2 και 4 είναι 5V. Η έλλειψη συνειδητοποίησης του σκοπού των καρφιτσών μπορεί να είναι επικίνδυνη. "

Με αυτόν τον τρόπο, είναι απολύτως λογικό να χρησιμοποιείς τους αριθμούς BCM. Δεδομένου ότι το GPIO Zero θα είναι στάνταρ στην τεκμηρίωση Raspberry Pi στο μέλλον, αξίζει να μάθετε!

Είναι το GPIO Zero καλύτερο;

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

Από την άλλη πλευρά, το να γνωρίζετε ακριβώς τι συμβαίνει είναι σημαντικό για τη μάθηση. Πάρτε το παράδειγμα της ρύθμισης ενός κουμπιού από το Τεκμηρίωση GPIO Zero:

Παράδειγμα κώδικα GPIO Zero Button

ο κουμπί η μονάδα απλοποιεί τη ρύθμιση για τα κουμπιά. Γνωρίζει ότι τα κουμπιά είναι είσοδοι, οπότε χρησιμοποιεί τον δηλωμένο αριθμό pin για ρύθμιση. Ο έλεγχος για το πάτημα ενός κουμπιού είναι επίσης ευκολότερος, με το .είναι για ανίχνευση πατημάτων κουμπιών.

Χρησιμοποιήσαμε αυτήν την ακριβή λειτουργικότητα στο Εκμάθηση κουμπιών Raspberry Pi 2 τρόποι για να προσθέσετε ένα κουμπί στο έργο σας Raspberry PiΠώς συνδέετε ένα κουμπί στο Raspberry Pi; Εδώ είναι δύο τρόποι για να ξεκινήσετε, που αποδεικνύονται χρησιμοποιώντας Python και ένα LED. Διαβάστε περισσότερα , που είναι ένας πολύ καλός τρόπος για να εξοικειωθείτε με τις διαφορές στις βιβλιοθήκες.

Χρήστες του RPi. Η βιβλιοθήκη GPIO θα παρατηρήσει ότι οι εσωτερικές αντιστάσεις pull-up / pull-down του Pi δεν έχουν ρυθμιστεί σε κώδικα. Αυτό εγείρει μια ενδιαφέρουσα ερώτηση. Είναι απαραίτητο για τους αρχάριους να γνωρίζουν τις αντιστάσεις pull-up / down; Και πάλι, ο Ben Nuttall έχει μια απάντηση σε αυτήν την ερώτηση:

"Μπορεί να υποστηρίξεις ότι είναι καλό να γνωρίζεις για τα pull-up και τα pull-down, και θα έχεις δίκιο - αλλά γιατί πρέπει να το διδάξω την πρώτη μέρα; […] Εάν θέλετε να διδάξετε τα ηλεκτρονικά σε βάθος, υπάρχει αρκετό περιθώριο για αυτό - αλλά δεν θα πρέπει να είναι υποχρεωτικό εάν παίρνετε ξεκίνησε. "

Συνολικά, η απλή προσέγγιση του GPIO Zero είναι πιθανώς καλό για αρχάριους και βετεράνους. Εκτός αυτού, το RPi. Το GPIO δεν πηγαίνει πουθενά. Θα είναι πάντα εκεί για να επιστρέψετε σε αν χρειαστεί.

Είναι η Python η μόνη επιλογή;

Το Python είναι η γλώσσα για την οποία είναι γνωστό το Pi, αλλά δεν είναι η μόνη επιλογή. Εάν είστε ήδη εξοικειωμένοι με τον προγραμματισμό στη γλώσσα C, τότε Καλωδίωση Pi έχεις καλύψει.

Εναλλακτικά, εάν έχετε ήδη προγραμματίσει σε JavaScript, το Node.js μπορεί εύκολα να εγκατασταθεί στο Pi. Η πρόσβαση στο GPIO είναι διαθέσιμη μέσω του βιβλιοθήκη rpi-gpio npm. Ruby on Rails μπορεί επίσης να εγκατασταθεί στο Raspberry Pi, αν και το Pi μπορεί να μην είναι το ο καλύτερος τρόπος για να μάθετε τις ράγες!

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

Εάν βρίσκεστε σε ένα σημείο όπου χρειάζεστε κάτι που δεν παρέχει, θα είστε περισσότερο από έτοιμοι να βουτήξετε σε αυτές τις άλλες βιβλιοθήκες με τον δικό σας ρυθμό.

Ξεκινώντας με το GPIO Zero Yourself

Το GPIO Zero είναι η νεότερη βιβλιοθήκη που κάνει μια βουτιά για το Pi και με καλό λόγο. Για τους περισσότερους χρήστες, καθιστά την κωδικοποίηση για καρφίτσες GPIO απλούστερη στην ανάγνωση και πιο γρήγορη στην εγγραφή.

Δεδομένης της χρήσης του Raspberry Pi στην εκπαίδευση, οτιδήποτε κάνει τη μάθηση πιο φυσική είναι καλό. Ενώ RPi. Το GPIO ήταν τέλειο μέχρι τώρα, το GPIO Zero παίρνει μια καλή ιδέα και το κάνει ακόμα καλύτερο.

Ένας πολύ καλός τρόπος για να ξεκινήσετε με το GPIO Zero είναι να πάρετε ένα αρχάριο έργο όπως το Μουσικός αισθητήρας πορτών Παίξτε το δικό σας θέμα μελωδίας όταν μπαίνετε στο δωμάτιο με το Raspberry PiΘέλατε ποτέ να φτάσετε σπίτι για ένα προσωπικό καλωσόρισμα; Σε αυτό το απλό έργο Raspberry Pi θα χρησιμοποιήσουμε έναν διακόπτη καλαμιού για να ενεργοποιήσουμε έναν συντονισμό όταν ανοίγει μια πόρτα. Διαβάστε περισσότερα και μεταφέρετέ το στη νέα βιβλιοθήκη.

Ο Ian Buckley είναι ανεξάρτητος δημοσιογράφος, μουσικός, ερμηνευτής και παραγωγός βίντεο που ζει στο Βερολίνο της Γερμανίας. Όταν δεν γράφει ή στη σκηνή, παίζει με ηλεκτρονικά είδη DIY ή κώδικα με την ελπίδα να γίνει τρελός επιστήμονας.