Πίνακας περιεχομένων:

Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε βήματα TtyAMA0 έως BCM GPIO 14 και GPIO 15: 9
Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε βήματα TtyAMA0 έως BCM GPIO 14 και GPIO 15: 9

Βίντεο: Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε βήματα TtyAMA0 έως BCM GPIO 14 και GPIO 15: 9

Βίντεο: Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε βήματα TtyAMA0 έως BCM GPIO 14 και GPIO 15: 9
Βίντεο: Raspberry Pi Tutorial #004 [greek\ελληνικά] ( Εγκαταστήστε image στην κάρτα SD ) 🔴🚨 2024, Νοέμβριος
Anonim
Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε TtyAMA0 to BCM GPIO 14 και GPIO 15
Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε TtyAMA0 to BCM GPIO 14 και GPIO 15
Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε TtyAMA0 to BCM GPIO 14 και GPIO 15
Raspberry PI 3 - Ενεργοποίηση σειριακών επικοινωνιών σε TtyAMA0 to BCM GPIO 14 και GPIO 15

Πρόσφατα είχα ενδιαφέρον να ενεργοποιήσω το UART0 στο Raspberry Pi (3b), ώστε να μπορώ να το συνδέσω απευθείας σε μια συσκευή επιπέδου σήματος RS-232 χρησιμοποιώντας μια τυπική υποδοχή 9 ακίδων d-sub χωρίς να χρειαστεί να περάσω μέσω USB στο RS-232 προσαρμογέας.

Μέρος του ενδιαφέροντός μου εδώ ήταν επίσης να μπορώ να συνδέσω είτε έναν μετατροπέα επιπέδου RS-232 (MAX3232) είτε μια συσκευή RS-485 (MAX485).

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

Τελικά, μέσω των αναζητήσεων Google μαζί με το "Δοκιμή και σφάλμα", κατάφερα να συγκεντρώσω όλες τις λεπτομέρειες για να λειτουργήσω με ικανοποίηση, αλλά οι πληροφορίες δεν ήταν σε ένα συνοπτικό έγγραφο που περιείχε όλα τα βήματα για να συμβεί αυτό.

Παραθέτω εδώ τα βήματα που έκανα για να λειτουργήσει αυτό για μένα.

Προμήθειες

1 - Raspberry Pi. Χρησιμοποίησα ένα μοντέλο 3b.. αλλά αυτή η διαδικασία θα πρέπει να λειτουργεί με τα περισσότερα Pi ειδικά με εκείνες με τις πιο πρόσφατες εκδόσεις του Raspberry Pi IOS (πρώην Raspian).

2 - Ένας "μίνι" μετατροπέας επιπέδου RS -232 - TTL σε RS -232 - χρησιμοποίησα ένα μικρό PCB φορτωμένο με IC MAX 3232 που αγόρασα από το eBay. Το δοκίμασα επίσης με επιτυχία με ένα TTL σε RS -485 μετατροπέας - αγοράστηκε επίσης από το eBay.

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

Βήμα 1: Εγκαταστήστε ένα αντίγραφο FRESH στο Raspbian στην κάρτα μνήμης σας

Εγκαταστήστε ένα FRESH Copy στο Raspbian στην κάρτα μνήμης σας
Εγκαταστήστε ένα FRESH Copy στο Raspbian στην κάρτα μνήμης σας

Ξεκίνησα εγκαθιστώντας ένα φρέσκο / πιο ενημερωμένο αντίγραφο του Raspberry Pi IOS (πρώην Raspian) στην κάρτα μνήμης μου. Επέλεξα να μην ακολουθήσω τη διαδρομή NOOBS.

Κατεβάστε και εγκαταστήστε το εργαλείο Imager

www.raspberrypi.org/downloads/

Κατεβάστε, αποσυμπιέστε και εγκαταστήστε στην κάρτα μνήμης την εικόνα του Raspberry Pi IOS.

Μετά την εκκίνηση, ελέγξτε και ενημερώστε όπως απαιτείται…

Βήμα 2: Ενεργοποιήστε τη σειριακή θύρα Raspberry Pi - χρησιμοποιώντας το GUI

Ενεργοποιήστε τη σειριακή θύρα Raspberry Pi - χρησιμοποιώντας το GUI
Ενεργοποιήστε τη σειριακή θύρα Raspberry Pi - χρησιμοποιώντας το GUI
Ενεργοποιήστε τη σειριακή θύρα Raspberry Pi - χρησιμοποιώντας το GUI
Ενεργοποιήστε τη σειριακή θύρα Raspberry Pi - χρησιμοποιώντας το GUI

Από προεπιλογή, σε μια νέα εγκατάσταση Raspberry Pi IOS το UART0 προορίζεται για το "Logon Shell". Αυτό σημαίνει ότι θα σας δώσει κάποια πρόσβαση / έλεγχο του Pi μέσω συνδυασμού σειριακής θύρας / τερματικού.

