- Χρησιμοποιούμενα συστατικά:
- Τρόπος λειτουργίας της μονάδας Bluetooth:
- Επεξήγηση εργασίας:
- Επεξήγηση κυκλώματος:
- Πρόγραμμα διαμόρφωσης Raspberry Pi και Python:
Σήμερα χτίζουμε ένα πολύ χρήσιμο έργο στο οποίο μπορούμε να ελέγξουμε τα φώτα LED χρησιμοποιώντας τη φωνή μας μέσω Smart Phone. Σε αυτό το έργο, θα στείλουμε φωνητικές εντολές από το Smart Phone στο Raspberry Pi χρησιμοποιώντας το Bluetooth Module και το Raspberry Pi θα λάβει αυτό το μεταδιδόμενο σήμα ασύρματα και θα εκτελέσει την αντίστοιχη εργασία μέσω του υλικού. Μπορούμε να αντικαταστήσουμε τις λυχνίες LED με τις οικιακές συσκευές εναλλασσόμενου ρεύματος χρησιμοποιώντας ρελέ και μπορούμε να κατασκευάσουμε ένα έργο αυτοματισμού οικιακού ελέγχου.
Χρησιμοποιούμενα συστατικά:
- Raspberry Pi 3 (οποιοδήποτε μοντέλο θα λειτουργεί)
- Ενότητα Bluetooth HC-06
- Πίνακας ψωμιού
- Αντίσταση 100 ohm (3)
- LED (μπλε, κόκκινο, πράσινο)
- Καλώδιο σύνδεσης
- Παροχή ηλεκτρικού ρεύματος
- Καλώδιο Ethernet
- Τηλέφωνο Android
Ενότητα Bluetooth:
Η ενότητα Bluetooth αποτελείται από δύο πράγματα, ένα είναι η σειριακή μονάδα Bluetooth και ένας προσαρμογέας Bluetooth. Η σειριακή μονάδα Bluetooth χρησιμοποιείται για τη μετατροπή της σειριακής θύρας σε Bluetooth.
Τρόπος λειτουργίας της μονάδας Bluetooth:
Μπορείτε να χρησιμοποιήσετε απευθείας τη μονάδα Bluetooth μετά την αγορά από την αγορά, επειδή δεν χρειάζεται να αλλάξετε καμία ρύθμιση της μονάδας Bluetooth. Ο προεπιλεγμένος ρυθμός baud της νέας μονάδας Bluetooth είναι 9600 bps. Απλά πρέπει να συνδέσετε rx και tx σε ελεγκτή ή σειριακό μετατροπέα και να δώσετε ρυθμιζόμενη τροφοδοσία 5 volt dc στη μονάδα.
Η μονάδα Bluetooth έχει δύο λειτουργίες, η μία είναι η κύρια λειτουργία και η δεύτερη είναι η λειτουργία σκλάβου. Ο χρήστης μπορεί να ορίσει οποιαδήποτε λειτουργία χρησιμοποιώντας μερικές εντολές AT. Ακόμη και ο χρήστης μπορεί να ορίσει τη ρύθμιση της μονάδας χρησιμοποιώντας την εντολή AT. Ακολουθούν ορισμένες εντολές που χρησιμοποιούνται:
Πρώτα απ 'όλα, ο χρήστης πρέπει να εισέλθει στη λειτουργία AT με ρυθμό baud 38400 bps πατώντας το κουμπί EN στη μονάδα Bluetooth ή δίνοντας ΥΨΗΛΟ επίπεδο στο EN pin Σημείωση: όλες οι εντολές πρέπει να τελειώνουν με \ r \ n (0x0d και 0x0a) ή ENTER KEY από το πληκτρολόγιο.
Μετά από αυτό εάν στείλετε AT στη μονάδα, τότε η ενότητα θα ανταποκριθεί με ΟΚ
AT à Δοκιμή εντολής
AT + ROLE = 0 à Slave Mode επιλέξτε
AT + ROLE = 1 à Master Mode επιλέξτε
AT + NAME = xyz à Ορισμός ονόματος Bluetooth
AT + PSWD = xyz à Ορισμός κωδικού πρόσβασης
AT + UART =
Π.χ. AT + UART = 9600,0,0
Καρφίτσα Περιγραφή της μονάδας Bluetooth HC-06:
1. ΚΡΑΤΟΣ à Ανοιχτό
2. Rx à Σειριακός πείρος λήψης
3. Tx à Σειριακός πείρος μετάδοσης
4. GND έδαφος
5. Vcc à + 5volt dc
6. ΠΛΗΚΤΡΟ à για είσοδο σε λειτουργία AT
Επεξήγηση εργασίας:
Η εργασία αυτού του έργου LED με φωνητικό έλεγχο είναι πολύ εύκολη. Σε αυτό το έργο χρησιμοποιήσαμε τρία LED διαφορετικών χρωμάτων (Μπλε, Κόκκινο και Πράσινο). Μια μονάδα Bluetooth HC-06 χρησιμοποιείται για τη λήψη εξόδου φωνητικών εντολών σε μορφή συμβολοσειράς. Το Raspberry Pi λαμβάνει αυτήν την εισερχόμενη συμβολοσειρά από το Bluetooth Module και συγκρίνεται με την προκαθορισμένη συμβολοσειρά και εκτελεί την αντίστοιχη εργασία.
Σε αυτό το έργο, για να παρέχουμε τις φωνητικές εντολές στο Raspberry Pi από το Smart Phone μας, χρησιμοποιήσαμε την εφαρμογή AMR Voice στο Android Phone (Android Meets Robots: Voice Recognition).
Εγκατάσταση και διαμόρφωση AMR Voice App:
Μπορείτε να κατεβάσετε και να εγκαταστήσετε την εφαρμογή AMR Voice από το Google Play Store. Πρέπει επίσης να εγκαταστήσετε την εφαρμογή Google Voice για αυτό το έργο. Η εφαρμογή AMR Voice παίρνει τη φωνή ως είσοδο και τη μετατρέπει σε συμβολοσειρά κειμένου χρησιμοποιώντας την εσωτερική αναγνώριση φωνής Android (εφαρμογή Google Voice) και στέλνει αυτό το μετατρεπόμενο κείμενο σειριακά μέσω Bluetooth.
Τώρα ανοίξτε την εφαρμογή φωνής AMR, μεταβείτε στο μενού επιλογών και συνδέστε την με τη μονάδα Bluetooth κάνοντας κλικ στο «Σύνδεση ρομπότ»:
Τώρα ο χρήστης μπορεί να πατήσει πάνω από το σύμβολο Mic στην οθόνη του κινητού και να μιλήσει προκαθορισμένες φωνητικές εντολές για τη λειτουργία των LED:
1. "μπλε φως αναμμένη" (ενεργοποιείται μόνο το μπλε LED)
2. "μπλε φως απενεργοποιημένο" (μόνο μπλε LED απενεργοποιημένο)
3. "ανάβει το κόκκινο φως" (ενεργοποιείται μόνο το κόκκινο LED)
4. "κόκκινο φως σβηστό" (μόνο κόκκινο LED σβηστό)
5. "πράσινο φως αναμμένο" (μόνο το πράσινο LED ανάβει)
6. «πράσινο φως απενεργοποιημένο» (μόνο το πράσινο LED σβηστό)
7. "όλα τα φώτα αναμμένα" (μπλε, κόκκινα και πράσινα LED αναμμένα)
8. "όλα τα φώτα σβηστά" (μπλε, κόκκινα και πράσινα LED σβηστά)
9. "αναβοσβήνει" (όλα τα LED αρχίζουν να αναβοσβήνουν με χρονική περίοδο 100 χιλιοστών του δευτερολέπτου)
Στη συνέχεια, η εφαρμογή φωνής AMR καταγράφει αυτήν τη φωνή και την στέλνει στην εφαρμογή Google Voice για να τη μετατρέψει σε μορφή συμβολοσειράς κειμένου. Τώρα αυτή η συμβολοσειρά που έχει μετατραπεί αποστέλλεται στο Raspberry Pi μέσω μονάδας Bluetooth και το Raspberry Pi διαβάζει αυτήν τη συμβολοσειρά από τη θύρα UART και αποθηκεύει σε μια συμβολοσειρά στον κώδικα. Και στη συνέχεια το συγκρίνουμε με προκαθορισμένες χορδές, εάν συμβεί κάποιος αγώνας τότε το Raspberry Pi κάνει μια αντίστοιχη ενέργεια ή εκτελεί μια εργασία.
Επεξήγηση κυκλώματος:
Το κύκλωμα αυτού του έργου είναι πολύ απλό, το οποίο περιέχει Raspberry Pi 3 Board, LED και Bluetooth Module (HC-06). Το Raspberry Pi διαβάζει τη μονάδα Bluetooth και ελέγχει ανάλογα τις λυχνίες LED. Τα μπλε, κόκκινα και πράσινα LED συνδέονται στα GPIO 17, 27 και 22. Τα Rx και Tx της μονάδας Bluetooth συνδέονται απευθείας με τις ακίδες Tx και Rx του Raspberry Pi. Οι υπόλοιπες συνδέσεις εμφανίζονται στο διάγραμμα κυκλώματος.
Πρόγραμμα διαμόρφωσης Raspberry Pi και Python:
Χρησιμοποιούμε τη γλώσσα Python εδώ για το Πρόγραμμα. Πριν από την κωδικοποίηση, ο χρήστης πρέπει να διαμορφώσει το Raspberry Pi. Μπορείτε να δείτε τα προηγούμενα μαθήματά μας για να ξεκινήσετε με το Raspberry Pi και να εγκαταστήσετε και να ρυθμίσετε το Raspbian Jessie OS στο Pi.
Μετά από αυτό πρέπει να εκτελέσετε τις ακόλουθες εντολές για να εκτελέσετε τις πιο πρόσφατες ενημερώσεις στο Raspbian Jessie:
sudo apt-get ενημέρωση sudo apt-get αναβάθμιση
Μετά από αυτό πρέπει να εγκαταστήσουμε το εργαλείο ανάπτυξης Raspberry Pi GPIO, μπορεί να εγκατασταθεί ακολουθώντας τις ακόλουθες εντολές:
sudo apt-get εγκατάσταση python-dev sudo apt-get εγκατάσταση python-rpi.gpio
Τότε ο χρήστης πρέπει να ρυθμίσει τη σειριακή θύρα του Raspberry Pi. Εδώ χρησιμοποιήσαμε το Raspberry Pi 3 για αυτό το έργο. Έτσι, ο χρήστης πρέπει να διαμορφώσει σειριακή θύρα σύμφωνα με την έκδοση Raspberry Pi. Για το Raspberry Pi 3, ο πρώτος χρήστης πρέπει να απενεργοποιήσει τη σύνδεση της κονσόλας μέσω σειριακής θύρας, μέσω του Εργαλείου διαμόρφωσης λογισμικού RPi. Ανοίξτε το χρησιμοποιώντας την παρακάτω εντολή:
sudo raspi-config
Στη συνέχεια, πηγαίνετε στο «Επιλογές εκ των προτέρων», επιλέξτε «Σειριακό» και «Απενεργοποίηση».
Μετά από αυτό πρέπει να απενεργοποιήσουμε το ενσωματωμένο Bluetooth του Raspberry Pi 3 προσθέτοντας dtoverlay = pi3-miniuart-bt στο τέλος του αρχείου /boot/config.txt :
sudo nano /boot/config.txt
Αφού προσθέσετε την γραμμή επανεκκίνησης Raspberry Pi εκδίδοντας εντολή επανεκκίνησης sudo .
Τέλος, συνδεθείτε ξανά στο Raspberry Pi και διαμορφώστε το αρχείο /boot/comline.txt:
sudo nano /boot/comline.txt
Και επεξεργαστείτε το αρχείο όπως παρακάτω:
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait
Τώρα μπορείτε να εκτελέσετε το πρόγραμμα Python που δίνεται παρακάτω στο Raspberry Pi και τελειώσατε! Το πρόγραμμα είναι εύκολο και μπορεί να γίνει εύκολα κατανοητό.
Εδώ έχουμε ολοκληρώσει την κατασκευή των Φωνητικών Συσκευών μας χρησιμοποιώντας το Raspberry Pi. Μπορείτε να το βελτιώσετε περαιτέρω και να το τροποποιήσετε για τον έλεγχο οικιακών συσκευών AC προσθέτοντας ρελέ.