Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι το τέντωμα ρολογιού;
- Βήμα 2: Λίγη βοήθεια από γουρούνια που πετούν
- Βήμα 3: Έκδοση TL; DR
- Βήμα 4: Εγκατάσταση
- Βήμα 5: Εγκαταστήστε το Pigpio
- Βήμα 6: Προαιρετικό: Dev System Setup
- Βήμα 7: Ρύθμιση του WinSCP
- Βήμα 8: (w) λήψη του Κώδικα
- Βήμα 9: Σημείωση για τους μελλοντικούς χάκερ
Βίντεο: TinyLiDAR στο Pi ;: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Γεια σου και πάλι!
Λοιπόν, τώρα που περάσατε ποιοτικό χρόνο με το tinyLiDAR και το Arduino - το Raspberry Pi σας ίσως νιώθει λίγο μόνος;)
Το pi έχει θύρα I2C σωστά; Γιατί λοιπόν να μην το συνδέσετε και να το δοκιμάσετε εκεί;! Καλό σχέδιο, αλλά αν έχετε ήδη δοκιμάσει - ίσως έχετε παρατηρήσει ότι τα δεδομένα φαίνονται λίγο περίεργα.
Ναι, το pi έχει ήδη ενσωματώσει 1.8K pull-ups, οπότε θα πρέπει να κόψετε τα μαξιλάρια I2C στο tinyLiDAR για να βγείτε από το κύκλωμα των 4.7K pull-ups-ανατρέξτε στο εγχειρίδιο αναφοράς για λεπτομέρειες. Δεν είναι όμως αυτός ο λόγος για τα περίεργα δεδομένα.
Αυτό συμβαίνει επειδή ο δίαυλος I2C του pi δεν ανταποκρίνεται ακριβώς στις προδιαγραφές. Είναι έτσι από τότε που το pi παρουσιάστηκε για πρώτη φορά λόγω του σετ τσιπ Broadcom. Από την αρχή δεν υποστήριξαν σωστά μια λειτουργία I2C που ονομάζεται "ρολόι τέντωμα".
Μπορείτε να διαβάσετε περισσότερα για αυτό το σφάλμα h/w εδώ.
Βήμα 1: Τι είναι το τέντωμα ρολογιού;
Όπως ίσως γνωρίζετε, ο δίαυλος I2C αποτελείται από 3 καλώδια. Αυτά αφορούν ρολόι (SCL), δεδομένα (SDA) και κοινό έδαφος. Οι γραμμές ρολογιού και δεδομένων είναι τύπου ανοιχτού συλλέκτη/ανοιχτής αποστράγγισης, πράγμα που σημαίνει ότι χρειάζονται αντιστάσεις έλξης συνδεδεμένες με μια θετική ράγα τροφοδοσίας για να τους δώσουν μια λογική υψηλή τιμή. Για να μειωθεί η λογική, οποιαδήποτε συσκευή στο δίαυλο μπορεί να τραβήξει τη γραμμή προς το κοινό έδαφος.
Σύμφωνα με το πρότυπο I2C, η κύρια συσκευή είναι αυτή που παρέχει το σήμα του ρολογιού στη γραμμή SCL, αλλά εάν αυτός ο ρυθμός είναι πολύ γρήγορος, τότε η συσκευή Slave επιτρέπεται να την επιβραδύνει κρατώντας απλώς πατημένο το ρολόι μέχρι να είναι έτοιμη να αντιμετωπίσει με τις πληροφορίες. Αυτό είναι που λέμε "τέντωμα ρολογιού".
Επισήμως, το τέντωμα ρολογιού αναφέρεται ως προαιρετικό χαρακτηριστικό στο πρότυπο I2C, αλλά είναι ένα πολύ συνηθισμένο χαρακτηριστικό που είναι απαραίτητο για τους περισσότερους «έξυπνους» σκλάβους που χρειάζονται περισσότερο χρόνο για την παροχή δεδομένων αισθητήρα κ.λπ.
Βήμα 2: Λίγη βοήθεια από γουρούνια που πετούν
Για να αντιμετωπίσουμε αυτό το σφάλμα I2C h/w, βρήκαμε μια ωραία μικρή δωρεάν βιβλιοθήκη που ονομάζεται "pigpio". Είναι μια πολύ δημοφιλής, γρήγορη και ελαφριά βιβλιοθήκη γραμμένη σε C. Λειτουργεί ως δαίμονας φόντου για το Raspberry Pi και μας επιτρέπει να ελέγχουμε το I2C καθώς και οποιοδήποτε GPIO εύκολα από τον python. Η βιβλιοθήκη αντιμετωπίζει τις θύρες I2C περισσότερο σαν GPIO και έτσι έχει παρακάμψει το σφάλμα τεντώματος ρολογιού I2C. Όπως όλα τα λογισμικά για το pi, η βιβλιοθήκη pigpio είναι μόνο μια απλή "συμπερίληψη", οπότε πάμε!
Βήμα 3: Έκδοση TL; DR
Ρύθμιση PiEnable SSH για σύνδεση με Putty Εγκατάσταση βιβλιοθήκης pigpio Λήψη μικροσκοπικού αρχείου zip LiDAR Αποσυμπίεση και εκτέλεση από το Putty
Προαιρετικός:
Εγκατάσταση SublimeText με WinSCP
Βήμα 4: Εγκατάσταση
Για το Raspberry Pi 3, χρησιμοποιήσαμε το τυπικό λειτουργικό σύστημα New Out Of the Box (NOOBS Lite v2.4). Περιέχει μια προεπιλεγμένη έκδοση του Python που είναι ήδη εγκατεστημένη για εμάς, έτοιμη για κωδικοποίηση. Μπορείτε να κατεβάσετε το λειτουργικό σύστημα από εδώ.
Μόλις εγκατασταθεί σε κάρτα micro SD πρέπει να συνδέσετε πληκτρολόγιο και οθόνη για να μπορέσετε να συνδεθείτε στο pi για πρώτη φορά:
Όνομα χρήστη: pi Κωδικός πρόσβασης: βατόμουρο
Στη συνέχεια, μπορείτε να ξεκινήσετε έναν ασφαλή διακομιστή κελύφους (SSH) με αυτές τις εντολές:
sudo systemctl ενεργοποίηση sshsudo systemctl εκκίνηση ssh
Στη συνέχεια θα χρειαστούμε τη διεύθυνση IP του pi στο δίκτυό σας για να μπορέσουμε να συνδεθούμε με το PuTTY. Για να το αποκτήσετε, πληκτρολογήστε:
όνομα κεντρικού υπολογιστή -I
Και αναζητήστε μια διεύθυνση μορφής IPv4 (Για τη ρύθμισή μας ήταν: 192.168.0.27)
Τα παραπάνω βήματα θα επιτρέψουν στο pi να τρέξει "χωρίς κεφάλι", πράγμα που σημαίνει ότι δεν θα χρειαστεί να πληκτρολογήσετε ξανά σε αυτό το πληκτρολόγιο και επίσης δεν υπάρχει πλέον ανάγκη για οθόνη βίντεο. Θα συνδεθούμε μέσω του δικτύου μέσω μιας ασφαλούς σύνδεσης SSH στο μέλλον. Η παραπάνω εντολή προκαλεί την εκκίνηση του διακομιστή SSH αυτόματα κάθε φορά που το pi ενεργοποιείται. Αυτό είναι βολικό για εμάς κατά την κωδικοποίηση, αλλά μπορεί να αποτελέσει κίνδυνο για την ασφάλεια αργότερα (το να είσαι παρανοϊκός είναι καλό), οπότε όταν είσαι έτοιμος, μπορείς να απενεργοποιήσεις αυτή τη λειτουργία αυτόματης εκκίνησης SSH χρησιμοποιώντας αυτήν την εντολή:
sudo systemctl απενεργοποίηση ssh
Αυτή η εντολή πρέπει να πληκτρολογηθεί στο πληκτρολόγιο που συνδέεται φυσικά με το pi.
Το PuTTY είναι ένα τερματικό πρόγραμμα που απαιτείται για την έκδοση εντολών από τον υπολογιστή στο pi, οπότε πρέπει να πάρετε το πιο πρόσφατο αντίγραφο από εδώ.
Εγκαταστήστε και ξεκινήστε το PuTTY. Θα χρειαστεί να πληκτρολογήσετε τη διεύθυνση IP από πάνω στην καταχώριση Όνομα κεντρικού υπολογιστή και να χρησιμοποιήσετε τις προεπιλεγμένες ρυθμίσεις SSH. Δώστε στη συνεδρία οποιοδήποτε όνομα θέλετε και πατήστε αποθήκευση. Στη συνέχεια, πατήστε φόρτωση και κάντε κλικ στο OPEN για να ξεκινήσετε μια συνεδρία.
Θα πρέπει να σας οδηγήσει στην οθόνη σύνδεσης για το pi. Χρησιμοποιήστε το ίδιο όνομα χρήστη και κωδικό πρόσβασης που χρησιμοποιήσατε νωρίτερα.
Βήμα 5: Εγκαταστήστε το Pigpio
Τώρα, το μόνο πράγμα που πρέπει να εγκαταστήσουμε μετά από αυτό θα είναι η βιβλιοθήκη pigpio και μπορούμε να το κάνουμε χρησιμοποιώντας τις ακόλουθες εντολές.
Συμβουλή: Μπορείτε απλά να αντιγράψετε [ctrl+c] και να επικολλήσετε [δεξί κλικ του ποντικιού] αυτές και οποιεσδήποτε άλλες εντολές στο τερματικό PuTTY
sudo apt-get ενημέρωση
sudo apt-get install pigpio python-pigpio python3-pigpio
Βήμα 6: Προαιρετικό: Dev System Setup
Ορίστε λοιπόν μια συμβουλή που μπορεί να σας βοηθήσει να εξοικονομήσετε λίγο χρόνο στον κόσμο ανάπτυξης κώδικα. Μισούμε πραγματικά τους επεξεργαστές κειμένου που βασίζονται στο unix. Η διεπαφή χρήστη είναι συνήθως αδέξια και οι γραμματοσειρές είναι χάλια. Το GNU nano είναι σχεδόν υποφερτό, αλλά κανένα δεν είναι τόσο εκλεπτυσμένο όσο το SublimeText που μπορείτε να κατεβάσετε από εδώ
Έχουμε ένα περιβάλλον ανάπτυξης που βασίζεται σε παράθυρα και μας αρέσει να χρησιμοποιούμε αυτόν τον επεξεργαστή κειμένου όποτε είναι δυνατόν. Έτσι, η συμβουλή εδώ είναι στη ρύθμιση του συστήματός σας για να μπορείτε να χρησιμοποιήσετε αυτόν τον επαγγελματικό επεξεργαστή κειμένου εγγενώς στην επιφάνεια εργασίας των Windows για να κωδικοποιήσετε απευθείας στο ακέφαλο pi σας.
Πως? Χρησιμοποιώντας μια δωρεάν εφαρμογή που ονομάζεται WinSCP, την οποία μπορείτε να κατεβάσετε από εδώ
Βήμα 7: Ρύθμιση του WinSCP
Το WinSCP είναι ένα ασφαλές πρόγραμμα μεταφοράς αρχείων που δίνει μια γραφική αναπαράσταση των αρχείων που υπάρχουν στο rpi σας, όπως αυτό που βλέπετε στον διαχειριστή αρχείων στον υπολογιστή σας με Windows.
Προχωρήστε λοιπόν και εγκαταστήστε τα δύο παραπάνω προγράμματα επίσης τώρα.
Στη συνέχεια θα πρέπει να κάνετε μερικές προσαρμογές για να λειτουργήσουν όλες σωστά.
Για το WinSCP, μπορείτε να κάνετε κλικ στη ΝΕΑ τοποθεσία. Θα χρησιμοποιήσουμε τις προεπιλεγμένες ρυθμίσεις SFTP και χρειάζεται μόνο να εισαγάγετε τη διεύθυνση IP (για όνομα κεντρικού υπολογιστή) του pi σας και το όνομα σύνδεσης (για όνομα χρήστη). Μπορείτε να επιλέξετε να αφήσετε τον κωδικό πρόσβασης κενό αν θέλετε - θα σας ζητά τον κωδικό πρόσβασης κάθε φορά που συνδέεστε.
Στη συνέχεια, κάντε κλικ στο κουμπί για προχωρημένους και, στη συνέχεια, κάντε κλικ στην αριστερή πλευρά για τις ρυθμίσεις του περιβλήματος περιβάλλοντος. Στη δεξιά πλευρά αλλάξτε την επιλογή "Προεπιλογή" προς τα κάτω στην επιλογή "sudo su -". Αυτό θα επιτρέψει την εγγραφή αλλαγών στο pi σας χωρίς σφάλματα άδειας όταν πατήσετε αποθήκευση από το SublimeText.
Ορίστε το SublimeText ως προεπιλεγμένο πρόγραμμα επεξεργασίας στο WinSCP
Για να το κάνετε αυτό, κάντε κλικ στο κουμπί Εργαλεία στην οθόνη ρυθμίσεων σύνδεσης WinSCP όπου ξεκινήσατε το παράθυρο διαλόγου NewSite. Οι δύο λήψεις οθόνης δείχνουν πώς έχει ρυθμιστεί αυτό, αλλά βασικά θα κάνετε κλικ για να διαμορφώσετε την προτίμηση Editors και προσθέστε έναν επεξεργαστή που θα είναι εξωτερικός επεξεργαστής. Στη συνέχεια, μπορείτε να αναζητήσετε το αρχείο.exe όπου βρίσκεται αυτός ο επεξεργαστής στον υπολογιστή σας.
Βήμα 8: (w) λήψη του Κώδικα
Μόλις τελειώσετε, προχωρήστε και συνδεθείτε με το WinSCP και το PuTTY.
Τώρα είμαστε έτοιμοι να ξεκινήσουμε τον κωδικό μας tinyLiDAR.
Δημιουργήστε έναν κατάλογο που ονομάζεται tinyLiDAR κάτω από τον κατάλογο home/pi.
Μπορείτε να το κάνετε αυτό κάνοντας δεξί κλικ στη δεξιά πλευρά της οθόνης WinSCP και επιλέξτε New / Directory.
Τώρα στο τερματικό PuTTY μπορείτε να πληκτρολογήσετε
cd t
και πατήστε tab για να το αφήσετε να συμπληρώσει αυτόματα την εντολή σας για να μεταβείτε στον κατάλογο tinyLiDAR.
Μόλις εδώ πληκτρολογήσετε τα ακόλουθα:
wget
για να λάβετε τα αρχεία απευθείας από τον διακομιστή μας. Στη συνέχεια, μπορούμε να τα αποσυμπιέσουμε πληκτρολογώντας
αποσυμπιέζω r
και πατήστε tab για να συμπληρώσετε ξανά αυτόματα το όνομα
Για να το εκτελέσετε, απλά πληκτρολογήστε
python tlgui.py
Και το tinyLiDAR σας θα ανταποκρίνεται σε κάθε εντολή σας στο pi:)
Βήμα 9: Σημείωση για τους μελλοντικούς χάκερ
Προχωρήστε και ρίξτε μια ματιά κάτω από το καπό κάνοντας διπλό κλικ σε οποιοδήποτε από τα αρχεία κώδικα από το WinSCP. Είναι αυτά με επέκταση.py. Τα αρχεία πρέπει να ανοίγουν στο SublimeText απευθείας στον υπολογιστή σας. Αλλάξτε ό, τι σας αρέσει και στη συνέχεια πατήστε αποθήκευση. Οι αλλαγές σας θα αποθηκευτούν απευθείας στο pi σας.
Όταν είναι έτοιμο, το εκτελείτε ξανά χρησιμοποιώντας το πλήκτρο επάνω βέλους για την τελευταία πληκτρολογημένη εντολή ή απλά πληκτρολογήστε το ξανά και πατήστε enter:
python tlgui.py
Μπορεί να έχετε παρατηρήσει ότι η διάταξη του Terminal GUI φαίνεται λίγο πιο ωραία από την έκδοση Arduino. Είναι επειδή το PuTTY υποστηρίζει χαρακτήρες unicode, οπότε μπορέσαμε να χρησιμοποιήσουμε μερικούς επιπλέον χαρακτήρες ελέγχου δρομέα για να φαίνεται πιο εκλεπτυσμένος.
Υπάρχει επίσης μια πρόσθετη εντολή εδώ (σε σύγκριση με την έκδοση Arduino) η οποία είναι "dc" για τη λειτουργία συνεχούς ανάγνωσης. Δοκιμάστε το και δείτε τι σκέφτεστε.
Αυτό είναι όλο!
Ευχαριστώ που διαβάσατε και απολαύστε το hacking στο pi:)
Συνιστάται:
Πώς να μετακινηθείτε στο TEXT στο I2C 0.91 "128X32 OLED DISPLAY: 6 βήματα
Πώς να μετακινηθείτε στο TEXT σε I2C 0.91 "128X32 OLED DISPLAY: Σε αυτό το σεμινάριο θα μάθουμε πώς να μετακινείτε το TEXT στο I2C 0.91" 128X32 OLED DISPLAY χρησιμοποιώντας λογισμικό Arduino και Visuino. Δείτε το βίντεο
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου που βασίζεται στο Web, συγχρονισμένος διακομιστής χρόνου: 11 βήματα (με εικόνες)
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένος διακομιστής χρόνου: Η ιστορία αυτού του ρολογιού πηγαίνει πολύ πίσω-περισσότερα από 30 χρόνια. Ο πατέρας μου πρωτοστάτησε σε αυτή την ιδέα όταν ήμουν μόλις 10 ετών, πολύ πριν από την επανάσταση των LED - πίσω όταν τα LED ήταν 1/1000 της φωτεινότητας της τρέχουσας εκτυφλωτικής λαμπρότητας τους. Μια αληθεια
TinyLiDAR στο γκαράζ σας!: 10 βήματα
TinyLiDAR στο γκαράζ σας!: DIY WiFi Garage Door Opener Project Ο κόσμος του IoT μόλις αρχίζει να εκρήγνυται - κάθε τεχνολογική εταιρεία σε όλο τον κόσμο προσπαθεί να καταλάβει πώς θα ταιριάζει σε αυτόν τον νέο κόσμο. Είναι απλώς μια μεγάλη ευκαιρία! Έτσι, για αυτό το διδακτικό
Μπορώ να χρησιμοποιήσω το TinyLiDAR στο Scratch ;: 3 βήματα
Μπορώ να χρησιμοποιήσω το TinyLiDAR In … Scratch ;: Λάβαμε αιτήματα κάθε τόσο για να ρωτήσουμε αν το tinyLiDAR θα λειτουργήσει στη συγκεκριμένη υπολογιστική πλατφόρμα τους. Παρόλο που ο tinyLiDAR σχεδιάστηκε ως απλός στη χρήση αισθητήρας LiDAR για το Arduino UNO, δεν υπάρχει τίποτα που να τον εμποδίζει να χρησιμοποιηθεί σε άλλες πλατφόρμες
Τοποθετήστε μια οθόνη LCD στο τραπέζι σας στο πόκερ: 18 βήματα (με εικόνες)
Τοποθετήστε μια οθόνη LCD στο τραπέζι πόκερ: Αν είστε σαν εμάς, σας αρέσει να διοργανώνετε ένα τουρνουά πόκερ στο σπίτι κάθε τόσο. Οι φίλοι μου και εγώ το κάνουμε εδώ και μερικά χρόνια και έχουμε συνηθίσει να χρησιμοποιούμε έναν υπολογιστή ή φορητό υπολογιστή ως τυφλό ρολόι και να συμβαδίζουμε με την κατάσταση παιχνιδιού και παικτών