Για να χρησιμοποιήσετε το UART0 για άλλες εφαρμογές, πρέπει να "απενεργοποιήσετε" αυτήν τη σύνδεση στο κέλυφος σύνδεσης. Αυτό συμβαίνει σε μερικά αρκετά απλά βήματα.

Ο πιο γρήγορος τρόπος για να ενεργοποιήσετε το "Serial Port" είναι να το κάνετε μέσω του GUI.

Από το "Βατόμουρο - Αναπτυσσόμενο μενού", επιλέξτε "Προτιμήσεις" και, στη συνέχεια, "Διαμόρφωση Raspberry Pi"

Από εκεί, μεταβείτε στην καρτέλα "Διεπαφές" και "Ενεργοποίηση" της σειριακής θύρας (κάνοντας κλικ στο κατάλληλο κουμπί επιλογής.

Κάντε κλικ στο OK για έξοδο και, στη συνέχεια, πραγματοποιήστε επανεκκίνηση.

OR.. μπορείτε να ακολουθήσετε αυτήν τη μέθοδο…

Βήμα 3: Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)

Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)
Μια εναλλακτική μέθοδος για την ενεργοποίηση της σειριακής θύρας (και απενεργοποίηση του κελύφους σύνδεσης)

Αυτή η μέθοδος είναι για αναφορά - δεν είναι απαραίτητη, αλλά καλό είναι να γνωρίζετε.

== == ==

Μια εναλλακτική μέθοδος για να απενεργοποιήσετε την κονσόλα χρησιμοποιώντας το UART0 κατά την εκκίνηση.

χρήση:

sudo raspi-config

Επιλέξτε την επιλογή #5 - Επιλογές διασύνδεσης ==> Επιλογή

Επιλέξτε P6 Serial ==> Επιλογή

Απάντηση ΟΧΙ σε: Θα θέλατε ένα κέλυφος σύνδεσης να είναι προσβάσιμο μέσω του σειριακού;

Απάντηση ΝΑΙ στο: Θα θέλατε να είναι ενεργοποιημένο το υλικό σειριακής θύρας;

Η απάντηση θα είναι:

Το κέλυφος σειριακής σύνδεσης είναι απενεργοποιημένο

Η σειριακή διεπαφή είναι ενεργοποιημένη

Επιλέξτε ΟΚ

Επιλέξτε Τέλος

Βήμα 4: Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0

Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0
Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0
Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0
Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0
Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0
Απενεργοποιήστε το Bluetooth - Απελευθερώστε το UART0 και το Δωρεάν για TtyAMA0

Το δεύτερο μέρος της διαδικασίας είναι επίσης να αποσυνδέσετε το Bluetooth από το UART0.

Σε αυτήν τη σελίδα "ΔΙΑΜΟΡΦΩΣΗ UART" θα χρειαστεί να αποσυνδέσετε τη συσκευή Bluetooth από το UART0 και να απελευθερώσετε το UART0 για το ttyAMA0 - Εάν χρειαστεί, μπορείτε να μετακινήσετε το Bluetooth στο "mini -UART"

Συνεχίστε με την επεξεργασία του αρχείου με το όνομα "config.txt" (βρίσκεται στον κατάλογο "boot") και προσθέστε ΜΙΑ γραμμή στο κάτω μέρος της σελίδας:

dtoverlay = απενεργοποίηση-bt

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

dtoverlay = miniuart-bt

Ελέγξτε ξανά την ορθογραφία σας και, στη συνέχεια, ΑΠΟΘΗΚΕΥΣΤΕ το αρχείο κατά την έξοδο και επανεκκινήστε.

Σε αυτό το σημείο, θα πρέπει να πάτε καλά.

Βήμα 5: RPI Pin-out για τη θύρα UART

RPI Pin-out για τη θύρα UART
RPI Pin-out για τη θύρα UART

Σύμφωνα με τον ιστότοπο "pinout.xyz", οι ακίδες Raspberry Pi UART0 είναι προσβάσιμες στις ακόλουθες ακίδες.

Οι καρφίτσες UART σε λειτουργία BCM είναι: RPI Pin #8 / GPIO14 ==> TXD

RPI Pin #10 / GPIO15 ==> RXD

Θυμηθείτε ότι για αυτές τις καρφίτσες, είναι "επίπεδα TTL 3,3 Volt".. αυτά ΔΕΝ μπορούν να χρησιμοποιηθούν για οδήγηση και λήψη από επίπεδο RS-232 ή συσκευή επιπέδου RS-422/RS-485. Η προσπάθεια να γίνει αυτό θα προκαλέσει καύση του UART του σκάφους σας και πιθανότατα θα πάρει το τσιπ επεξεργαστή μαζί του.

ΠΡΕΠΕΙ να χρησιμοποιήσετε μετατροπέα επιπέδου.

