- Χρησιμοποιούμενα εξαρτήματα υλικού:
- Προγραμματισμός μονάδας ESP-01 χρησιμοποιώντας μετατροπέα CP2102 USB-TTL:
- Σύνδεση ESP-01 με μονάδα CP2102:
- Προγραμματισμός της ενότητας ESP-01 για τον αυτοματισμό Alexa Home
- Διάγραμμα κυκλώματος
- Ρύθμιση της εφαρμογής Amazon Alexa για οικιακό αυτοματισμό
Τα έξυπνα ηχεία όπως το Amazon Echo ή το Google home γίνονται πλέον δημοφιλή σήμερα και και τα δύο έχουν τη δυνατότητα να ενσωματώσουν προσαρμοσμένη ικανότητα ή δράση για τον έλεγχο οποιασδήποτε συσκευής χρησιμοποιώντας αυτά τα έξυπνα ηχεία. Προηγουμένως κατασκευάσαμε το δικό μας Smart ηχείο χρησιμοποιώντας Raspberry Pi και Alexa, και επίσης ελέγχαμε οικιακές συσκευές χρησιμοποιώντας αυτό το έξυπνο ηχείο Raspberry Pi.
Ο οικιακός αυτοματισμός έχει γίνει πολύ συνηθισμένος σήμερα και οι άνθρωποι χρησιμοποιούν το IoT για να αυτοματοποιήσουν τα πάντα στο σπίτι τους. Εδώ σε αυτό το σεμινάριο θα χρησιμοποιήσουμε ένα ηχείο Real Amazon Echo dot και θα δημιουργήσουμε μια προσαρμοσμένη δεξιότητα για τον έλεγχο οικιακών συσκευών AC όπως φώτα, ανεμιστήρες, τηλεοράσεις, πρίζες χρησιμοποιώντας ένα ηχείο Amazon Echo dot. Εδώ θα χρησιμοποιήσουμε το Arduino UNO και μια μονάδα Wi-Fi ESP8266-01 για να συνδέσουμε το ηχείο Echo dot με συσκευές AC. Μετά από αυτό το σεμινάριο, θα μπορείτε να ελέγχετε οποιαδήποτε συσκευή μέσω της Alexa.
Χρησιμοποιούμενα εξαρτήματα υλικού:
- Arduino UNO
- Ενότητα ESP-01
- Amazon Alexa echo dot
- Μετατροπέας USB-TTL CP2102
- Ψωμί
- Μονάδα ρελέ 5V
- Συσκευές AC
- Άλτες
Προγραμματισμός μονάδας ESP-01 χρησιμοποιώντας μετατροπέα CP2102 USB-TTL:
Εδώ το ESP-01 προγραμματίζεται χρησιμοποιώντας έναν μετατροπέα CP2102 USB-TTL. Μπορεί επίσης να προγραμματιστεί χρησιμοποιώντας έναν πίνακα Arduino UNO. Εδώ στην περίπτωσή μου, έχω χρησιμοποιήσει μια μονάδα CP2102 και τα βήματα για να το κάνω εξηγούνται παρακάτω.
Ενότητα ESP-01
Το ESP8266 ESP-01 είναι μια μονάδα Wi-Fi που είναι πολύ δημοφιλής στο σχεδιασμό εφαρμογών IoT και χρησιμοποιείται για να επιτρέπει στους μικροελεγκτές όπως το Arduino UNO να συνδέονται με το Διαδίκτυο. Αυτή η ενότητα είναι ένα αυτόνομο σύστημα σε ένα τσιπ (SOC) που μπορεί να λειτουργήσει σαν ένας μικρός υπολογιστής. Έρχεται με ένα προεγκατεστημένο υλικολογισμικό AT, επομένως μπορούμε να το προγραμματίσουμε χρησιμοποιώντας το Arduino IDE. Μπορείτε να μάθετε περισσότερα για τον πομποδέκτη ESP-01 Wi-Fi και τον προγραμματισμό του χρησιμοποιώντας το Arduino IDE ακολουθώντας τον σύνδεσμο.
Περιγραφή καρφιτσώματος:
VCC: Πείρος τροφοδοσίας ESP-01 που μπορεί να παρέχεται με 3.3V DC
GND: Καρφίτσα αναφοράς γείωσης ESP-01
TXD: Χρησιμοποιείται ως πείρος πομπού UART
RXD: Χρησιμοποιείται ως καρφίτσα δέκτη UART
RESET: Χρησιμοποιείται για την επαναφορά της μονάδας και είναι ένας ενεργός LOW pin.
CH_PD: Είναι ο ακροδέκτης ενεργοποίησης τσιπ που είναι ένας ενεργός ακροδέκτης ΥΨΗΛΗΣ.
GPIO0: Αυτή η καρφίτσα εξυπηρετεί δύο σκοπούς. Ο ένας είναι ως Γενικός σκοπός Είσοδος / έξοδος και άλλος είναι η ενεργοποίηση της λειτουργίας προγραμματισμού του ESP-01
GPIO2: Πρόκειται για έναν πείρο εισαγωγής / εξόδου γενικής χρήσης.
Σύνδεση ESP-01 με μονάδα CP2102:
Το παρακάτω σχήμα δείχνει το διάγραμμα pinout ενός μετατροπέα CP2102 USB-TTL. Συνδέστε τη μονάδα ESP-01 με τη μονάδα μετατροπέα CP2102 USB-TTL σύμφωνα με τον παρακάτω πίνακα.
Ενότητα ESP-01 |
Ενότητα CP2102 |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
ΕΠΑΝΑΦΟΡΑ |
Χωρίς σύνδεση |
GPIO0 |
GND |
GPIO2 |
Χωρίς σύνδεση |
Μετά την επιτυχή ολοκλήρωση της παραπάνω σύνδεσης, το κύκλωμα θα πρέπει να μοιάζει παρακάτω:
Στη συνέχεια, συνδέστε τη μονάδα CP2102 στον υπολογιστή μας για προγραμματισμό. Πριν ανεβάσετε τον κωδικό στο ESP-01, πρώτα, ελέγξτε τη θύρα επικοινωνίας. Για αυτό μεταβείτε στην αρχή-> και αναζητήστε τη διαχείριση συσκευών. Στη συνέχεια, κάντε κλικ στο COM και Ports. Κάτω από αυτήν την επιλογή θα πρέπει να έχουμε μια θύρα COM με όνομα μετατροπέα USB-TTL όπως " Silicon labs CP21xx USB-UART Bridge " όπως φαίνεται στην παρακάτω εικόνα:
Μετά την επιτυχή ολοκλήρωση των παραπάνω βημάτων, ανοίξτε το Arduino IDE και επιλέξτε την πλακέτα ως « Γενική μονάδα ESP8266 » από το μενού Εργαλεία και επιλέξτε τη θύρα COM που έχουμε στο προηγούμενο στάδιο.
Προγραμματισμός της ενότητας ESP-01 για τον αυτοματισμό Alexa Home
Ο πλήρης κωδικός δίνεται στο τέλος αυτού του έργου. Ακολουθεί η σταδιακή εξήγηση του κώδικα που πρόκειται να φορτωθεί στη μονάδα ESP-01. Το πρώτο βήμα είναι να συμπεριλάβετε όλες τις απαραίτητες βιβλιοθήκες. Μπορείτε να κατεβάσετε τη βιβλιοθήκη "fauxmoESP.h" από τον σύνδεσμο εδώ
# συμπερίληψη # συμπερίληψη
Σε αυτό το βήμα, πρέπει να καθορίσουμε όλα τα διαπιστευτήρια που απαιτούνται για τη σύνδεση του ESP-01 με το Διαδίκτυο. Ενημερώστε το SSID του δικτύου σας και τα δεδομένα κωδικού πρόσβασης στο πρόγραμμα.
#define SSID "*******" #define pass "*******"
Στη συνέχεια ορίστε το όνομα των συσκευών, τις οποίες πρέπει να ελέγξουμε από την Alexa. Στην περίπτωσή μου, έχω πάρει τα ονόματα των συσκευών μου ως " φως κρεβατοκάμαρας ", " ανεμιστήρας υπνοδωματίου " και " έξυπνη υποδοχή " .
# καθορισμένη συσκευή1 "φως κρεβατοκάμαρας" # καθορισμένη συσκευή2 "ανεμιστήρας υπνοδωματίου" # καθορισμένη συσκευή3 "έξυπνη υποδοχή"
Η λειτουργία WiFi.mode χρησιμοποιείται για να ρυθμίσει τη μονάδα ESP-01 ως λειτουργία σταθμού και η λειτουργία WiFi.begin χρησιμοποιείται για τη σύνδεση της μονάδας ESP-01 στο Διαδίκτυο, η οποία χρησιμοποιεί το SSID και τον κωδικό πρόσβασης του δικτύου ως επιχειρήματα.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Το επόμενο μέρος είναι να προετοιμάσετε όλες τις λειτουργίες της κλάσης Fauxmo όπως δημιουργία διακομιστή, ενεργοποίηση του αριθμού θύρας για τη συσκευή Alexa, ενεργοποίηση της συσκευής κ.λπ. Στη συνέχεια, προσθέστε όλες τις συσκευές χρησιμοποιώντας το fauxmo.addDevice που έχουμε δημιουργήσει νωρίτερα.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (συσκευή1); fauxmo.addDevice (συσκευή2); fauxmo.addDevice (συσκευή3);
Στη συνέχεια, γράψτε μια συνάρτηση για να συγκρίνετε τις φωνητικές εντολές μας με τα προκαθορισμένα ονόματα συσκευών. Εάν η εντολή ταιριάζει, τότε στείλτε έναν χαρακτήρα στα σειριακά τερματικά Arduino χρησιμοποιώντας το Serial.print.
fauxmo.onSetState ((unsigned char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"), αλλιώς Serial.print ("2");}}
Στη λειτουργία void loop (), η λειτουργία fauxmo.handle θα ελέγξει μόνο τα εισερχόμενα δεδομένα από την Alexa και θα προβεί σε ενέργειες χρησιμοποιώντας τη λειτουργία onSetstate () .
void loop () {fauxmo.handle (); }
Τώρα ανεβάστε τον πλήρη κώδικα που δίνεται στο τέλος στην ενότητα ESP-01 και εξασφαλίστε την επιτυχή μεταφόρτωση.
Κωδικός Arduino:
Μετά από αυτό, ήρθε η ώρα να ανεβάσετε τον κωδικό στο Arduino. Ο κωδικός για το Arduino είναι πολύ απλός. Λαμβάνει μόνο τους χαρακτήρες που αποστέλλονται από τις μονάδες ESP-01 μέσω των τερματικών UART και τον συγκρίνει για να στείλει το σήμα ενεργοποίησης / απενεργοποίησης στο ρελέ. Το πλήρες πρόγραμμα για το Arduino εμφανίζεται παρακάτω:
δεδομένα char; άκυρη ρύθμιση () {Serial.begin (115200); pinMode (7, ΕΞΟΔΟΣ); pinMode (6, ΕΞΟΔΟΣ); pinMode (5, ΕΞΟΔΟΣ); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (δεδομένα); Serial.print ("\ n"); if (data == '1') digitalWrite (7, ΥΨΗΛΟ); αλλιώς εάν (data == '2') digitalWrite (7, LOW); αλλιώς εάν (data == '3') digitalWrite (6, HIGH); αλλιώς εάν (data == '4') digitalWrite (6, LOW); αλλιώς εάν (data == '5') digitalWrite (5, HIGH); αλλιώς εάν (data == '6') digitalWrite (5, LOW); }}
Μετά την επιτυχή μεταφόρτωση, ο κωδικός στο Arduino, Next συνδέει το υλικό σύμφωνα με τα σχήματα που δίνονται παρακάτω.
Διάγραμμα κυκλώματος
Το διάγραμμα κυκλώματος για οικιακό αυτοματισμό χρησιμοποιώντας Alexa φαίνεται παρακάτω:
Εδώ έχουμε κολλήσει όλα τα εξαρτήματα σε ένα Perfboard έτσι ώστε να λειτουργεί ως ασπίδα Arduino.
Ομοίως, έχουμε δημιουργήσει επίσης μια μονάδα ρελέ σε ένα Perfboard:
Ρύθμιση της εφαρμογής Amazon Alexa για οικιακό αυτοματισμό
Μετά την επιτυχή ολοκλήρωση της εγκατάστασης και της κωδικοποίησης του υλικού, τώρα ήρθε η ώρα να ρυθμίσετε την εφαρμογή Alexa Android. Πρώτον, πρέπει να αναζητήσουμε τυχόν κοντινές έξυπνες συσκευές μέσω αυτής της εφαρμογής. Για να το κάνετε αυτό, ενεργοποιήστε τη συσκευή Alexa και, στη συνέχεια, ανοίξτε την εφαρμογή Alexa και κάντε κλικ στην επιλογή " Συσκευές " και, στη συνέχεια, κάντε κλικ στο σύμβολο "+" που σας ζητά να " Προσθήκη συσκευής ". Στη συνέχεια, κάντε κλικ στο " Προσθήκη συσκευής ", στον τύπο της συσκευής κάντε κλικ στο " Άλλο " και στη συνέχεια επιλέξτε Ανακαλύψτε συσκευές. Στη συνέχεια, η εφαρμογή Alexa θα πρέπει να αναζητήσει τη συσκευή που μπορεί να διαρκέσει έως και 45 δευτερόλεπτα.
Σημείωση: Εναλλακτικά, μπορούμε επίσης να ανακαλύψουμε τις συσκευές χρησιμοποιώντας τη φωνητική εντολή " Alexa, Discover devices "
Μετά την ολοκλήρωση της ανακάλυψης συσκευών, θα πρέπει να λάβετε 3 νέες συσκευές με το όνομα που έχουμε δώσει στον κώδικα. Στην περίπτωσή μου, αυτά είναι ελαφρύ υπνοδωμάτιο , ανεμιστήρα υπνοδωμάτιο, και έξυπνη πρίζα . Τώρα η εγκατάσταση είναι έτοιμη για δοκιμή, απλώς δοκιμάστε λέγοντας " Alexa, Ενεργοποιήστε το φως του υπνοδωματίου " και θα πρέπει να επιστρέψει τα σχόλιά σας λέγοντας "Εντάξει" και το φως θα πρέπει να ανάψει. Ομοίως, μπορούμε να δοκιμάσουμε όλες τις άλλες εντολές.
Με αυτόν τον τρόπο θα μοιάζει η πλήρης ρύθμιση για οικιακές συσκευές Amazon Echo dot:
Ο πλήρης κωδικός για το ESP-01 με ένα βίντεο επίδειξης δίνεται παρακάτω.