- Ιδιαίτερο υλικό:
- Μέρος 1: Ρύθμιση του Raspberry Pi με SSH και VNC
- Μέρος 2: Ρύθμιση του λογαριασμού προγραμματιστή του Amazon και Διαμόρφωση των υπηρεσιών φωνής Alexa στο Raspberry Pi:
- Μέρος 3: Ρύθμιση PubNub και IFTTT για τον οικιακό αυτοματισμό Alexa Pi :
- Μέρος 3-2: Ρύθμιση IFTTT για την υπηρεσία Amazon Alexa:
- Μέρος 4: Συνδέσεις υλικού και διάγραμμα κυκλώματος:
- Μέρος 5: Κώδικας Python για τον έλεγχο των LED:
Έχετε σκεφτεί ποτέ για ένα ηχείο που μπορεί να ελεγχθεί από τη φωνή σας !!! Τι γίνεται αν μπορούμε να ελέγξουμε τις οικιακές μας συσκευές με αυτόν τον τρόπο και να κάνουμε αυτές τις συσκευές πιο έξυπνες; Οι βοηθοί φωνής γίνονται όλο και πιο δημοφιλείς καθώς προχωρούμε προς μια εποχή συστημάτων που βασίζονται σε AI και IoT. Έχετε ακούσει για τον Βοηθό Google, το Apple Siri και το Amazon Alexa . Όλα αυτά είναι συστήματα AI που βασίζονται στη φωνή, αυτό που τα διαφοροποιεί μεταξύ τους είναι τα οικοσυστήματά τους και εδώ είναι το Amazon Alexa που ξεχωρίζει περισσότερο. Google, Apple και Amazon, όλες αυτές οι εταιρείες ξεκίνησαν ήδη τα έξυπνα ηχεία τους, αλλά η Amazon ήταν η πρώτη που παρουσίασε έξυπνα ηχεία. Τα echo Amazon, Echo Dot Spot κ.λπ. είναι τα έξυπνα ηχεία που διατίθενται στην αγορά.
Η Amazon παρέχει το API για τη χρήση της πολύ δημοφιλούς φωνητικής υπηρεσίας της, Alexa. Είναι ανοιχτού κώδικα και διατίθεται στο Github. Επιπλέον, μπορείτε να εγκαταστήσετε ή να ενσωματώσετε το Alexa σε προσαρμοσμένες συσκευές όπως το Raspberry Pi και να αποκτήσετε την πλήρη λειτουργικότητα του Amazon Echo σε αυτήν τη συσκευή.
Χρησιμοποιώντας τη φωνητική υπηρεσία Alexa, μπορούμε να παίξουμε μουσική, να λάβουμε πληροφορίες σχετικά με τον καιρό, να κάνουμε κράτηση εισιτηρίων και πολλά άλλα. Το μόνο που έχετε να κάνετε είναι να "ρωτήσετε". Σε αυτό το σεμινάριο, θα δούμε πώς μπορούμε να ελέγξουμε το Raspberry Pi GPIO χρησιμοποιώντας τις υπηρεσίες Alexa Voice για να ανάβουμε ένα LED.
Ιδιαίτερο υλικό:
Απαιτήσεις υλικού:
- Κάρτα Raspberry Pi 3 ή Raspberry Pi 2 Model B και SD (8 GB ή περισσότερο)
- Εξωτερικό ηχείο με καλώδιο AUX 3,5 mm
- Οποιαδήποτε κάμερα Web ή μικρόφωνο USB 2.0
- Μονάδα ρελέ
- LED
Σημείωση: Η κάμερα Web έχει ενσωματωμένο μικρόφωνο, έτσι θα το χρησιμοποιήσουμε στη θέση του μικροφώνου USB 2.0.
Εφαρμογές λογισμικού και Απαιτήσεις Ιστού:
- Εγγραφή λογαριασμού στην υπηρεσία Alexa Voice Services
- Εγγραφή λογαριασμού στο PubNub
- Εγγραφή λογαριασμού στο IFTTT
Υποθέτουμε επίσης ότι το Raspberry pi έχει ήδη ρυθμιστεί με λειτουργικό σύστημα Raspbian και είναι συνδεδεμένο στο διαδίκτυο. Με αυτά στη θέση του ας συνεχίσουμε το σεμινάριο. Εάν είστε νέοι στο Raspberry Pi, τότε ξεκινήστε πρώτα με το Raspberry pi.
Ολόκληρο το σεμινάριο χωρίζεται κυρίως σε 5 μέρη, τα οποία έχουν ως εξής:
- Εάν δεν έχετε οθόνη, τότε πρέπει να ρυθμίσουμε το Raspberry Pi με SSH και VNC, ελέγξτε επίσης τη συνδεσιμότητα του μικροφώνου USB.
- Ρυθμίστε το Amazon Developer και εγκαταστήστε το Alexa στο Raspberry Pi
- Ρύθμιση PubNub και IFTTT για τον οικιακό αυτοματισμό Alexa
- Σύνδεση υλικού
- Κωδικός Python για Alexa Pi GPIO Control
Εάν θέλετε απλώς να ελέγξετε ένα LED με τη φωνή σας, ελέγξτε επίσης το έργο μας με φωνητικό έλεγχο που βασίζεται σε Bluetooth.
Μέρος 1: Ρύθμιση του Raspberry Pi με SSH και VNC
Πρώτον, θα συνδέσουμε το Raspberry Pi με SSH και VNC. Για αυτό ακολουθήστε τα μαθήματα στον επίσημο ιστότοπο του Raspberry Pi, παρέχονται σύνδεσμοι παρακάτω.
Για σύνδεση SSH: SSh
Για σύνδεση VNC: VNC
Εάν διαθέτετε Monitor, μπορείτε να αφήσετε αυτό το βήμα και να προχωρήσετε απευθείας στο βήμα 2 που είναι το Setting Up The Alexa Voice Service (Avs). Πριν από αυτό πρέπει να ελέγξουμε τη συνδεσιμότητα μικροφώνου.
Έλεγχος μικροφώνου Webcam με Raspberry Pi:
1. Ανοίξτε το τερματικό Raspberry Pi και πληκτρολογήστε arecord -l εντολή. Αυτό θα εμφανίσει τις συσκευές υλικού που είναι συνδεδεμένες στο Raspberry Pi όπως φαίνεται παρακάτω:
Το Card 1 είναι το μικρόφωνο της κάμερας web που πρόκειται να χρησιμοποιήσουμε. Εάν δεν εμφανίζεται, η κάμερα web ενδέχεται να είναι ελαττωματική.
2. Τώρα, ελέγξτε αν το μικρόφωνο λειτουργεί εκτελώντας την εντολή ήχου εγγραφής ως:
arecord /home/pi/Desktop/test.wav -D sysdefault: ΚΑΡΤΑ = 1
3. Για αναπαραγωγή του εγγεγραμμένου ήχου πληκτρολογήστε αυτήν την εντολή:
omxplayer -p -o local /home/pi/Desktop/test.wav
Εάν έχετε συνδέσει το Raspberry Pi με οθόνη χρησιμοποιώντας καλώδιο HDMI, τότε από προεπιλογή η έξοδος ήχου γίνεται μέσω του ηχείου της οθόνης σας (εάν υπάρχει ενσωματωμένο ηχείο σε αυτό). Έτσι, για να το αλλάξετε σε 3,5 mm πρέπει να πληκτρολογήσετε την ακόλουθη εντολή:
sudo raspi-config και μεταβείτε στην επιλογή Advance.
Επιλέξτε Ήχος από τη λίστα -> επιλέξτε Force 3.5mm -> επιλέξτε Ok και επανεκκινήστε το Raspberry Pi.
Τώρα, θα πρέπει να ακούσετε τον ήχο από την υποδοχή 3,5 mm.
ΣΗΜΕΙΩΣΗ: Εάν θέλετε να αυξήσετε ή να μειώσετε τη φωνητική ένταση εισόδου για το μικρόφωνο, πληκτρολογήστε alsamixer στο τερματικό. Επιλέξτε κάρτα ήχου από το τερματικό πατώντας F6.
Πατήστε F4 για να αλλάξετε το κέρδος Mic dB και να το ρυθμίσετε όπως θέλετε.
Εάν διαθέτετε μικρόφωνο USB 2.0, τα βήματα που ακολουθούν είναι τα ίδια για τον έλεγχο του μικροφώνου. Εδώ έχουμε χρησιμοποιήσει κάμερα Web για μικρόφωνο USB.
Μέρος 2: Ρύθμιση του λογαριασμού προγραμματιστή του Amazon και Διαμόρφωση των υπηρεσιών φωνής Alexa στο Raspberry Pi:
Το έχουμε ήδη εξηγήσει λεπτομερώς στο προηγούμενο σεμινάριό μας όπου έχουμε δημιουργήσει ένα έξυπνο ηχείο Amazon Echo. Εδώ επικεντρωνόμαστε στον έλεγχο του Raspberry Pi GPIO με την Alexa, οπότε δεν εξηγούμε ξανά ολόκληρη τη διαδικασία, οπότε διαβάστε το προηγούμενο άρθρο και ετοιμάστε το Ηχείο σας με φωνητικές υπηρεσίες Alexa εγκατεστημένες στο Raspberry pi.
Για να δοκιμάσετε την Alexa, ξυπνήστε την λέγοντας το όνομά της! Ελέγξτε το Demo Video που δίνεται στο τέλος του σεμιναρίου.
Μπορείτε να της ρωτήσετε για τη θερμοκρασία της πόλης σας για να ελέγξετε εάν λειτουργεί ή όχι.
Μέρος 3: Ρύθμιση PubNub και IFTTT για τον οικιακό αυτοματισμό Alexa Pi :
Για τον έλεγχο του Raspberry Pi GPIO χρησιμοποιώντας αυτό το Alexa Pi, χρειαζόμαστε τη βοήθεια των PubNub python SDK και IFTTT. Θα δώσουμε εντολές στο IFTTT μέσω της Alexa και το PubNub δίνει σήμα στο RPi για ενεργοποίηση / απενεργοποίηση της LED. Έτσι θα εγκαταστήσουμε πρώτα το PubNub στο Raspberry Pi.
Μέρος 3-1: Εγκατάσταση του PubNub Python SDK:
Το PubNub παρέχει ένα API ανταλλαγής μηνυμάτων για τη δημοσίευση / εγγραφή οποιουδήποτε μηνύματος στο Παγκόσμιο δίκτυό τους. Εδώ χρησιμοποιούμε τα IFTTT και Alexa για να δημοσιεύσουμε το μήνυμα στο PubNub, για να κάνουμε το Raspberry Pi GPIO χαμηλό / υψηλό. Αυτό το μήνυμα λαμβάνεται από το Raspberry Pi και το Pi θα ανάψει ή θα σβήσει αναλόγως το LED. Ακολουθήστε τα παρακάτω βήματα για να ρυθμίσετε το PubNub στο Raspberry Pi:
Βήμα 1: Ανοίξτε το τερματικό στο RPi και εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το SDK:
sudo pip install pubnub == 3.9.0
Εγκαταστήστε μόνο την έκδοση 3.9.0, η άλλη έκδοση δεν θα λειτουργεί με το σενάριο python το οποίο θα εκτελέσουμε στο τελευταίο.
Βήμα 2: Τώρα, μεταβείτε στο PubNub και συνδεθείτε με τα διαπιστευτήριά σας.
Βήμα 3:. Αποκτήστε τα κλειδιά δημοσίευσης και εγγραφής που θα χρησιμοποιήσουμε αργότερα.
Μέρος 3-2: Ρύθμιση IFTTT για την υπηρεσία Amazon Alexa:
Το IFTTT είναι μια δωρεάν υπηρεσία που βασίζεται στον Ιστό και επιτρέπει στους χρήστες να δημιουργούν αλυσίδες απλών δηλώσεων υπό όρους, που ονομάζονται «συνταγές», οι οποίες ενεργοποιούνται βάσει αλλαγών σε άλλες υπηρεσίες ιστού όπως το Gmail, το Facebook, το Instagram και. Το IFTTT είναι μια συντομογραφία του "If This then That".
Για αυτό το έργο, το IFTTT χρησιμοποιείται για να κάνει το Raspberry Pi GPIO LOW / HIGH με βάση την εντολή ομιλίας που λαμβάνεται από την υπηρεσία Alexa που εκτελείται σε RPi.
Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε ένα Applet:
Βήμα 1: - Συνδεθείτε στο IFTTT με τα διαπιστευτήριά σας ή εγγραφείτε εάν δεν έχετε λογαριασμό σε αυτό.
Βήμα 2: - Στο My Applets, κάντε κλικ στο Νέο Applet
Βήμα 3: - Κάντε κλικ στο + αυτό
Βήμα 4: - Αναζητήστε το Amazon Alexa και κάντε κλικ σε αυτό, συνδεθείτε με τα στοιχεία του λογαριασμού προγραμματιστή amazon.
Βήμα 5: - Επιλέξτε τη σκανδάλη, πείτε μια συγκεκριμένη φράση
Βήμα 6: - Δώστε " ενεργοποιήστε το φως" ως φράση, κάντε κλικ στο Δημιουργία ενεργοποίησης.
Βήμα 7: - Κάντε κλικ στο + αυτό
Βήμα 8: - Αναζήτηση για Webhooks, κάντε κλικ σε αυτό και επιλέξτε Υποβολή αιτήματος Ιστού
Βήμα 9: - Το Webhooks παρέχει το REST WEB Request, Χρησιμοποιήστε τα κλειδιά Δημοσίευση και Εγγραφή που αποκτήσατε από το PubNub και τροποποιήστε την ακόλουθη διεύθυνση URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status" :}
Βήμα 10: - Επικολλήστε το τροποποιημένο URL στο πλαίσιο κειμένου URL.
Βήμα 11: - Ορίστε τη μέθοδο ως GET, Περιεχόμενο ως εφαρμογή / json και κάντε κλικ στην αποθήκευση.
Βήμα 12: - Ακολουθήστε τα ίδια βήματα για να δημιουργήσετε τη σκανδάλη για " απενεργοποίηση της λυχνίας " και τροποποιήστε τη διεύθυνση URL ως εξής.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Βήμα 13: - Είμαστε τώρα έτοιμοι με όλα τα στοιχεία ιστού για την επίδειξη.
Μέρος 4: Συνδέσεις υλικού και διάγραμμα κυκλώματος:
Για αυτό το έργο, χρειαζόμαστε ένα απλό LED για δοκιμή. Ακολουθεί το διάγραμμα κυκλώματος και οι συνδέσεις υλικού για τον έλεγχο του Raspberry Pi GPIO με το Amazon Alexa.
Θα χρησιμοποιήσουμε το GPIO18 στο σενάριο python, οπότε, συνδέστε το ρελέ LED 18. Μπορείτε να το αλλάξετε αυτό στο σενάριο python.
Μέρος 5: Κώδικας Python για τον έλεγχο των LED:
Βρείτε το πλήρες σενάριο Python στο τέλος αυτού του οδηγού.
Πρέπει να επεξεργαστείτε το πλήκτρο Pub και Sub με τα πλήκτρα pubnub στον κώδικα python.
# Αρχικοποιήστε τα Pubnub Keys pub_key = "***************************" sub_key = "*********** ************* "
Τώρα εκτελέστε το σενάριο
python alexaRpi.py
Τώρα είμαστε όλοι έτοιμοι για το demo, Βεβαιωθείτε ότι εκτελείτε και τις τρεις υπηρεσίες από το Μέρος 1 (τα τρία τερματικά) πριν συνεχίσετε.
Για να δώσετε οποιαδήποτε εντολή πρέπει να ξυπνήσετε την υπηρεσία Alexa καλώντας το "Alexa" κάθε φορά που θέλετε να στείλετε μια εντολή. Θα ακούσετε έναν ήχο μπιπ. Μόλις ακούσετε το μπιπ, πείτε " Alexa Trigger Turn on the Light. Μπορείτε να δείτε το φως να ανάβει μέσα σε μια στιγμή. Και τότε αν πείτε " Alexa Trigger Turn off the Light ", το φως θα πρέπει να σβήσει.
Αυτό είναι…. Μπορείτε επιπλέον να προσθέσετε ένα ρελέ για τον έλεγχο της συσκευής AC, ακόμη και μπορείτε να ελέγξετε πολλές συσκευές χρησιμοποιώντας περισσότερα ρελέ και περισσότερες ακίδες GPIO του Raspberry pi.
Δείτε τον πλήρη κώδικα και το βίντεο επίδειξης παρακάτω. Δείτε επίσης όλα τα Έργα οικιακού αυτοματισμού εδώ.