- Απαιτήσεις υλικού
- Διαμόρφωση μονάδων XBee χρησιμοποιώντας XCTU
- Διάγραμμα κυκλώματος για το μέρος δέκτη
- Ρύθμιση Raspberry Pi για σειριακή επικοινωνία
- Προγραμματισμός Raspberry Pi για επικοινωνία XBee
- Δοκιμή της ασύρματης επικοινωνίας XBee χρησιμοποιώντας Raspberry Pi
Σε προηγούμενο σεμινάριο, συνδέσαμε τη μονάδα XBee με το Arduino Uno και τους κάναμε να επικοινωνούν ασύρματα χρησιμοποιώντας τη μονάδα XBee. Τώρα θα συνδέσουμε τη μονάδα XBee με το Raspberry Pi το οποίο θα λειτουργεί ως δέκτης και θα το κάνει ασύρματο να επικοινωνεί με μια άλλη μονάδα XBee (πλακέτα εξερεύνησης XBee) που συνδέεται σειριακά με το φορητό υπολογιστή.
Απαιτήσεις υλικού
- 1 x Raspberry Pi με Raspbian Εγκατεστημένο σε αυτό
- 2 x XBee Pro S2C modules (μπορεί να χρησιμοποιηθεί οποιοδήποτε άλλο μοντέλο)
- 1 x XBee εξερευνητής (προαιρετικό)
- 1 x Xbee Breakout board (προαιρετικό)
- Καλώδια USB
- LED
Υποτίθεται ότι το Raspberry Pi σας έχει ήδη αναβοσβήνει με ένα λειτουργικό σύστημα. Εάν όχι, ακολουθήστε τον οδηγό Ξεκινώντας με το Raspberry Pi πριν συνεχίσετε. Εδώ χρησιμοποιούμε το Rasbian Jessie εγκατεστημένο στο Raspberry Pi 3.
Εδώ η εξωτερική οθόνη που χρησιμοποιεί καλώδιο HDMI χρησιμοποιείται ως οθόνη για σύνδεση με το Raspberry Pi. Εάν δεν έχετε οθόνη, μπορείτε να χρησιμοποιήσετε διακομιστή SSH (Putty) ή διακομιστή VNC για σύνδεση στο Raspberry pi χρησιμοποιώντας φορητό υπολογιστή ή υπολογιστή. Μάθετε περισσότερα σχετικά με τη ρύθμιση του Raspberry Pi χωρίς κεφάλι εδώ.
Διαμόρφωση μονάδων XBee χρησιμοποιώντας XCTU
Όπως έχουμε μάθει στο προηγούμενο σεμινάριο του ZigBee Εισαγωγή ότι η μονάδα XBee μπορεί να λειτουργήσει ως Συντονιστής, Δρομολογητής ή τερματική συσκευή, αλλά πρέπει να ρυθμιστεί ώστε να λειτουργεί σε επιθυμητή λειτουργία. Έτσι, πριν από τη χρήση των μονάδων XBee με το Raspberry Pi, πρέπει να ρυθμίσουμε αυτές τις μονάδες χρησιμοποιώντας λογισμικό XCTU.
Για τη σύνδεση της μονάδας XBee με το φορητό υπολογιστή, χρησιμοποιείται ένας μετατροπέας USB σε σειριακό ή ειδικά σχεδιασμένος πίνακας εξερευνητών. Απλώς συνδέστε τη μονάδα XBee στην πλακέτα Explorer και συνδέστε τη με τον φορητό υπολογιστή χρησιμοποιώντας καλώδιο USB.
Εάν δεν έχετε πλακέτα μετατροπέα ή εξερευνητή, τότε μια πλακέτα Arduino μπορεί να χρησιμοποιηθεί ως συσκευή USB σε σειριακή που μπορεί εύκολα να επικοινωνήσει με το XBee και το φορητό υπολογιστή. Απλώς ανεβάστε κενό σχέδιο στον πίνακα Arduino και τώρα μπορεί να συμπεριφέρεται σαν μετατροπέας USB σε Serial.
Διαμόρφωση μονάδων XBee:
Εδώ σε αυτό το σεμινάριο, ένας πίνακας Explorer χρησιμοποιείται για τη διαμόρφωση των λειτουργικών μονάδων XBee.
Κατεβάστε το λογισμικό XCTU από αυτόν τον σύνδεσμο και εγκαταστήστε το. Μετά τη λήψη και την εγκατάσταση του λογισμικού XCTU, ανοίξτε το και βεβαιωθείτε ότι η μονάδα XBee είναι σωστά συνδεδεμένη. Ελέγξτε τη θύρα COM της πλακέτας Arduino στη διαχείριση συσκευών.
1. Τώρα, κάντε κλικ στο κουμπί αναζήτησης. Αυτό θα σας δείξει όλες τις συσκευές RF που είναι συνδεδεμένες με τον φορητό υπολογιστή σας. Στην περίπτωσή μας, θα εμφανίζει μόνο μία μονάδα XBee.
2. Επιλέξτε τη σειριακή θύρα της πλακέτας Explorer / πλακέτα Arduino και κάντε κλικ στο Επόμενο.
3. Στο επόμενο παράθυρο, ορίστε τις παραμέτρους της θύρας USB όπως φαίνεται παρακάτω και κάντε κλικ στο Τέλος.
4. Επιλέξτε τη συσκευή Discovered και κάντε κλικ στο Προσθήκη επιλεγμένης συσκευής . Αυτή η διαδικασία θα προσθέσει τη μονάδα XBee στον πίνακα ελέγχου XCTU.
5. Τώρα, μπορείτε να διαμορφώσετε τη μονάδα XBee σε αυτό το παράθυρο. Μπορείτε να χρησιμοποιήσετε είτε εντολές AT είτε να βάλετε τα δεδομένα χειροκίνητα. Όπως μπορείτε να δείτε, εμφανίζεται το R στο αριστερό πλαίσιο που σημαίνει ότι το XBee βρίσκεται σε λειτουργία δρομολογητή. Πρέπει να το κάνουμε Συντονιστή για το μέρος του πομπού.
Αρχικά, ενημερώστε το υλικολογισμικό κάνοντας κλικ στο Ενημέρωση υλικολογισμικού.
6. Επιλέξτε την οικογένεια προϊόντων της συσκευής σας που είναι διαθέσιμη στο πίσω μέρος της μονάδας XBee. Επιλέξτε το σετ λειτουργιών και την έκδοση υλικολογισμικού όπως επισημαίνεται παρακάτω και κάντε κλικ στο Ενημέρωση.
7. Τώρα, πρέπει να δώσετε δεδομένα ID, MY και DL για να κάνετε σύνδεση με άλλα XBee. Το ID παραμένει ίδιο και για τις δύο ενότητες. Μόνο η ανταλλαγή δεδομένων MY και DL, δηλαδή MY για τον δέκτη XBee γίνεται DL του πομπού XBee (συντονιστής) και DL για τον δέκτη XBee γίνεται MY του πομπού XBee. Ορίστε το CE ως Συντονιστής και μετά πατήστε το κουμπί Εγγραφή Οπως φαίνεται παρακάτω.
ATDL |
ΑΤΜΗ |
||
Συντονιστής XBee 1 |
|||
XBee 2 τελική συσκευή |
8. Αφού γράψετε τα παραπάνω δεδομένα στο μέρος του πομπού, αποσυνδέστε τα από την πλακέτα εξερευνητή και συνδέστε τη δεύτερη μονάδα XBee σε αυτήν. Επαναλάβετε την ίδια διαδικασία όπως παραπάνω, μόνο οι αλλαγές είναι οι DL, MY και CE. Καθώς θα κάνουμε τη δεύτερη συσκευή XBee ως End, έτσι στο αναπτυσσόμενο μενού CE, επιλέξτε το End device και πατήστε το κουμπί Write
9. Τώρα, οι μονάδες XBee είναι έτοιμες για διασύνδεση με το Raspberry Pi. Θα συνδέσουμε τον πομπό XBee με το φορητό υπολογιστή και τον δέκτη XBee με το Raspberry Pi. Στη συνέχεια, δώστε εντολές στο μέρος του δέκτη χρησιμοποιώντας φορητό υπολογιστή. ΦΟΡΗΤΟΣ ΥΠΟΛΟΓΙΣΤΗΣ.
Διάγραμμα κυκλώματος για το μέρος δέκτη
Οι συνδέσεις για τη διασύνδεση της μονάδας ZigBee με το Raspberry PI εμφανίζονται στο διάγραμμα κυκλώματος.
Συνδέσεις:
- Tx (pin2) του XBee -> Tx του pin Raspberry Pi
- Rx (pin3) του XBee -> Rx του pin Raspberry Pi
- Gnd (pin10) του XBee -> GND του pin Raspberry Pi
- Vcc (Pin1) του XBee -> 3,3v του pin Raspberry Pi
- Το Led είναι συνδεδεμένο με το GPIO 23
Ρύθμιση Raspberry Pi για σειριακή επικοινωνία
Τώρα, θα ρυθμίσουμε το Raspberry Pi για τη σειριακή επικοινωνία. Από προεπιλογή, η σειριακή θύρα υλικού του Pi είναι απενεργοποιημένη. Επομένως, πρέπει να το ενεργοποιήσουμε πριν ξεκινήσουμε τη σύνδεση.
1. Στο τερματικό, εκτελέστε την εντολή raspi-config .
2. Μεταβείτε στην επιλογή 5 Επιλογές διασύνδεσης και πατήστε το enter. Τώρα, επιλέξτε το P6 Serial και ενεργοποιήστε το και μετά αποθηκεύστε το.
Βγείτε από το τερματικό και είστε έτοιμοι να κάνετε τη σύνδεση μεταξύ του Raspberry Pi και του XBee. Τα GPIO14 και 15 θα λειτουργούν ως Tx και Rx αντίστοιχα και αυτά είναι διαθέσιμα στη θύρα / dev / ttyS0 του raspberry pi.
Τώρα, θα γράψουμε ένα σενάριο python στο ON το LED κάθε φορά που λαμβάνουμε «a» από την πλευρά του πομπού XBee.
Προγραμματισμός Raspberry Pi για επικοινωνία XBee
Στο τέλος παρέχεται πλήρες πρόγραμμα python για διασύνδεση του XBee με το Raspberry Pi.
Αρχικά, πρέπει να εισαγάγουμε τις βιβλιοθήκες ώρας, σειριακής και RPi.GPIO χρησιμοποιώντας τη λειτουργία εισαγωγής.
εισαγωγή χρόνου εισαγωγής σειριακή εισαγωγή RPi.GPIO ως GPIO …
Τώρα, γράψτε τις ιδιότητες της σειριακής σύνδεσης, ορίστε θύρα, baudrate και ισοτιμίες όπως παρακάτω.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, χρονικό όριο = 1 )
Γράψτε όλα την αποστολή και λήψη στοιχείων στο ενώ βρόχο.
ενώ 1:
Μπορείτε να χρησιμοποιήσετε τη λειτουργία ser.write για να στείλετε τα μηνύματα στην πλευρά του πομπού. Αποσυνδέστε τις παρακάτω γραμμές για να στείλετε μετρήσεις.
# ser.write (str.encode ('Write counter:% d \ n'% (counter)) # time.sleep (1) #counter + = 1
Για τη λήψη των μηνυμάτων πρέπει να χρησιμοποιήσουμε τη συνάρτηση ser.readline () . Αποθηκεύστε το εισερχόμενο μήνυμα σε μια μεταβλητή και ελέγξτε την κατάσταση. Εάν το εισερχόμενο μήνυμα είναι «a», ενεργοποιήστε τη λυχνία LED για 3 δευτερόλεπτα και μετά σβήστε τη λυχνία LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Στο τέλος του σεμιναρίου παρέχεται πλήρης κωδικός Python με ένα βίντεο επίδειξης. Επικολλήστε τον κώδικα σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου του Pi και αποθηκεύστε τον. Εκτελέστε το σενάριο στο τερματικό χρησιμοποιώντας sudo python script_name.py Ή μπορείτε να χρησιμοποιήσετε το Python IDE και το Shell για να εκτελέσετε το σενάριο.
Δοκιμή της ασύρματης επικοινωνίας XBee χρησιμοποιώντας Raspberry Pi
Τώρα, είμαστε όλοι έτοιμοι να δοκιμάσουμε τον πομπό και τον δέκτη XBee. Για να δώσουμε εντολή στο τμήμα πομπού, θα χρησιμοποιήσουμε το τερματικό της κονσόλας XCTU. Κάντε κλικ στο εικονίδιο Κονσόλας κοντά στην επιλογή ρυθμίσεων. Στη συνέχεια, κάντε κλικ στο κουμπί Άνοιγμα για να συνδέσετε το XBee στον φορητό υπολογιστή.
Εισαγάγετε "a" στο αρχείο καταγραφής κονσόλας. Θα δείτε ότι το LED θα ανάψει για 3 δευτερόλεπτα και μετά θα σβήσει.
Με αυτόν τον τρόπο μπορείτε επίσης να συνδέσετε τον πομπό XBee στην πλακέτα Arduino, όπως περιγράφεται στο προηγούμενο σεμινάριο, και να κάνετε το Raspberry Pi και το Arduino να επικοινωνούν μεταξύ τους.