Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι το Pi Zero W;
- Βήμα 2: Scotty, χρειαζόμαστε περισσότερη δύναμη
- Βήμα 3: Τοποθέτηση αισθητήρα και λογισμικό
- Βήμα 4: Ρύθμιση του Pi
- Βήμα 5: Χρόνος WiFi
- Βήμα 6: Σύνδεση
- Βήμα 7: Σύρματα
- Βήμα 8: Φωτίστε το
- Βήμα 9: Προαιρετικό βήμα και χρήσιμες εντολές
Βίντεο: Σύστημα υποβοήθησης στάθμευσης με βάση το Pi: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Γεια σου! Εδώ είναι ένα δροσερό μικρό έργο που μπορείτε να κάνετε σε ένα μεσημέρι και στη συνέχεια να το χρησιμοποιείτε καθημερινά. Βασίζεται στο Raspberry Pi Zero W και θα σας βοηθήσει να σταθμεύσετε τέλεια το αυτοκίνητό σας κάθε φορά.
Ακολουθεί η πλήρης λίστα με τα μέρη που θα χρειαστείτε:
- Raspberry Pi Zero W (αυτό θα το ονομάσουμε «rpi» ή «pi» σε αυτό το άρθρο)
- Κάρτα micro SD 4 GB ή μεγαλύτερη για το pi OS
- Δύο μικροσκοπικές μονάδες αισθητήρα απόστασης χρόνου πτήσης LiDAR
- Πίνακας LED RGB 32x32 (υπάρχουν πολλοί κατασκευαστές για αυτό με διαφορετικές θέσεις κουκκίδων, μπορείτε για παράδειγμα να χρησιμοποιήσετε το Adafruit 1484 ή παρόμοιο, απλώς αναζητήστε το '32x32 LED Matrix' στο Google). Το πάνελ μας είχε βήμα 6mm.
- 25 πόδια καλώδιο CAT5
- περίπου 22 χρωματιστά καλώδια με βραχυκυκλωτήρι κεφαλίδας με αρσενικό
- 5v 2Amp τροφοδοτικό microUSB (φορτιστής κινητού τηλεφώνου) Όλα έτοιμα; Πάμε!
TL; Περίληψη DR
- Κατεβάστε το Raspbian Lite OS για το rpi
- Διαμορφώστε το pi για να τρέχει ακέφαλο μέσω WiFi με στατική IP
- Ρυθμίστε το περιβάλλον ανάπτυξης του υπολογιστή σας με PuTTY, WinSCP και προαιρετικά SublimeText w/ FTP addon
- Κατεβάστε, δημιουργήστε και συνδέστε το πρόγραμμα οδήγησης του πίνακα LED
- Κατεβάστε και εγκαταστήστε το pigpio
- Κατεβάστε τον κώδικα Python
- Συνδέστε τον πίνακα οθόνης LED 32x32
- Φτιάξτε το καλώδιο επέκτασης CAT5 για τον πλευρικό αισθητήρα tinyLiDAR
- Προαιρετικό βήμα (αλλά μόνο για προχωρημένους χρήστες): κάντε έναν γρήγορο χαρούμενο χορό όταν όλα λειτουργούν;)
Βήμα 1: Τι είναι το Pi Zero W;
Αναμφίβολα έχετε ακούσει για το Raspberry Pi αλλά τι στο καλό είναι το pi 'Zero W';
Τα Raspberry Pi Zero και Zero W ήταν πιο πρόσφατες προσθήκες στην οικογένεια Pi που σήμαιναν περισσότερα για το IoT και άλλες ενσωματωμένες εφαρμογές χαμηλού κόστους. Αφαιρούνται οι εκδόσεις του αρχικού πίνακα pi αλλά εξακολουθούν να έχουν έναν ισχυρό επεξεργαστή 1 GHz. Εδώ είναι μια καλή σύγκριση όλων των μοντέλων.
Το όφελος για εμάς στην επιλογή του Pi Zero W εδώ σε σχέση με άλλους πίνακες ελεγκτών είναι ότι μπορούμε εύκολα να το προγραμματίσουμε στην υψηλότερη στάθμη της γλώσσας Python ενώ χρησιμοποιούμε τα γρήγορα προγράμματα οδήγησης C/C ++ LED. Έχει επίσης ελκυστική τιμή μόνο $ 10USD.
Λάβετε υπόψη ότι από τη στιγμή που αυτός ο πίνακας είναι μια απογυμνωμένη έκδοση ενός πλήρους pi - κάποια πράγματα έχουν αλλάξει. Συγκεκριμένα, η υποδοχή Ethernet έχει εξαλειφθεί, η υποδοχή HDMI έχει αλλάξει σε μίνι μέγεθος και οι τέσσερις θύρες USB έχουν απλοποιηθεί σε έναν μόνο τύπο micro USB. Υπάρχει μια άλλη υποδοχή micro USB επί του σκάφους, αλλά είναι μόνο για την τροφοδοσία της πλακέτας. Η εξάλειψη όλων των συνδετήρων USB πλήρους μεγέθους εισάγει κάποιες πολυπλοκότητες. Δηλαδή, πώς μπορείτε να συνδέσετε ένα πληκτρολόγιο και ένα ποντίκι; Τα τυπικά περιφερειακά και διανομέα USB χρησιμοποιούν συνδετήρες τύπου Α και όχι μικροϋπολογιστές.
Λοιπόν, τι μπορούμε να κάνουμε?
Μπορούμε να πάμε ακέφαλοι!
Όχι, δεν εννοούμε να τρελαθούμε αλλά να χρησιμοποιήσουμε μια εναλλακτική λύση στην κανονική απευθείας ενσύρματη εγκατάσταση. Ακέφαλο σημαίνει "σήραγγα" στο pi από απόσταση χρησιμοποιώντας μια ασφαλή σύνδεση δικτύου κελύφους (SSH). Για αυτό το έργο θα χρησιμοποιήσουμε την ακέφαλη προσέγγιση μέσω WiFi. Εξ ου και ο λόγος για εμάς που επιλέξαμε την έκδοση W του pi zero αντί του ακόμη χαμηλότερου κόστους pi zero.
Σημειώστε ότι υπάρχει επίσης ένας άλλος τρόπος εκτέλεσης του pi σε λειτουργία ακέφαλου χρησιμοποιώντας κάτι που ονομάζεται VNC. Χρειάζεται ειδικό λογισμικό VNC που λειτουργεί στον υπολογιστή σας, καθώς παρέχει μια πλήρη εικονική γραφική επιφάνεια εργασίας στον υπολογιστή σας. Δεν απαιτούμε (και πραγματικά δεν θέλουμε) την επιφάνεια εργασίας για το έργο μας, έτσι θα παραμείνουμε στην απλούστερη μέθοδο SSH.
Βήμα 2: Scotty, χρειαζόμαστε περισσότερη δύναμη
Ο πίνακας μήτρας LED 32x32 μπορεί, από μόνος του, να πάρει αρκετούς ενισχυτές ρεύματος. Δεν αστειεύομαι! Αυτός είναι ο λόγος για τον οποίο τα περισσότερα από αυτά τα πάνελ περιλαμβάνουν μερικά δυνατά καλώδια τροφοδοσίας για την τροφοδοσία του. Ευτυχώς για εμάς, αν και δεν θα χρειαστεί να πάρουμε ένα τεράστιο τροφοδοτικό για αυτό το έργο. Weμασταν σε θέση να τροφοδοτήσουμε όλο αυτό το σύστημα από έναν εφεδρικό φορτιστή κινητού τηλεφώνου 5V/2amp microUSB που είχαμε ξαπλωμένοι. Ο λόγος για το χαμηλότερο ρεύμα είναι επειδή χρησιμοποιούμε σχετικά απλά γραφικά και ως εκ τούτου δεν ενεργοποιούμε τα περισσότερα LED. Εάν σκέφτεστε να δημιουργήσετε κινούμενα σχέδια ή να χρησιμοποιήσετε βίντεο/φωτεινά γραφικά, θα πρέπει σίγουρα να εξετάσετε την τροφοδοσία του πίνακα από ξεχωριστό τροφοδοτικό.
Βήμα 3: Τοποθέτηση αισθητήρα και λογισμικό
Παρατηρήσατε ότι χρησιμοποιούμε δύο tinyLiDAR σε αυτό το σύστημα αντί για ένα μόνο; Όπως φαίνεται στο διάγραμμα ρύθμισης του γκαράζ, το ένα τοποθετείται μπροστά από το αυτοκίνητο και το άλλο τοποθετείται κατά μήκος της μιας πλευράς του αυτοκινήτου.
Ο πλευρικός αισθητήρας θα ανιχνεύσει εάν ξεφεύγετε από το κέντρο καθώς σταθμεύετε το αυτοκίνητο και φυσικά ο μπροστινός θα σας πει πότε πρέπει να σταματήσετε.
Η οθόνη LED 32x32 θα σας βοηθήσει δείχνοντας βέλη για να προχωρήσετε μπροστά, αριστερά ή δεξιά και μια οθόνη αντίστροφης μέτρησης με χρωματιστές γωνίες για να υποδείξετε πόσο μακριά έχετε ακόμα να οδηγήσετε. Ρίξτε μια ματιά στο σύντομο βίντεο μας για όλες τις καταστάσεις προβολής.
Σχέδιο παιχνιδιού
Με λίγα λόγια, χρησιμοποιούμε τη πάντα δημοφιλή βιβλιοθήκη hzeller C για το πρόγραμμα οδήγησης LED, την Python για τον κωδικό ελέγχου και τη βιβλιοθήκη pipgpio C για τον σωστό έλεγχο των αισθητήρων I2C.
Η Python είναι μια εξαιρετικά εύκολη γλώσσα υψηλού επιπέδου την οποία μπορείτε εύκολα να επεξεργαστείτε σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Συνήθως χρησιμοποιούμε το SublimeText και για αυτό το έργο χρησιμοποιήσαμε επίσης ένα πολύ χρήσιμο πρόσθετο FTP που μας επιτρέπει να επεξεργαστούμε τα αρχεία δέσμης ενεργειών απευθείας στο pi. Αυτό είναι ένα προαιρετικό βήμα καθώς απαιτείται μόνο εάν θέλετε να επεξεργαστείτε τον κώδικα. Περισσότερες λεπτομέρειες είναι διαθέσιμες στο τέλος αυτού του άρθρου.
Όλοι οι πίνακες rpi, όπως ίσως γνωρίζετε, δεν υποστηρίζουν εγγενώς το τέντωμα ρολογιού I2C. Έτσι χρησιμοποιήσαμε ξανά τη βιβλιοθήκη pigpio για αυτό το έργο για τον έλεγχο των μικροσκοπικών αισθητήρων LiDAR, αλλά αυτή τη φορά με μια μικρή συστροφή…
Πολλαπλά μικροσκοπικά LiDAR
Όταν αγοράζετε ένα tinyLiDAR, ορίζεται πάντα στην προεπιλεγμένη διεύθυνση slave του 0x10. Αυτό είναι καλό όταν χρησιμοποιείτε έναν μόνο αισθητήρα, αλλά αν έχετε περισσότερους από έναν στο δίαυλο, ίσως είναι πρόβλημα αν γράψετε μια εντολή στο 0x10 και όλοι σας απαντήσουν!
Έχουμε λοιπόν 3 επιλογές εδώ:
Πρώτον, μπορούμε να χρησιμοποιήσουμε την εντολή (tinyLiDAR) "R" για να γράψουμε μια νέα υποτελή διεύθυνση στον έναν αισθητήρα που είναι συνδεδεμένος στο δίαυλο I2C. Στη συνέχεια, επαναλάβετε αυτό για κάθε αισθητήρα. Φυσική προσάρτηση, εγγραφή και αποσύνδεση κάθε αισθητήρα για αυτήν τη διαδικασία. Το tinyLiDAR θα αποθηκεύσει τη δεδομένη διεύθυνση στην ενσωματωμένη μη πτητική μνήμη του. Η διεύθυνση θα παραμείνει ακόμη και μετά την ανακύκλωση ισχύος μέχρι να την καθαρίσετε εκδίδοντας την εντολή RESET.
Η δεύτερη επιλογή είναι να χρησιμοποιήσετε τη βολική λειτουργία Αυτόματης ανάθεσης που δημιουργήσαμε ως στόχο για την εκστρατεία IGG. Αυτό περιλαμβάνει την αποστολή της εντολής "AR" και έπειτα το δάχτυλό σας σε κάθε αισθητήρα ξεχωριστά για αυτόματη εκχώρηση διαδοχικών διευθύνσεων I2C στους μεμονωμένους αισθητήρες παρόμοια με την πρώτη επιλογή, αλλά δεν χρειάζεται να αποσυνδέσετε κάθε αισθητήρα για να το κάνετε αυτό.
Η τρίτη επιλογή είναι αυτή που χρησιμοποιούμε εδώ σε αυτό το έργο και είναι δυνατή χάρη στη βιβλιοθήκη pigpio. Για να εφαρμόσετε σωστά το πρότυπο I2C, ο pigpio bitbangs the GPIO. Λόγω αυτού, μπορούμε εύκολα να δημιουργήσουμε ξεχωριστούς διαύλους I2C σε σχεδόν οποιοδήποτε ζεύγος ανταλλακτικών καρφιτσών GPIO.
Επομένως, δεν χρειάζεται να επαναπρογραμματίσετε τις διευθύνσεις slave για τους πολλαπλούς αισθητήρες LiDAR. Μπορούμε απλά να χρησιμοποιήσουμε ένα ξεχωριστό λεωφορείο για το καθένα:)
Σημειώστε ότι το λεωφορείο I2C που τρέχει στα 100Kbps είναι στην πραγματικότητα αρκετά ισχυρό. Χρησιμοποιούμε απλό παλιό καλώδιο ethernet CAT5 για να τρέξουμε το δίαυλο I2C προς τον πλευρικό αισθητήρα tinyLiDAR που βρίσκεται 25 μέτρα μακριά χωρίς ενεργά εξαρτήματα επαναλήπτη! Οι λεπτομέρειες της καλωδίωσης του αισθητήρα φαίνονται παραπάνω.
Εντάξει, αρκετό τζόμπερ, ας ξεκινήσουμε να κατεβάζουμε τον κώδικα!
Βήμα 4: Ρύθμιση του Pi
Προσοχή: Το pi χρησιμοποιεί σύστημα αρχείων Linux, οπότε είναι καλύτερο να εκτελέσετε τα ακόλουθα βήματα σε σύστημα που βασίζεται σε Linux. Εάν το κάνετε αυτό στα Windows, μπορεί να καταλήξετε σε επαναδιαμόρφωση της κάρτας SD. Χρησιμοποιήσαμε την φοβερή & δωρεάν επιφάνεια εργασίας Ubuntu 18.04 που λειτουργεί σε εικονικό περιβάλλον σε υπολογιστή με Windows 10, αλλά μπορείτε να δοκιμάσετε κάτι παρόμοιο.
Θα πρέπει πρώτα να κατεβάσετε το λειτουργικό σύστημα από το raspberrypi.org και μετά να το κάψετε στην κάρτα microSD. Ακολουθήστε λοιπόν αυτά τα βήματα:
(1) Στο Ubuntu πηγαίνετε εδώ και πιάστε την εικόνα Raspbian Lite. Αποθηκεύστε το στο φάκελο λήψεων.
(2) Στη συνέχεια, κατεβάστε το βοηθητικό πρόγραμμα γραφής κάρτας Etcher SD. FYI - ο επίσημος σύνδεσμος λήψης Etcher για την έκδοση Linux στην αρχική τους σελίδα δεν λειτούργησε για εμάς, οπότε χρησιμοποιήσαμε τη μέθοδο που περιγράφεται εδώ:
Συνοπτικά τα βήματα που περιγράφονται στο σύνδεσμο ήταν:
Προσθήκη αποθετηρίου αποθήκευσης Etcher:
ηχώ "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee /etc/apt/sources.list.d/etcher.list
Εμπιστευτείτε το κλειδί GPG της Bintray.com:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61
Ενημέρωση και εγκατάσταση:
sudo apt-get ενημέρωση
sudo apt-get install etcher-electron
Μόλις ολοκληρωθεί, μπορείτε να προχωρήσετε και να ξεκινήσετε το Etcher από την επιφάνεια εργασίας του Ubuntu. Θα σας ζητήσει το αρχείο προέλευσης (το οποίο τοποθετείτε στο φάκελο λήψεων). Το επόμενο βήμα στο Etcher είναι να επιλέξετε τον σωστό στόχο. Ο Etcher κάνει καλή δουλειά στον εντοπισμό της κάρτας micro SD, αλλά θα πρέπει να είστε παρανοϊκός εδώ. Για να επαληθεύσετε ότι βρίσκει τον κατάλληλο προορισμό - δοκιμάστε να εξαγάγετε την κάρτα microSD κάνοντας κλικ στην εξαγωγή στο παράθυρο εξερεύνησης αρχείων Ubuntu και επαληθεύστε ότι εξαφανίζεται ως η επιλογή στόχου στο Etcher. Στη συνέχεια, τοποθετήστε το ξανά και συνεχίστε στο τελικό βήμα, το οποίο είναι να γράψετε το αρχείο σε αυτήν την κάρτα microSD.
Περιμένετε λίγο μέχρι να τελειώσει και μετά συνεχίστε.
Βήμα 5: Χρόνος WiFi
Εντάξει, τώρα ήρθε η ώρα να εισαγάγετε τα στοιχεία του WiFi σας.
Συμβουλή: μπορείτε πάντα να αντιγράψετε (Ctrl+C) και να επικολλήσετε (Δεξί κλικ, Επικόλληση) πληροφορίες από αυτό το άρθρο στην οθόνη του τερματικού PuTTY αντί να πληκτρολογήσετε τις εντολές. Ελέγξτε το τέλος αυτού του άρθρου για πολλές χρήσιμες εντολές Linux επίσης.
Όταν ολοκληρωθεί η εγγραφή του Etcher στην κάρτα micro SD, θα εμφανιστούν 2 μονάδες δίσκου όπως φαίνεται παραπάνω. Το ένα ονομάζεται εκκίνηση και το άλλο ονομάζεται rootfs
Πρέπει να χρησιμοποιήσουμε τον διαχειριστή αρχείων για να μπούμε στο φάκελο εκκίνησης και να δημιουργήσουμε ένα αρχείο που ονομάζεται wpa_supplicant.conf.
Για να κάνετε αυτό το βήμα, μπορείτε απλά να κάνετε κλικ στην αριστερή πλευρά όπου γράφει εκκίνηση και, στη συνέχεια, στη δεξιά πλευρά της οθόνης μπορείτε να κάνετε δεξί κλικ στο λευκό υπόβαθρο και να επιλέξετε Άνοιγμα στο τερματικό.
Αυτό θα ανοίξει ένα παράθυρο τερματικού (παρόμοιο με το CMD στα Windows) όπου μπορείτε να πληκτρολογήσετε τα ακόλουθα:
sudo nano wpa_supplicant.conf Συμβουλή: Θα χρειαστεί να εισαγάγετε τον κωδικό πρόσβασης συστήματος Linux, ώστε να μπορεί να εκτελείται ως Super User. Αυτό απαιτείται ή αλλιώς δεν θα μπορείτε να αποθηκεύσετε τα αρχεία όταν ολοκληρώσετε την επεξεργασία
Η παραπάνω εντολή θα ξεκινήσει στη συνέχεια τον επεξεργαστή κειμένου "nano" όπου μπορείτε να εισαγάγετε τις ακόλουθες πληροφορίες:
χώρα = ΗΠΑ
ctrl_interface = DIR = /var /run /wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "WiFi_SSID" scan_ssid = 1 psk = "WiFi_Password" key_mgmt = WPA - PSK}
Σημείωση: Θυμηθείτε να αντικαταστήσετε το WiFi_SSID και το WiFi_Password με το δικό σας όνομα και κωδικό δικτύου WiFi.
Όταν τελειώσετε, απλώς κάντε κλικ στο Ctrl+X για έξοδο και απαντήστε Ναι για τη σύνταξη του αρχείου κατά την έξοδο.
Το επόμενο βήμα μας είναι να δημιουργήσουμε ένα κενό αρχείο που ονομάζεται ssh. Για να γίνει αυτό, απλώς πληκτρολογούμε τα ακόλουθα στο παράθυρο τερματικού:
αγγίξτε ssh
Τώρα πρέπει να δώσουμε στο pi μας μια στατική διεύθυνση IP, ώστε να γνωρίζουμε πού βρίσκεται κάθε φορά που θέλουμε να συνδεθούμε σε αυτήν. Πληκτρολογήστε τα ακόλουθα στο παράθυρο τερματικού:
sudo nano /etc/dhcpcd.conf
Αυτό θα πρέπει να ανοίξει ξανά το πρόγραμμα επεξεργασίας κειμένου nano και μπορούμε να προσθέσουμε αυτό το κείμενο στο κάτω μέρος του αρχείου:
διεπαφή wlan0
στατικός ip_address = 192.168.0.στατικοί δρομολογητές = 192.168.0.1 στατικοί_όνομα_διακομιστές_τομέα = 192.168.0.1 8.8.8.8
Σημείωση: Αυτό προϋποθέτει ότι το πρόθεμα δικτύου σας είναι 192.168.0. Εάν έχετε 192.168.1 κ.λπ., χρησιμοποιήστε το δίκτυό σας. Ο διακομιστής ονομάτων τομέα 8.8.8.8 είναι για την Google και προαιρετικός εδώ.
Πληκτρολογήστε «έξοδος» στο τερματικό για να το κλείσετε. Στη συνέχεια, κάντε δεξί κλικ στο όνομα εκκίνησης στην αριστερή πλευρά του παραθύρου Διαχείριση αρχείων και επιλέξτε Εξαγωγή.
Τώρα μπορείτε να συνδέσετε αυτήν την κάρτα microSD στο pi σας και να συνδέσετε το καλώδιο τροφοδοσίας microUSB για να τροφοδοτήσετε το pi σας.
Εάν όλα πάνε καλά, η πράσινη λυχνία LED θα αναβοσβήνει για λίγο σαν να έχει πρόσβαση σε μονάδα σκληρού δίσκου και θα πρέπει να σας συνδέσει στο δίκτυο WiFi. Δώστε περίπου ένα λεπτό για να ηρεμήσει και περιμένετε μέχρι το LED να γίνει σταθερά πράσινο.
Για να επαληθεύσουμε ότι όλα λειτούργησαν, μπορούμε να προσπαθήσουμε να το κάνουμε ping.
Απλώς πληκτρολογήστε την παρακάτω γραμμή και ελέγξτε για απάντηση.
ping 192.168.0.200
Στο Ubuntu θα πρέπει να πάρετε κάτι παρόμοιο με αυτό:
ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56 (84) byte δεδομένων. 64 bytes από 192.168.0.200: icmp_seq = 1 ttl = 128 time = 752 ms 64 bytes από 192.168.0.200: icmp_seq = 2 ttl = 128 time = 5,77 ms 64 bytes από 192.168.0.200: icmp_seq = 3 ttl = 128 time = 7.33 ms ^C --- 192.168.0.200 στατιστικά ping --- 3 πακέτα που μεταδόθηκαν, 3 παραλήφθηκαν, 0% απώλεια πακέτων, χρόνος 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 ms
Σημειώστε ότι το ping συνεχίζει να λειτουργεί μέχρι να πατήσετε Ctrl+C για να τερματίσετε.
Στα Windows θα πρέπει να λάβετε κάτι σαν αυτό:
ping 192.168.0.200
Ping 192.168.0.200 με 32 byte δεδομένων: Απάντηση από 192.168.0.200: bytes = 32 χρόνος = 4ms TTL = 64 Απάντηση από 192.168.0.200: bytes = 32 χρόνος = 5ms TTL = 64 Απάντηση από 192.168.0.200: bytes = 32 χρόνος = 6ms TTL = 64 Απάντηση από 192.168.0.200: byte = 32 χρόνος = 5ms TTL = 64 Στατιστικά Ping για 192.168.0.200: Πακέτα: Στάλθηκαν = 4, Λήφθηκαν = 4, Χάθηκαν = 0 (απώλεια 0%), Κατά προσέγγιση χρόνοι μετ 'επιστροφής σε χιλιοστά δευτερολέπτων: Ελάχιστο = 4ms, Μέγιστο = 6ms, Μέσος όρος = 5ms
Ολα καλά? Εμπρός…
Βήμα 6: Σύνδεση
Τώρα που έχουμε συνδεσιμότητα με το pi, θέλουμε να του στείλουμε εντολές. Αλλά πώς; Φοβερά φυσικά! Μπορείτε να κάνετε λήψη του PuTTY από εδώ Ρύθμιση του PuTTY Αφού κατεβάσετε το λογισμικό PuTTY, δημιουργήστε ένα προφίλ για το pi σας με τις ακόλουθες πληροφορίες:
Όνομα κεντρικού υπολογιστή (ή διεύθυνση IP): 192.168.0.200 Τύπος σύνδεσης: SSHΔώστε σε αυτό το προφίλ ένα όνομα στις Αποθηκευμένες περιόδους σύνδεσης και πατήστε Αποθήκευση. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα σας αρέσει για παράδειγμα "rpizw_200"
Για να συνδεθείτε, απλώς επιλέξτε το από τη λίστα και πατήστε Load. Στη συνέχεια, πατήστε Άνοιγμα. Εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης για να συνδεθείτε:
όνομα σύνδεσης: pi
Defalt κωδικός πρόσβασης: βατόμουρο
Ακολουθεί ένα δείγμα συνεδρίας που εμφανίζεται στο PuTTY κατά τη σύνδεση:
συνδεθείτε ως: pi
Κωδικός πρόσβασης [email protected]: Linux raspberrypi 4.14.34+ #1110 Δευ 16 Απρ 14:51:42 BST 2018 armv6l Τα προγράμματα που περιλαμβάνονται στο σύστημα Debian GNU/Linux είναι δωρεάν λογισμικό. οι ακριβείς όροι διανομής για κάθε πρόγραμμα περιγράφονται στα μεμονωμένα αρχεία στο/usr/share/doc/*/copyright. Το Debian GNU/Linux παρέχεται ΑΠΟΛΥΤΩΣ ΧΩΡΙΣ ΕΓΓΥΗΣΗ, στο βαθμό που επιτρέπεται από την ισχύουσα νομοθεσία. Τελευταία σύνδεση: [ημερομηνία και ώρα] από 192.168.0. [Διεύθυνση IP] Το SSH είναι ενεργοποιημένο και ο προεπιλεγμένος κωδικός πρόσβασης για τον χρήστη "pi" δεν έχει αλλάξει. Αυτός είναι ένας κίνδυνος ασφάλειας - συνδεθείτε ως χρήστης "pi" και πληκτρολογήστε "passwd" για να ορίσετε έναν νέο κωδικό πρόσβασης.
Κατά την πρώτη σύνδεση, θα σας προειδοποιήσει ότι δεν έχετε αλλάξει ακόμα τον κωδικό πρόσβασης. Θα πρέπει να το αλλάξετε σε κάτι δυνατό αλλά απλό για να το θυμάστε, οπότε προχωρήστε και αλλάξτε το πληκτρολογώντας passwd και ακολουθήστε τις οδηγίες.
Θα πρέπει στη συνέχεια να ενημερώσουμε το λογισμικό στο pi πληκτρολογώντας αυτό:
sudo apt-get ενημέρωση && sudo apt-get αναβάθμιση
Αυτό θα κατεβάσει τυχόν ενημερώσεις που χρειάζεται από τη σύνδεσή σας στο Διαδίκτυο. Απαντήστε ΝΑΙ εάν σας ζητηθεί να συνεχίσετε και στη συνέχεια δώστε λίγο χρόνο για ενημέρωση.
Αυτή τη στιγμή θα πρέπει πιθανότατα να απενεργοποιήσουμε τον ήχο στο pi καθώς έχει κάποιο κακό juju με τη βιβλιοθήκη οδηγών LED. Αντιγράψτε, επικολλήστε τις ακόλουθες γραμμές μία κάθε φορά και πατήστε enter μετά από κάθε γραμμή:
cd
γάτα << ΕΟΦ | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf μαύρη λίστα snd_bcm2835 EOF sudo update-initramfs -u
Η έξοδος θα είναι κάπως έτσι:
pi@raspberrypi: ~ $ cd
pi@raspberrypi: ~ $ cat <> μαύρη λίστα snd_bcm2835>> EOF μαύρη λίστα snd_bcm2835 pi@raspberrypi: su $ sudo update -initramfs -u pi@raspberrypi: ~ $
Στη συνέχεια, πρέπει να επανεκκινήσουμε το pi για να ισχύσουν οι αλλαγές, οπότε πληκτρολογήστε τα ακόλουθα:
sudo επανεκκίνηση τώρα
Η σύνδεση θα πέσει φυσικά καθώς το pi επανεκκινείται, ώστε να μπορείτε να κλείσετε το PuTTY. Δοκιμάστε να συνδεθείτε ξανά ένα λεπτό αργότερα.
Τώρα ήρθε η ώρα να αποκτήσετε έναν γραφικό διαχειριστή αρχείων FTP που ονομάζεται WinSCP. Μπορείτε να κατεβάσετε το WinSCP από εδώ
Το WinSCP μοιάζει πολύ με το διαχειριστή αρχείων σε Windows και Ubuntu. Μας επιτρέπει να μεταφέρουμε και να αποθέτουμε εύκολα αρχεία προς & από το pi και να δημιουργούμε diretories με ένα δεξί κλικ του ποντικιού.
Μετά τη λήψη, θα πρέπει να ρυθμίσετε ένα προφίλ για το pi σας.
WinSCP Setup Στο αναδυόμενο παράθυρο Login, επιλέξτε New Site. Χρησιμοποιήστε τις ακόλουθες ρυθμίσεις για τη συνεδρία:
Πρωτόκολλο αρχείου: SFTP Όνομα κεντρικού υπολογιστή: 192.168.0.200 Όνομα χρήστη: pi Κωδικός πρόσβασης: {όποιος κωδικός πρόσβασης αλλάξατε ως προεπιλογή στο παραπάνω βήμα PuTTY}
Στις Σύνθετες ρυθμίσεις ιστότοπου, μεταβείτε στο Περιβάλλον | Κατάλογοι και εισαγάγετε /home /pi για τον απομακρυσμένο κατάλογο και ό, τι θέλετε για τη ρύθμιση Local Directory.
Στις Σύνθετες ρυθμίσεις ιστότοπου, μεταβείτε στο Περιβάλλον | Shell και επιλέξτε sudo su - στην αναπτυσσόμενη λίστα Shell.
Στη συνέχεια, πατήστε Αποθήκευση.
Κρατήστε τόσο το WinSCP όσο και το PuTTY ανοιχτό ενώ εκτελείτε τα παρακάτω βήματα
Μεταβείτε στο τερματικό PuTTY και εισαγάγετε τα ακόλουθα:
cd
Αυτό θα μας οδηγήσει στον αρχικό μας κατάλογο μέσα στο pi.
Τώρα μπορούμε να πάρουμε τη βιβλιοθήκη οδηγών LED από το github. Για να χρησιμοποιήσουμε τον πιο πρόσφατο κώδικα, θα χρειαστεί να τραβήξουμε το repo οπότε πρέπει να εγκαταστήσουμε το βοηθητικό πρόγραμμα git.
Εισαγάγετε αυτό στο PuTTY:
sudo apt-get install git
απαντήστε το Y για να συνεχίσετε και θα χρειαστούν μερικά δευτερόλεπτα για να εγκαταστήσετε το git για εμάς από το διαδίκτυο.
Η έξοδος πρέπει να μοιάζει κάπως έτσι:
pi@raspberrypi: su $ sudo apt-get install git
Ανάγνωση καταλόγων πακέτων… Τέλος Δημιουργία δέντρου εξάρτησης Ανάγνωση πληροφοριών κατάστασης… Τέλος Θα εγκατασταθούν τα ακόλουθα πρόσθετα πακέτα: git-man liberror-perl Προτεινόμενα πακέτα: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn Θα εγκατασταθούν τα ακόλουθα ΝΕΑ πακέτα: git git-man liberror-perl 0 αναβαθμισμένα, 3 πρόσφατα εγκατεστημένο, 0 για κατάργηση και 0 μη αναβαθμισμένο. Πρέπει να λάβετε αρχεία 4, 848 kB. Μετά από αυτήν τη λειτουργία, θα χρησιμοποιηθούν 26,4 MB πρόσθετου χώρου στο δίσκο. Θέλετε να συνεχίσετε; [Y/n] y Λήψη: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl all 0.17024-1 [26.9 kB] Λήψη: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] Λήψη: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] Λήψη 4, 848 kB σε 5s (878 kB/s) Επιλογή παλαιότερα μη επιλεγμένου πακέτου liberror-perl.. Προετοιμασία για αποσυσκευασία…/git-man_1%3a2.11.0-3+deb9u3_all.deb… Αποσυσκευασία git-man (1: 2.11.0-3+deb9u3)… Επιλογή παλαιότερα μη επιλεγμένου πακέτου git. Προετοιμασία για αποσυσκευασία…/git_1%3a2.11.0-3+deb9u3_armhf.deb… Αποσυσκευασία git (1: 2.11.0-3+deb9u3)… Ρύθμιση git-man (1: 2.11.0-3+deb9u3)… Ρύθμιση liberror-perl (0.17024-1)… Επεξεργασία ενεργοποιητών για man-db (2.7.6.1-2)… Ρύθμιση git (1: 2.11.0-3+deb9u3)…
Τώρα επιστρέψτε στο WinSCP και μεταβείτε στο φάκελο /home /pi. Στη συνέχεια, στη δεξιά πλευρά αυτού του παραθύρου WinScp, κάντε δεξί κλικ και επιλέξτε τη δημιουργία νέου καταλόγου που ονομάζεται "στάθμευση"
Πίσω στην οθόνη PuTTY μπορείτε να πληκτρολογήσετε ls για να επιβεβαιώσετε ότι μόλις δημιουργήσατε έναν νέο φάκελο στο pi. Στη συνέχεια, εισαγάγετε αυτό:
cd p [TAB]Συμβουλή: Πατώντας το πλήκτρο TAB θα συμπληρώσετε αυτόματα το μερικό όνομα για εσάς
Πατήστε το πλήκτρο εισαγωγής για να μπείτε σε αυτόν τον κατάλογο.
pi@raspberrypi: parking $ cd parking/
pi@raspberrypi: ~/parking $ ls
Τώρα μπορούμε να πάρουμε τα αρχεία προγράμματος οδήγησης εισάγοντας τα ακόλουθα στο PuTTY:
git clone
Η έξοδος θα μοιάζει κάπως έτσι:
pi@raspberrypi: ~/parking $ git clone
Κλωνοποίηση σε 'rpi-rgb-led-matrix'… τηλεχειριστήριο: Καταμέτρηση αντικειμένων: 3740, ολοκληρώθηκε. τηλεχειριστήριο: Σύνολο 3740 (δέλτα 0), επαναχρησιμοποίηση 0 (δέλτα 0), επαναχρησιμοποίηση συσκευασίας 3740 Αντικείμενα λήψης: 100% (3740/3740), 20,61 MiB | 1,32 MiB/s, ολοκληρώθηκε. Επίλυση δέλτα: 100% (2550/2550), τελειωμένο.
Τώρα μεταγλωττίστε τα αρχεία προγράμματος οδήγησης LED πηγαίνοντας σε αυτόν τον νέο κατάλογο «rpi-rgb-led-matrix» και πληκτρολογώντας την εντολή make:
cd r [TAB]
φτιαχνω, κανω Και έτσι έμοιαζε στον πίνακα μας
pi@raspberrypi: ~/parking $ cd rpi-rgb-led-matrix/
pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: Εισαγωγή στον κατάλογο '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++-.. -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό" -Wextra -Wno -unused -parameter -fno -përjashtions -c -o led -matrix.o led-matrix.cc g ++ -I../ περιλαμβάνουν - Τοίχος -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό" -Εξτρα -Wno -unused -parameter -fno -përjashtions -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό" -Εξαιρετικά -Χωρίς -αχρησιμοποίητη -παράμετρο -fno -εξαιρέσεις -c -o framebuffer.o framebuffer.cc g ++ -I../ συμπεριλαμβάνω -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '"κανονικό"' -Επεξέ -Όχι -αχρησιμοποίητη -παράμετρος -fno -εξαιρέσεις -c -o thread.o thread.cc g ++ -I../ περιλαμβάνουν -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = ' "κανονική" '-Εξτρα -Δεν -αχρησιμοποίητη -παράμετρος -fno -εξαιρέσεις -c -o bdf -font.o bdf -fon t.cc g ++ -I../ περιλαμβάνουν -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '' κανονικό '' -Wextra -Wno -unused -parameter -fno -përjashtions -c -o graphics.o graphics.cc g ++ -.. -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό" -Wextra -Wno -unused -parameter -fno -përjashtions -c -o led -matrix -co led-matrix-c.cc cc -I../ περιλαμβάνουν -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικά" -Wextra -Wno -unused -parameter -c -o hardware -mapping.o hardware -mapping.c g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό"' -Επέκταση -Όχι -αχρησιμοποίητη -παράμετρος -fno -εξαιρέσεις -c -o content -streamer.o content-streamer.cc g ++ -I../ περιλαμβάνουν -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '"κανονικό"' -Επεξέ -Όχι -αχρησιμοποίητη -παράμετρος -fno -εξαιρέσεις -c -o pixel -mapper.o pixel-mapper.cc g ++ -I../ συμπεριλαμβάνω -Τοίχι -O3 -g -fPIC -DDEFAULT_HARDWARE = '"κανονικό"' -Εξτρα -Wno -unused -parameter -fno -excep tions -c -o multiplex-mappers.o multiplex-mappers.cc ar rcs librgbmatrix.a gpio.o led-matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers.o g ++ -hared -Wl, -soname, librgbmatrix.so.1 -o librgbmatrix.so.1 gpio.o led -matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers. o -lpthread -lrt -lm -lpthread make [1]: Αποχώρηση από τον κατάλογο '/home/pi/parking/rpi -rgb -led -matrix/lib' make -C παραδείγματα -api -use make [1]: Εισαγωγή καταλόγου ' /home/pi/parking/rpi -rgb -led -matrix/samples -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o demo -main. o demo-main.cc make -C../lib make [2]: Εισαγωγή στον κατάλογο '/home/pi/parking/rpi-rgb-led-matrix/lib' make [2]: Αποχώρηση από τον κατάλογο '/home/pi /parking/rpi-rgb-led-matrix/lib 'g ++ demo-main.o -o demo -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ περιλαμβάνουν -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o minimal -example.o minimal-example.cc g ++ minimal -example.o - o minimal -example -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o c -example.o c- example.c cc c -example.o -o c -example -L../ lib -lrgbmatrix -lrt -lm -lpthread -lstdc ++ g ++ -I../ περιλαμβάνουν -Wall -O3 -g -Wextra -Wno -unused- παράμετρος -c -o text -example.o text-example.cc g ++ text -example.o -o text -example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall - O3 -g -Wextra -Wno-unused-parameter -c -o scrolling-text-example.o scrolling-text-example.cc g ++ scrolling-text-example.o -o scrolling-text-example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ περιλαμβάνουν -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o clock.o clock.cc g ++ clock.o -o ρολόι -L.. /lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ περιλαμβάνουν -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: Αποχώρηση από τον κατάλογο '/home/pi/parking/rpi -rgb -led -matrix/example -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-matrix $
Το επόμενο βήμα μας θα είναι να συνδέσουμε τη βιβλιοθήκη μήτρας RGB με την Python. Χρησιμοποιήσαμε την προεπιλεγμένη Python 2 για αυτό το έργο. Έτσι, για να κάνουμε αυτό το δέσιμο, εισάγουμε την ακόλουθη γραμμή κάθε φορά, όπως πριν:
sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
make build-python sudo make install-python
Σημείωση: Μπορείτε να αγνοήσετε με ασφάλεια την μία προειδοποίηση σχετικά με το '-Συστολή-πρωτότυπο' που εμφανίζεται κατά την εκτέλεση των δύο δηλώσεων. Οι εντολές κατασκευής χρειάζονται μερικά λεπτά για να τρέξουν και δεν λένε τίποτα ενόσω είναι απασχολημένοι. Μην φοβάστε λοιπόν - το pi σας θα επιστρέψει σύντομα;)
Ακολουθεί μερική έξοδος για την πρώτη δήλωση δημιουργίας:
κτίριο επέκτασης «γραφικών»
arm -linux -gnueabihf -gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -fno -strict -aliasing -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -fPIC -I../../ include -I/usr/include/python2.7 -c rgbmatrix/graphics.cpp -o build/temp.linux- armv6l-2.7/rgbmatrix/graphics.o -O3 -Wall cc1plus: προειδοποίηση: η επιλογή της γραμμής εντολών «-Οι αυστηρές πρωτοτυπίες» ισχύουν για C/ObjC αλλά όχι για C ++ arm-linux-gnueabihf-g ++ -preadread -hared -Wl, -O1 -Wl, -Bsymbolic -functions -Wl, -z, relro -fno -strict -aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -Wl, -z, relro -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7 -kKRR4y/python2.7 -2,7,13 =. -fstack -protector -strong -Wformat -Werror = format -security build/temp.linux -armv6l -2.7/rgbmatrix/graphics.o -L../../ lib -lrgbmatrix -o./rgbmatrix/graphics.so κάνουν [1]: Αποχώρηση από τον κατάλογο '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $
Στη συνέχεια, θα εγκαταστήσουμε τη βιβλιοθήκη pigpio C. Για να γίνει αυτό σωστά, πρέπει να το κάνουμε από την πηγή, οπότε απλώς εισάγετε τις ακόλουθες γραμμές:
cd
sudo rm -rf PIGPIO wget abyz.me.uk/rpi/pigpio/pigpio.zip αποσυμπιέστε pigpio.zip cd PIGPIO κάντε sudo make install rm pigpio.zip
Η παραπάνω εγκατάσταση διαρκεί περίπου 3 λεπτά.
Τώρα ήρθε η ώρα να αποκτήσουμε τα αρχεία του έργου Python. Εισάγετε τα ακόλουθα:
cd
cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/sample wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip
Στη συνέχεια, για να το εκτελέσετε, πληκτρολογήστε τα εξής:
sudo python parking.py
Αλλά δεν χρειάζεται να το κάνετε αυτό τώρα καθώς πρέπει να τα συνδέσουμε όλα…
Βήμα 7: Σύρματα
Όπως αναφέρθηκε προηγουμένως, τροφοδοτήσαμε τον πίνακα LED από τον ίδιο προσαρμογέα τροφοδοσίας που τροφοδοτεί το pi. Για να το κάνετε αυτό, θα πρέπει να συνδέσετε τα βαριά κόκκινα και μαύρα καλώδια σε αρσενικές ακίδες κεφαλίδας, ώστε να μπορούν να συνδεθούν στις ακίδες 2 και 9 του συνδετήρα 40pin pi.
Αποσυνδέστε τώρα το ρεύμα από το pi και συνδέστε τον πίνακα LED σύμφωνα με το παραπάνω διάγραμμα. Κρατήστε το pin 2 αποσυνδεδεμένο προς το παρόν.
ΣΗΜΕΙΩΣΗ: Ο πίνακας μήτρας LED μπορεί μερικές φορές να ενεργοποιηθεί σε funky κατάσταση. Εάν συμβεί αυτό, μπορεί να φορτώσει σοβαρά το τροφοδοτικό σας, ανεξάρτητα από την τρέχουσα χωρητικότητα που διαθέτει. Αυτό το παρατηρήσαμε κατά την ανάπτυξη στην τροφοδοσία πάγκου μας που μπορεί να παρέχει πάνω από 4 αμπέρ. Η λύση σε αυτό είναι να εκτελέσετε πρώτα τον κώδικα pi και στη συνέχεια να συνδέσετε τον ακροδέκτη 2 για να τροφοδοτήσετε τον πίνακα LED. Με αυτόν τον τρόπο, ο πίνακας θα πρέπει να έρθει σε κατάσταση χαμηλής ισχύος, αφού ξεπλένει τις τυχαίες καταστάσεις LED. Ηρεμιστικό ρεύμα (όλα τα LED απενεργοποιημένα) για τον πίνακα LED μας ήταν μόνο 50mA στα 5v.
CAT5
Χρησιμοποιήσαμε ένα καλώδιο Ethernet 25 ποδιών CAT5 και το τροποποιήσαμε για να συνδεθεί με τις ακίδες της κεφαλίδας pi στο ένα άκρο και να δεχτούμε τις ακίδες σύνδεσης GROVE από την άλλη πλευρά, ώστε να μπορέσουμε να επεκτείνουμε την απόσταση για να τοποθετήσουμε τον πλευρικό μας αισθητήρα tinyLiDAR. Οι παραπάνω φωτογραφίες δείχνουν αυτό το καλώδιο πριν και μετά από τροποποιήσεις. Αγνοήστε τα χρώματα των συρμάτων πείρου κεφαλίδας καθώς δεν σχετίζονται με τα διαγράμματα. Απλά βεβαιωθείτε ότι έχετε συνδέσει το σύστημά σας όπως φαίνεται στα εικονικά διαγράμματα σύνδεσης που εμφανίζονται νωρίτερα στο βήμα 3.
Βήμα 8: Φωτίστε το
Η σωστή αρχική ακολουθία ενεργοποίησης πρέπει να είναι η σύνδεση του φορτιστή microUSB στο pi και η αναμονή των μπλε LED στους αισθητήρες tinyLiDAR να αναβοσβήνουν γρήγορα δείχνοντας ότι λαμβάνουν μετρήσεις. Αυτό αποδεικνύει ότι ο κώδικας λειτουργεί σωστά.
Στη συνέχεια, μπορείτε να συνδέσετε αργά αλλά σταθερά τον πείρο 2 για την τροφοδοσία του πίνακα LED. Προσοχή μην το παραμορφώσετε ενώ το κάνετε αυτό! Εάν ο πίνακας LED δείχνει μερικές παγωμένες φωτεινές λυχνίες LED, τότε πιθανότατα έχει δυσλειτουργία, οπότε αφαιρέστε την τροφοδοσία microUSB από το pi και περιμένετε μερικά δευτερόλεπτα για να δοκιμάσετε ξανά την ακολουθία ενεργοποίησης.
Για να εκτελέσετε τον κωδικό, εισαγάγετε τα ακόλουθα:
cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/δείγματα
sudo python parking.py
Εάν όλα πάνε καλά, θα πρέπει να έχετε μια οθόνη παρόμοια με αυτήν που εμφανίζεται στο βίντεο.
Ρίξτε μια γρήγορη ματιά στον κωδικό parking.py για να καταλάβετε ποια όρια χρησιμοποιήσαμε. Η προεπιλογή για τον μπροστινό αισθητήρα είναι 200mm. Καθώς το εύρος του αισθητήρα είναι 11mm έως 2m είναι καλή ιδέα να διατηρήσετε την ονομαστική_προστατευμένη απόσταση στα 200mm ή υψηλότερη. Ο πλευρικός αισθητήρας nom_parked_Side έχει οριστεί στα 600mm. Δείτε την παραπάνω εικόνα για τον κώδικα Python που δείχνει αυτές τις επιλογές διαμόρφωσης.
Εάν όλα λειτουργούν, μπορείτε να προχωρήσετε και να τοποθετήσετε το σύστημα στο γκαράζ σας και να προσαρμόσετε τις παραπάνω παραμέτρους όπως απαιτείται. Δεδομένου ότι το pi είναι συνδεδεμένο στο WiFi σας, μπορείτε πάντα να εισέλθετε και να επεξεργαστείτε τις ρυθμίσεις απόστασης που χρειάζεστε για τη συγκεκριμένη ρύθμιση του γκαράζ σας, ενώ είναι ακόμα προσαρτημένο.
Αυτό είναι τώρα;
Γιατί ναι, ναι είναι! - ώρα να κάνεις τον χαρούμενο χορό σου:)
Ευχαριστούμε που διαβάσατε και απολαύστε τον νέο σας βοηθό στάθμευσης!
Βήμα 9: Προαιρετικό βήμα και χρήσιμες εντολές
Προαιρετικό Βήμα - Πρόσθετο FTP για Υψηλό Κείμενο
Για να επεξεργαστείτε τα αρχεία δέσμης ενεργειών Python απευθείας στο pi, μπορούμε να εγκαταστήσουμε το πρόσθετο FTP που ονομάζεται Sublime SFTP by Wbond. Μπορείτε να κατεβάσετε αυτό το πρόσθετο ακολουθώντας τις οδηγίες εδώ
Για να ρυθμίσετε αυτό το πρόσθετο, πρέπει να διαμορφώσετε τα διαπιστευτήρια FTP στο αρχείο | SFTP/FTP | Διαμόρφωση διακομιστή… σελίδα.
Για τη ρύθμισή μας χρησιμοποιήσαμε:
"type": "sftp", "sync_down_on_open": true, "sync_same_age": true, "host": "192.168.0.200", "user": "pi", "password": "YOUR_RPI_PASSWORD_HERE", "port": "22", "remote_path": "/home/pi/", "file_permissions": "664", "dir_permissions": "775", Χρησιμοποιήστε Ctrl+S ή Αρχείο | Αποθήκευση για αποθήκευση αυτών των πληροφοριών. Θα σας ζητηθεί ένα όνομα για να καλέσετε αυτήν τη διαμόρφωση. Το ονομάσαμε απλά "rpizw_0_200"
Τώρα για να συνδεθείτε στο pi από το SublimeText, μεταβείτε στο Αρχείο | SFTP/FTP | Περιήγηση διακομιστή…
Επιλέξτε από τη λίστα των αναδυόμενων επιλογών. Θα θέλετε να επιλέξετε το προφίλ με το όνομα που καθορίσατε παραπάνω;) Ακολουθήστε τις οδηγίες για να περιηγηθείτε στους φακέλους και να επεξεργαστείτε το αρχείο που θέλετε.
Χρήσιμα πρόσθετα
Χρήσιμες εντολές Linux για χρήση στο pi.
Πριν αποσυνδέσετε το pi, ΠΑΝΤΑ φροντίστε να το κλείσετε για να μην πάρετε αλλοίωση αρχείων στην κάρτα microSD. Εισαγάγετε αυτήν την εντολή:
sudo κλείσιμο τώρα
και περιμένετε να σβήσει το πράσινο led πριν αποσυνδέσετε το ρεύμα. Ομοίως, για επανεκκίνηση, μπορείτε να εισαγάγετε:
sudo επανεκκίνηση τώρα
Για να παραθέσετε αρχεία σε έναν κατάλογο, χρησιμοποιήστε αυτό:
ls
Μπορείτε να βρείτε άλλες χρήσιμες εντολές Linux εδώ
Συνιστάται:
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Έξυπνο σύστημα στάθμευσης βασισμένο στο IoT χρησιμοποιώντας NodeMCU ESP8266: 5 βήματα
Έξυπνο σύστημα στάθμευσης βασισμένο στο IoT χρησιμοποιώντας το NodeMCU ESP8266: Στις μέρες μας η εξεύρεση χώρων στάθμευσης σε πολυσύχναστες περιοχές είναι πολύ δύσκολη και δεν υπάρχει σύστημα για να λάβετε τις λεπτομέρειες της διαθεσιμότητας στάθμευσης στο διαδίκτυο. Φανταστείτε αν μπορείτε να λάβετε πληροφορίες διαθεσιμότητας θέσης στάθμευσης στο τηλέφωνό σας και δεν έχετε περιαγωγή για έλεγχο
Έξυπνος χώρος στάθμευσης με βάση το IOT: 7 βήματα
Έξυπνος χώρος στάθμευσης με βάση το IOT: Από τους Tanmay Pathak και Utkarsh Mishra. Student @ International Institute of Information Technology, Hyderabad (IIITH) ΠΕΡΙΛΗΗ Εφαρμόσαμε με επιτυχία ένα έξυπνο σύστημα στάθμευσης που βασίζεται σε IOT. Με τη βοήθεια μεμονωμένων κόμβων (αισθητήρες εγγύτητας)
Σύστημα συναγερμού στάθμευσης οχημάτων με χρήση αισθητήρα PIR- DIY: 7 βήματα (με εικόνες)
Σύστημα συναγερμού στάθμευσης οχημάτων με χρήση αισθητήρα PIR- DIY: Έχετε αντιμετωπίσει ποτέ πρόβλημα κατά τη στάθμευση για όχημα όπως αυτοκίνητο, φορτηγό, μοτοσικλέτα ή οποιοδήποτε άλλο, τότε σε αυτό το διδακτικό θα σας δείξω πώς να ξεπεράσετε αυτό το πρόβλημα χρησιμοποιώντας έναν απλό συναγερμό στάθμευσης οχημάτων σύστημα που χρησιμοποιεί αισθητήρα PIR. Σε αυτό το σύστημα όταν
Περιστροφικό σύστημα στάθμευσης αυτοκινήτων: 18 βήματα
Περιστροφικό σύστημα στάθμευσης αυτοκινήτων: Είναι απλό να λειτουργεί με τον οδηγό να σταθμεύει και να αφήνει το όχημα στο σύστημα στο επίπεδο του εδάφους. Μόλις ο οδηγός εγκαταλείψει την ενσωματωμένη ζώνη ασφαλείας, το όχημα σταθμεύει αυτόματα από το σύστημα περιστρέφοντας για να σηκώσει το σταθμευμένο αυτοκίνητο μακριά