- Απαιτήσεις υλικού
- Ροή έργου για LED ελεγχόμενης φωνής Alexa
- Δημιουργία λογαριασμού Adafruit για επικοινωνία
- Συνδέστε την Alexa με το Adafruit IO χρησιμοποιώντας το IFTTT
- Επεξήγηση κώδικα ESP12
- Εργαζόμενος:
Σε προηγούμενα μαθήματα έχουμε δει πώς μπορούμε να φτιάξουμε ένα ηχείο Amazon Echo και μετά πώς μπορούμε να ελέγξουμε οποιοδήποτε Raspberry Pi GPIO χρησιμοποιώντας το Alexa Voice. Τώρα κάνουμε ένα έργο IoT για τον έλεγχο οικιακών συσκευών από οπουδήποτε στον κόσμο χρησιμοποιώντας AlexaPi και ESP-12E (ή οποιαδήποτε πλακέτα ESP).
Απαιτήσεις υλικού
- Raspberry Pi με εγκατεστημένο το AVS
- USB 2.0 μικρόφωνο / κάμερα Web
- ESP-12E
- Μονάδα ρελέ
- Λυχνία LED / AC
Θα πρέπει να έχετε το Raspberry Pi έτοιμο με την υπηρεσία φωνής Alexa εγκατεστημένη σε αυτόν με έναν σωστά διαμορφωμένο λογαριασμό προγραμματιστή Amazon. Οπότε, ακολουθήστε τον παρακάτω οδηγό για να προετοιμάσετε τις υπηρεσίες Alexa.
- Δημιουργήστε το δικό σας Amazon Echo χρησιμοποιώντας ένα Raspberry Pi
Ροή έργου για LED ελεγχόμενης φωνής Alexa
Θα ακολουθήσουμε αυτό το διάγραμμα ροής για αυτό το Ίντερνετ των πραγμάτων ελεγχόμενη έργο LED:
Έτσι, η διαδικασία είναι κάπως έτσι. Πρώτον, η είσοδος δίνεται στο Raspberry Pi μέσω του USB Mic. Τώρα, αυτή η εγγραφή αποστέλλεται στις υπηρεσίες φωνής Alexa και μετά την αναγνώριση φωνής, η AVS έστειλε τα δεδομένα στο IFTTT και ενεργοποιεί την κατάσταση στο IFTTT. Σύμφωνα με τη συνταγή, το IFTTT θα στείλει την εντολή στο Adafruit IO που είναι ο μεσίτης MQTT για να εκτελέσει μια ενέργεια. Στη συνέχεια, το ESP 12e θα λάβει τα δεδομένα από το Adafruit IO μέσω του πρωτοκόλλου MQTT και το LED θα ανάψει / απενεργοποιηθεί σύμφωνα με την εντολή.
Εδώ έχουμε χρησιμοποιήσει μια κάμερα Web USB για μικρόφωνο. Έχουμε ήδη χρησιμοποιήσει την υπηρεσία Alexa Voice για να ανάψουμε έναν λαμπτήρα, αλλά μπορεί να χειριστεί μόνο συσκευές που είναι συνδεδεμένες τοπικά.
Καθώς υποθέτουμε ότι έχετε ήδη εγκαταστήσει το Raspberry Pi με τις υπηρεσίες Alexa Voice, οπότε παραμένουμε με δύο παρακάτω βήματα, τα οποία θα εξηγήσουμε ένα προς ένα:
- Δημιουργία λογαριασμού Adafruit για επικοινωνία
- Συνδέστε την Alexa με το Adafruit IO χρησιμοποιώντας το IFTTT
- Ανεβάστε τον κωδικό στο ESP12
Δημιουργία λογαριασμού Adafruit για επικοινωνία
Πρώτον, θα κάνουμε μια τροφή στο Adafruit IO. Η ροή αποθηκεύει τα δεδομένα που αποστέλλονται από το IFTTT. Για να κάνετε τη ροή ακολουθήστε αυτά τα βήματα:
Βήμα 1: - Συνδεθείτε στο Adafruit IO με τα διαπιστευτήριά σας ή εγγραφείτε εάν δεν έχετε λογαριασμό.
Βήμα 2: - Κάντε κλικ στο Ο λογαριασμός μου -> Πίνακας ελέγχου
Βήμα 3: - Κάντε κλικ στο Ενέργειες και δημιουργήστε έναν νέο πίνακα ελέγχου .
Βήμα 4: - Δώστε όνομα και περιγραφή στη ροή σας και κάντε κλικ στο Δημιουργία .
Βήμα 5: - Κάντε κλικ στο πλήκτρο Key και σημειώστε τα πλήκτρα AIO, θα χρησιμοποιήσουμε αυτό το κλειδί στον κώδικά μας.
Βήμα 6: - Κάντε κλικ στο κουμπί '+' για να δημιουργήσετε ένα νέο μπλοκ και κάντε κλικ στο κουμπί Εναλλαγή.
Βήμα 7: - Τώρα, Πληκτρολογήστε Όνομα ροής και κάντε κλικ στο Δημιουργία . Στη συνέχεια, επιλέξτε τη ροή και κάντε κλικ στο Επόμενο βήμα.
Βήμα 8: - Σε ρυθμίσεις μπλοκ, γράψτε «1» στο πεδίο κειμένου του κουμπιού ON και «0» στο πεδίο κειμένου του κουμπιού OFF .
Βήμα 9: - Η ροή σας δημιουργήθηκε με επιτυχία.
Συνδέστε την Alexa με το Adafruit IO χρησιμοποιώντας το IFTTT
Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε ένα Applet / Συνταγή στο IFTTT:
Βήμα 1: - Συνδεθείτε στο IFTTT με τα διαπιστευτήριά σας ή εγγραφείτε εάν δεν έχετε λογαριασμό σε αυτό.
Βήμα 2: - Στο My Applets, κάντε κλικ στο Νέο Applet
Βήμα 3: - Κάντε κλικ στο + αυτό
Βήμα 4: - Αναζητήστε το Amazon Alexa και κάντε κλικ σε αυτό, συνδεθείτε με τα στοιχεία του λογαριασμού προγραμματιστή amazon.
Βήμα 5: - Επιλέξτε τη σκανδάλη, πείτε μια συγκεκριμένη φράση
Βήμα 6: - Δώστε " ενεργοποιήστε το φως" ως φράση, κάντε κλικ στο Δημιουργία ενεργοποίησης.
Βήμα 7: - Κάντε κλικ στο + αυτό
Βήμα 8: - Αναζήτηση Adafruit και κάντε κλικ σε αυτό.
Βήμα 9: - Συνδεθείτε στο λογαριασμό Adafruit χρησιμοποιώντας τα διαπιστευτήριά σας. Κάντε κλικ στο Αποστολή δεδομένων στο Adafruit .
Επιλέξτε το όνομα ροής που μόλις δημιουργήσατε στο Adafruit IO. Τώρα, δώστε «1» σε δεδομένα για αποθήκευση, αυτό σημαίνει ότι η λυχνία LED θα είναι αναμμένη. Κάντε κλικ στο Δημιουργία ενέργειας .
Βήμα 10: - Ακολουθήστε τα ίδια βήματα για να κάνετε τις μικροεφαρμογές να σβήσουν το LED . Απλώς βάλτε «0» στο πεδίο Δεδομένα για αποθήκευση. Όλα τα βήματα παραμένουν τα ίδια.
Έχετε κάνει τη μισή δουλειά σας. Τώρα, ήρθε η ώρα να προγραμματίσετε το ESP-12E σας.
Επεξήγηση κώδικα ESP12
Θα προγραμματίσουμε το ESP12 με το Arduino IDE. Ο πλήρης κωδικός δίνεται στο τέλος αυτού του Οδηγού.
Πρώτον, χρειαζόμαστε μια βιβλιοθήκη Adafruit Mqtt, η οποία μπορεί να ληφθεί από αυτόν τον σύνδεσμο. Απλώς ανοίξτε το Arduino IDE. Μεταβείτε στα παραδείγματα -> adafruit mqtt library -> mqtt_esp8266
Θα επεξεργαστούμε αυτόν τον κωδικό σύμφωνα με τα κλειδιά AIO και τα διαπιστευτήρια Wi-Fi.
Αρχικά, συμπεριλάβαμε όλες τις βιβλιοθήκες για ESP8266WIFI και Adafruit MQTT .
#περιλαμβάνω
Εμείς ορίζεται το SSID και τον κωδικό πρόσβασης για το Wi-Fi σας, από την οποία θέλετε να συνδεθείτε ESP-12e σας.
#define WLAN_SSID "xxxxxxxx" #define WLAN_PASS "xxxxxxxxxxx"
Αυτή η ενότητα ορίζει το διακομιστή Adafruit και τη θύρα διακομιστή που καθορίζεται ως " io.adafruit.com " και " 1883 " αντίστοιχα.
#define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883
Αντικαταστήστε τα παρακάτω πεδία με το όνομα χρήστη και τα κλειδιά AIO τα οποία έχετε αντιγράψει από τον ιστότοπο Adafruit κατά τη δημιουργία της ροής.
#define AIO_USERNAME "********" #define AIO_KEY "******************************"
Στη συνέχεια, δημιουργήστε μια κλάση ESP8266 WiFiClient για σύνδεση με τον διακομιστή MQTT.
Πελάτης WiFiClient;
Ρυθμίστε την κλάση πελάτη MQTT περνώντας στον πελάτη WiFi και στο διακομιστή MQTT και τα στοιχεία σύνδεσης.
Adafruit_MQTT_Client mqtt (& client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
Ρυθμίστε μια ροή που ονομάζεται «ελαφριά» για εγγραφή σε αλλαγές.
Adafruit_MQTT_Subscribe light = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/ feeds / light");
Στη λειτουργία εγκατάστασης, δηλώνουμε το PIN ESP-12e στο οποίο θέλετε να έχετε έξοδο. Χρησιμοποιώ D0 pin ως έξοδο. Στη συνέχεια, συνδέουμε το ESP-12e στο σημείο πρόσβασης Wi-Fi.
άκυρη ρύθμιση () { Serial.begin (115200); καθυστέρηση (10) pinMode (D0, OUTPUT); Serial.println (F ("Adafruit MQTT demo")); // Συνδεθείτε στο σημείο πρόσβασης WiFi. Serial.println (); Serial.println (); Serial.print ("Σύνδεση σε"); Serial.println (WLAN_SSID); WiFi.begin (WLAN_SSID, WLAN_PASS); ενώ (WiFi.status ()! = WL_CONNECTED) { …. …. …
Ρύθμιση συνδρομής MQTT για ελαφριά τροφοδοσία.
mqtt.subscribe (& light); }
Στη λειτουργία βρόχου , θα διασφαλίσουμε ότι η σύνδεση με τον διακομιστή MQTT είναι ζωντανή χρησιμοποιώντας το MQTT_connect (); λειτουργία.
void loop () { MQTT_connect ();
Τώρα, εγγράφουμε τη «ελαφριά» τροφοδοσία μας και λαμβάνουμε τη συμβολοσειρά από το Adafruit IO και μετατρέπουμε αυτήν τη συμβολοσειρά σε αριθμό χρησιμοποιώντας atoi () Λειτουργήστε και γράψτε αυτόν τον αριθμό στο PIND0 χρησιμοποιώντας το digitalWrite (); λειτουργία.
Adafruit_MQTT_Subscribe * συνδρομή; while ((συνδρομή = mqtt.readSubscription (5000))) { if (συνδρομή == & φως) { Serial.print (F ("Got_light:")); Serial.println ((char *) light.lastread); uint16_t num = atoi ((char *) light.lastread); digitalWrite (16, αριθμός); }
Εργαζόμενος:
Συνδέστε το ESP-12E με το φορητό υπολογιστή και ανεβάστε τον παρακάτω κώδικα (μην ξεχάσετε να επεξεργαστείτε τα διαπιστευτήριά σας στον κώδικα).
Συνδέστε ένα LED ή ένα ρελέ στην καρφίτσα D0. Τώρα, βεβαιωθείτε ότι η υπηρεσία Alexa εκτελείται στο RPi σας.
Για να δώσετε οποιαδήποτε εντολή πρέπει να ξυπνήσετε την υπηρεσία Alexa καλώντας το "Alexa" κάθε φορά που θέλετε να στείλετε μια εντολή. Θα ακούσετε έναν ήχο μπιπ. Μόλις ακούσετε το μπιπ, πείτε " Alexa Trigger Turn on the Light. Μπορείτε να δείτε το φως να ανάβει μέσα σε μια στιγμή. Και τότε αν πείτε " Alexa Trigger Turn off the Light ", το φως θα πρέπει να σβήσει.
Αυτό είναι…. Μπορείτε να προσθέσετε περισσότερες συσκευές στον παραπάνω κώδικα προσθέτοντας τις καρφίτσες GPIO του ESP-12E και κάνοντας διαφορετικές Applets με διαφορετικές φράσεις στο IFTTT.
Δείτε τον πλήρη κώδικα και το βίντεο επίδειξης παρακάτω. Δείτε επίσης όλα τα Έργα οικιακού αυτοματισμού εδώ