Για να συνδεθείτε σε επίπεδο επιπέδου RS-232 ή σε επίπεδο επιπέδου RS-422/RS-485 χρειάζεστε έναν κατάλληλο μετατροπέα επιπέδου.

Βήμα 6: Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας

Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη επιπέδου RS-232 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας

Για μετατροπές επιπέδων TTL σε RS-232 χρησιμοποιώ τον ακόλουθο μετατροπέα.

Μετατροπέας επιπέδου Mini RS232 σε TTL βασισμένος σε MAX3232.

Αυτό το στοιχείο μπορεί να τροφοδοτηθεί από 3,3 VDC ή ακόμη και 5 VDC (και τα δύο διατίθενται από συγκεκριμένες ακίδες στο RPI σας) και στην πραγματικότητα χρησιμοποιούν πολύ λίγο ρεύμα.

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

Ανατρέξτε στις συνημμένες φωτογραφίες και αφιερώστε χρόνο για να συνδέσετε προσεκτικά τις ακίδες Raspberry Pi στις κατάλληλες ακίδες της μονάδας. Απλώς γνωρίζετε ότι αυτή η συσκευή θα λειτουργεί είτε σε 3.3VDC είτε σε 5 VDC - και τα δύο διαθέσιμα στο RPI (ανατρέξτε στο διάγραμμα Pin -out).

ΠΡΟΕΙΔΟΠΟΙΗΣΗ:

Αγόρασα πολλές 10 από αυτές τις μονάδες από το eBay και ΔΕΝ μπόρεσα να κάνω καμία από αυτές να λειτουργήσει. Στην επιφάνεια φαίνονται σαν να είναι αρκετά εύκολο να τα χρησιμοποιήσετε, αλλά όχι. Αφού αγωνίστηκα μαζί τους για λίγο, βρήκα πολλές λεπτομέρειες για το FAKE MAX3232 διαθέσιμο on-line.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

ΔΕΝ προτείνω αυτό το στοιχείο.

Βήμα 7: Προσθήκη επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας

Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας
Προσθήκη ενός επιπέδου RS-485 στη συσκευή μετατροπής επιπέδου TTL στο Raspberry Pi σας

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

Για μετατροπές επιπέδων TTL σε RS-232 χρησιμοποιώ τον ακόλουθο μετατροπέα.

Ένα MAX485 βασίζει τον μετατροπέα επιπέδου RS485 σε επίπεδο TTL. Και πάλι αυτό το στοιχείο μπορεί να τροφοδοτηθεί από 3,3 VDC ή ακόμη και 5 VDC (και τα δύο διατίθενται από συγκεκριμένες ακίδες στο RPI σας) και στην πραγματικότητα χρησιμοποιούν πολύ λίγο ρεύμα. Το φύλλο δεδομένων για το MAX485 παρέχει πολύτιμες λεπτομέρειες για τη λειτουργία του, αλλά στην πραγματικότητα δεν απαιτείται κωδικοποίηση για να γίνει αυτό

Ανατρέξτε στις συνημμένες φωτογραφίες και αφιερώστε χρόνο για να συνδέσετε προσεκτικά τις ακίδες Raspberry Pi στις κατάλληλες ακίδες της μονάδας. Απλώς γνωρίζετε ότι αυτή η συσκευή θα λειτουργεί είτε σε 3.3VDC είτε σε 5 VDC - και τα δύο διαθέσιμα στο RPI (ανατρέξτε στο διάγραμμα Pin -out).

Σημειωτέον-σε αντίθεση με το RS-232, το RS-485 δεν έχει έναν "τυπικό" τύπο σύνδεσης που σχετίζεται με αυτό. Η ονοματολογία είναι τυπικά "Β-" και "Α+", αλλά να γνωρίζετε ότι δεν ακολουθούν όλοι οι προμηθευτές την ίδια ονοματολογία. Το RS -485 εκτελείται σε σχήμα σήματος "Differential Pair" - Περισσότερες λεπτομέρειες για αυτό είναι διαθέσιμες εδώ. Η "άγρια δύση" ζει στην κοιλάδα RS-485.

Βήμα 8: Τώρα, είναι η σειρά σου

Θα πρέπει τώρα να μπορείτε να συνδέσετε το Raspberry Pi απευθείας σε μια εξωτερική συσκευή της επιλογής σας. Υπάρχουν ΠΟΛΛΑ από αυτά που χρησιμοποιούνται ακόμη και σήμερα.

Το πώς θα το κάνετε αυτό εξαρτάται από εσάς…

Για αρχή, ελέγξτε το "Minicom" ή το "CuteCom" ή ελέγξτε τις δυνατότητες χρησιμοποιώντας το "NodeRED".

Βήμα 9: Synopsys

Μη διστάσετε να αφήσετε σχόλια ή προτάσεις / διορθώσεις. Θα το εκτιμούσα.

Συνιστάται: