- Απαιτήσεις υλικού
- Διαμόρφωση μονάδων XBee χρησιμοποιώντας XCTU
- Προγραμματισμός και δοκιμή επικοινωνίας XBee με χρήση του Arduino
Σε προηγούμενα μαθήματα μάθαμε για το πρωτόκολλο ZigBee και την αρχιτεκτονική του, και επίσης μάθαμε για την ασύρματη επικοινωνία μεταξύ δύο μονάδων Xbee. Τώρα σε αυτό το σεμινάριο θα συνδέσουμε τη μονάδα XBee με την πλακέτα Arduino Uno. Το XBee που είναι συνδεδεμένο με την πλακέτα Arduino θα λειτουργεί ως δέκτης και θα επικοινωνεί ασύρματα με άλλη μονάδα XBee η οποία συνδέεται σειριακά με τον φορητό υπολογιστή χρησιμοποιώντας μια πλακέτα Explorer. Ας εξερευνήσουμε περαιτέρω την ασύρματη επικοινωνία Arduino χρησιμοποιώντας το XBee.
Απαιτήσεις υλικού
- 1 x Arduino Uno
- 2 x XBee Pro S2C modules (μπορεί να χρησιμοποιηθεί οποιοδήποτε άλλο μοντέλο)
- 1 x Xbee εξερευνητής (προαιρετικό)
- 1 x Xbee Breakout board (προαιρετικό)
- Καλώδια USB
- LED
Διαμόρφωση μονάδων XBee χρησιμοποιώντας XCTU
Όπως έχουμε μάθει σε προηγούμενα μαθήματα ότι η μονάδα XBee μπορεί να λειτουργήσει ως Συντονιστής, Δρομολογητής ή τερματική συσκευή, αλλά πρέπει να ρυθμιστεί ώστε να λειτουργεί σε επιθυμητή λειτουργία. Επομένως, προτού χρησιμοποιήσουμε τις μονάδες XBee με το Arduino, πρέπει να διαμορφώσουμε αυτές τις ενότητες χρησιμοποιώντας λογισμικό XCTU.
Για τη σύνδεση της μονάδας XBee με το φορητό υπολογιστή, χρησιμοποιείται ένας μετατροπέας USB σε σειριακό ή ειδικά σχεδιασμένος πίνακας εξερευνητών. Απλώς συνδέστε τη μονάδα XBee στην πλακέτα Explorer και συνδέστε τη με τον φορητό υπολογιστή χρησιμοποιώντας καλώδιο USB.
Εάν δεν έχετε πλακέτα μετατροπέα ή εξερευνητή, τότε μια πλακέτα Arduino μπορεί να χρησιμοποιηθεί ως συσκευή USB σε σειριακή που μπορεί εύκολα να επικοινωνήσει με το XBee και το φορητό υπολογιστή. Απλώς ανεβάστε κενό σχέδιο στον πίνακα Arduino και τώρα μπορεί να συμπεριφέρεται σαν μετατροπέας USB σε Serial.
Οι συνδέσεις για τη διασύνδεση της μονάδας ZigBee με το Arduino εμφανίζονται στο διάγραμμα κυκλώματος.
Συνδέσεις:
- Tx (pin2) του XBee -> Tx του πίνακα Arduino
- Rx (pin3) του Xbee -> Rx της πλακέτας Arduino
- Gnd (pin10) του Xbee -> GND του πίνακα Arduino
- Vcc (Pin1) του Xbee -> 3.3v της πλακέτας Arduino
Εδώ σε αυτό το σεμινάριο, χρησιμοποιείται μια πλακέτα Explorer για τη διαμόρφωση των μονάδων XBee.
Κατεβάστε το λογισμικό XCTU από αυτόν τον σύνδεσμο και εγκαταστήστε το. Μετά τη λήψη και την εγκατάσταση του λογισμικού XCTU, ανοίξτε το και βεβαιωθείτε ότι η μονάδα XBee είναι σωστά συνδεδεμένη. Ελέγξτε τη θύρα COM της πλακέτας Arduino στη διαχείριση συσκευών.
Βήμα 1: - Τώρα, κάντε κλικ στο κουμπί αναζήτησης. Αυτό θα σας δείξει όλες τις συσκευές RF που είναι συνδεδεμένες με τον φορητό υπολογιστή σας. Στην περίπτωσή μας, θα εμφανίζει μόνο μία μονάδα XBee.
Βήμα 2: - Επιλέξτε τη σειριακή θύρα της πλακέτας Explorer / Arduino και κάντε κλικ στο Επόμενο.
Βήμα 3: - Στο επόμενο παράθυρο, ορίστε τις παραμέτρους της θύρας USB όπως φαίνεται παρακάτω και κάντε κλικ στο Τέλος.
Βήμα 4: - Επιλέξτε τη συσκευή Ανακαλύφθηκε και κάντε κλικ στο Προσθήκη επιλεγμένης συσκευής . Αυτή η διαδικασία θα προσθέσει τη μονάδα 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 είναι έτοιμες για διασύνδεση με τον πίνακα Arduino. Θα συνδέσουμε τον πομπό XBee στον φορητό υπολογιστή και τον δέκτη XBee με την πλακέτα Arduino. Στη συνέχεια, δώστε εντολές στο μέρος του δέκτη χρησιμοποιώντας φορητό υπολογιστή.
Διάγραμμα κυκλώματος για το μέρος δέκτη:
Συνδέσεις:
- Tx (pin2) του XBee -> Rx της πλακέτας Arduino
- Rx (pin3) του Xbee -> Tx του πίνακα Arduino
- Gnd (pin10) του Xbee -> GND του πίνακα Arduino
- Vcc (Pin1) του Xbee -> 3.3v της πλακέτας Arduino
Εάν χρησιμοποιείτε την πλακέτα Arduino για να συνδέσετε τον πομπό ZigBee με το φορητό υπολογιστή, οι συνδέσεις θα είναι ίδιες με αυτές για τον προγραμματισμό του ZigBee.
Προγραμματισμός και δοκιμή επικοινωνίας XBee με χρήση του Arduino
Τώρα, θα γράψουμε έναν κωδικό για τον δέκτη Arduino να ανάψει το LED κάθε φορά που το μέρος του δέκτη λαμβάνει 'a' και να αναβοσβήνει το LED κάθε φορά που λαμβάνει 'b', για άλλους χαρακτήρες, το LED θα παραμείνει σβηστό.
Ο κωδικός είναι απλός και εύκολα κατανοητός. Θα ελέγξουμε απλώς τους εισερχόμενους χαρακτήρες χρησιμοποιώντας τη συνάρτηση Serial.available () και θα αποθηκεύσουμε αυτόν τον χαρακτήρα σε μια μεταβλητή χρησιμοποιώντας το Serial.read (); λειτουργία και αντιστοιχίστε το με «a» και «b». Εάν η αντιστοίχιση είναι σωστή, εκτελέστε την εργασία που καθορίζεται στην κατάσταση. Ο πλήρης κωδικός για το μέρος του παραλήπτη δίνεται στο τέλος. Ανεβάστε τον κωδικό στο τμήμα δέκτη Arduino. Αφαιρέστε τα καλώδια Tx και Rx του XBee πριν από τη μεταφόρτωση.
Τώρα, είμαστε όλοι έτοιμοι να δοκιμάσουμε τον πομπό και το δέκτη μας. Για να δώσουμε εντολή στο τμήμα πομπού, θα χρησιμοποιήσουμε το τερματικό της κονσόλας XCTU. Κάντε κλικ στο εικονίδιο Κονσόλας κοντά στην επιλογή ρυθμίσεων. Στη συνέχεια, κάντε κλικ στο κουμπί Άνοιγμα για να συνδέσετε το XBee στον φορητό υπολογιστή.
Εισαγάγετε "a" στο αρχείο καταγραφής κονσόλας. Θα δείτε ότι η λυχνία LED θα ανάψει για 2 δευτερόλεπτα και μετά εισάγετε 'b' για να αναβοσβήνει το led για 5 φορές.
Μπορείτε επίσης να συνδέσετε τον πομπό XBee στην πλακέτα Arduino, απλώς αλλάξτε λίγο τον κωδικό δέκτη. Στη θέση της συνάρτησης Serial.read (), χρησιμοποιήστε τη συνάρτηση Serial.println () για να στείλετε τους χαρακτήρες.
Δείτε το βίντεο επίδειξης που δίνεται παρακάτω.
Αυτή η ρύθμιση XBee-Arduino μπορεί να χρησιμοποιηθεί για την παραγωγή πολλών χρήσιμων ασύρματων εφαρμογών, όπως σύστημα οικιακού αυτοματισμού, συνομιλίας κλπ.