Γιατί το GPIO Zero είναι καλύτερο από το RPi.GPIO για έργα Raspberry Pi

Γιατί το GPIO Zero είναι καλύτερο από το RPi.GPIO για έργα Raspberry Pi

Το Raspberry Pi είναι ο τέλειος υπολογιστής για μάθηση. Το Raspbian OS που βασίζεται στο Linux έχει ενσωματωμένο το Python, γεγονός που το καθιστά ένα εξαιρετικό πρώτο σύστημα για αρχάριους κωδικοποιητές. Οι καρφίτσες γενικού σκοπού εισόδου/εξόδου (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.

Τι συμβαίνει με το RPi.GPIO;

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



παραγωγικά πράγματα να κάνουμε στο διαδίκτυο

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

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

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





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

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





Η βιβλιοθήκη RPi.GPIO εισάγεται και δηλώνεται μια καρφίτσα για το LED. Ο τύπος διάταξης καρφιτσών έχει ρυθμιστεί (η λειτουργία BCM και BOARD είναι εξηγείται στον οδηγό GPIO ), και ο πείρος έχει ρυθμιστεί ως έξοδος. Στη συνέχεια, η καρφίτσα είναι ενεργοποιημένη.

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

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

πώς να εκτελέσετε macos στα Windows

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

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

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

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

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

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

Είναι το GPIO Zero πραγματικά καλύτερο;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mbr ή gpt για δεύτερο hdd

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

Ένας πολύ καλός τρόπος για να ξεκινήσετε με το GPIO Zero είναι να πάρετε ένα αρχάριο έργο όπως ο αισθητήρας μουσικής πόρτας και να το μεταφέρετε στη νέα βιβλιοθήκη.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ 5 Συμβουλές για την υπερφόρτιση των μηχανών σας VirtualBox Linux

Έχετε κουραστεί από τις κακές επιδόσεις που προσφέρουν οι εικονικές μηχανές; Δείτε τι πρέπει να κάνετε για να αυξήσετε την απόδοση του VirtualBox.

Διαβάστε Επόμενο
Σχετικά θέματα
  • DIY
  • Προγραμματισμός
  • Raspberry Pi
  • Πύθων
  • GPIO
Σχετικά με τον Συγγραφέα Ο anαν Μπάκλεϊ(216 δημοσιευμένα άρθρα)

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

Περισσότερα από τον Ian Buckley

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή