- Έξυπνο βύσμα ESP για οικιακό αυτοματισμό
- Απαιτούμενα υλικά
- Πρόγραμμα Smart Plug για ESP8266
- Διάγραμμα κυκλώματος
- 3D τυπωμένο περίβλημα για έξυπνη πρίζα
Από τότε που άρχισα να δουλεύω με τις μονάδες ESP Wi-Fi, πάντα ήθελα να φτιάξω μια έξυπνη πρίζα Wi-Fi που μου επιτρέπει να ελέγχω τα φορτία AC μου ασύρματα μέσω έξυπνου τηλεφώνου. Ενώ προϊόντα όπως αυτά είναι ήδη διαθέσιμα στην αγορά, όπως το δημοφιλές Moko WiFi Smart Plug ή το Sonoff, είναι λίγο ακριβά και επιπλέον δεν σας δίνει τη χαρά να φτιάξετε το δικό σας. Έτσι, σε αυτό το έργο θα σας δείξω πώς μπορείτε να δημιουργήσετε το δικό σας έξυπνο βύσμα χρησιμοποιώντας τη μονάδα Wi-Fi ESP8266. Η συσκευή που δημιουργήσαμε μπορεί εύκολα να συνδεθεί σε οποιαδήποτε έξοδο AC και στη συνέχεια στο άλλο άκρο μπορείτε να συνδέσετε το πραγματικό φορτίο απλά συνδέοντάς το σε αυτήν την πρίζα στη συσκευή μας. Μετά από αυτό, διατηρήστε πάντα τον κεντρικό διακόπτη της πρίζας σας και μπορείτε να ελέγχετε το φορτίο σας απευθείας από το smartphone σας. Διασκεδαστικό, σωστά; Ας πάμε λοιπόν στο έργο….
Έξυπνο βύσμα ESP για οικιακό αυτοματισμό
Έχουμε ήδη δημιουργήσει μια χούφτα έργα οικιακού αυτοματισμού, από τον απλό οικιακό αυτοματοποιημένο RF έως τον αγαπημένο μου οικιακό αυτοματοποιημένο φωνητικό έλεγχο. Αλλά σήμερα, η απαίτηση αυτού του έργου είναι ελαφρώς διαφορετική.
Εδώ, ο σκοπός είναι να ενεργοποιήσετε / απενεργοποιήσετε το δρομολογητή Wi-Fi μου χρησιμοποιώντας απλώς το Smartphone απευθείας από το σταθμό εργασίας μου. Επειδή κατά καιρούς η σύνδεσή μου στο Διαδίκτυο διακόπτεται και όταν τηλεφωνώ στην εξυπηρέτηση πελατών μου, η τυπική απάντηση που λαμβάνω είναι «Κύριε, λυπάμαι για την αναστάτωση που προκλήθηκε. Επανεκκινήστε τον δρομολογητή σας, απενεργοποιώντας τον και μετά ενεργοποιήστε τον ξανά μετά από λίγα δευτερόλεπτα " Puffff! Κουρασμένος να περπατάω στο δρομολογητή κάθε φορά, αποφάσισα να φτιάξω αυτό το έξυπνο βύσμα wifi και να ελέγξω το δρομολογητή μου χρησιμοποιώντας το.
Όμως, περίμενε ένα λεπτό! Δεν θα έχω πλέον πρόσβαση στο Διαδίκτυο μόλις απενεργοποιήσω το δρομολογητή μου. Λοιπόν, πώς θα το ενεργοποιήσω ξανά από απόσταση; Ευτυχώς, το ESP8266 μας μπορεί να χρησιμοποιηθεί ως σημείο πρόσβασης, που σημαίνει ότι μπορεί επίσης να λειτουργήσει σαν δρομολογητής στέλνοντας το δικό του σήμα wi-fi. Αυτό το σήμα Wi-Fi θα είναι πάντα διαθέσιμο όσο τροφοδοτείται το ESP8266. Ως εκ τούτου, θα προγραμματίσουμε το ESP8266 ως δεσμευμένη πύλη, με αυτόν τον τρόπο μόλις συνδεθούμε με το σήμα Wi-Fi του ESP, θα μεταφερθούμε σε μια ιστοσελίδα από όπου μπορούμε να ενεργοποιήσουμε / απενεργοποιήσουμε το φορτίο μας.
Απαιτούμενα υλικά
1. ESP8266 μονάδα Wi-Fi
2. Hi-Link AC to DC Converter (3.3V)
3. Ρελέ 3V
4. NPN Transistor BC547
5. Μονάδα προγραμματιστή FTDI
6. Ασπίδα Wi-Fi Arduino
7. Σύνδεση καλωδίων
Σημείωση: Χρησιμοποιούμε αυτό το Arduino Wi-Fi Shield που δημιουργήσαμε νωρίτερα. Ο πίνακας χρησιμοποιείται μόνο για τη μεταφόρτωση του κωδικού Arduino στη μονάδα ESP8266. Εάν δεν διαθέτετε αυτόν τον πίνακα, μπορείτε είτε να δημιουργήσετε έναν χρησιμοποιώντας τον σύνδεσμο χρήσης αυτού του απλού κυκλώματος προγραμματιστή ESP8266 για να ανεβάσετε τον κωδικό σας.
Πρόγραμμα Smart Plug για ESP8266
Πριν προχωρήσουμε περαιτέρω, ας δούμε κατευθείαν το πρόγραμμα για να καταλάβουμε πώς θα λειτουργεί το έξυπνο βύσμα DIY WiFi. Όπως μπορείτε να δείτε εδώ ξεκινάμε το πρόγραμμα συμπεριλαμβάνοντας λίγα αρχεία κεφαλίδας και εγκαθιστώντας έναν διακομιστή δικτύου DNS
#περιλαμβάνω
Στη συνέχεια αρχικοποιούμε τον ακροδέκτη GPIO 2 του ESP ως έξοδο που θα χρησιμοποιηθεί για τον έλεγχο του φορτίου μας. Μετά από τον οποίο έχουμε έναν μακρύ κώδικα HTML για την ιστοσελίδα μας. Εδώ έχουμε εντελώς τρεις οθόνες στην ιστοσελίδα μας, δηλαδή την Αρχική οθόνη, την οθόνη On και την οθόνη Off.
String Home_Screen = "" // Σελίδα 1 - Κώδικας HTML αρχικής οθόνης "" " " + style_detials + "
""Καλώς ήλθατε - CircuitDigest
"" "; String ON_Screen =" "// Σελίδα 2 - Εάν η συσκευή είναι ΕΝΕΡΓΟΠΟΙΗΜΕΝΗ" "" "+ style_detials +" ""Έξυπνο βύσμα - Ενεργοποιημένο
"" "; String OFF_Screen =" "// Σελίδα 3 - Εάν η συσκευή είναι απενεργοποιημένη " " " " + style_detials + " " "Έξυπνο βύσμα - Απενεργοποιημένο
" " ";Αυτές οι τρεις ιστοσελίδες όταν ανοίγουν θα εμφανίζονται κάπως έτσι. Μπορείτε να προσαρμόσετε την ιστοσελίδα σας ώστε να εμφανίζεται όπως σας αρέσει.
Στη συνέχεια, έχουμε τη λειτουργία κενής ρύθμισης μέσα στην οποία ορίζουμε το ESP να λειτουργεί ως σημείο πρόσβασης και επίσης παρέχει ένα όνομα για αυτό, εδώ "ESP_Smart_Plug". Όταν οποιοσδήποτε χρήστης συνδεθεί σε αυτό το Wi-Fi, θα μεταφερθεί στην αρχική σελίδα που ορίσαμε νωρίτερα.
pinMode (LED_BUILTIN, OUTPUT); // LED pin ως έξοδος για ένδειξη pinMode (GPIO_2, OUTPUT); // Καρφίτσα GPIO ως έξοδος για τον έλεγχο ρελέ WiFi.mode (WIFI_AP); // Ρύθμιση ESP σε λειτουργία AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Ονομάστε το δίκτυο AP σας dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Τοποθεσία", String ("http://www.circuitdigest-automation.com/home.html"), true); // Ανοίξτε την Αρχική οθόνη από προεπιλογή webServer.send (302, "κείμενο / απλό", ""); });
Στην αρχική σελίδα εάν ο χρήστης κάνει κλικ στο κουμπί ON, θα εμφανιστεί η σελίδα στην οθόνη και ο ακροδέκτης GPIO 2 θα οριστεί ψηλά
// ON_Screen webServer.on ("/ relay_ON", () {// Εάν ενεργοποιήσετε το κουμπί, πατήστε DigitalWrite (LED_BUILTIN, LOW); // Απενεργοποιήστε το LED digitalWrite (GPIO_2, HIGH); // Απενεργοποιήστε το Relay webServer.send (200, "text / html", ON_Screen); // Εμφάνιση αυτής της οθόνης });
Ομοίως, εάν ο χρήστης κάνει κλικ στο κουμπί απενεργοποίησης, θα εμφανιστεί η σελίδα εκτός οθόνης και ο ακροδέκτης GPIO 2 θα ρυθμιστεί ΧΑΜΗΛΗ.
// OF_Screen webServer.on ("/ relay_OFF", () {// Εάν απενεργοποιήσετε το κουμπί, πατήστε DigitalWrite (LED_BUILTIN, HIGH); // Ενεργοποιήστε το LED digitalWrite (GPIO_2, LOW); // Ενεργοποιήστε το Relay webServer.send (200, "text / html", OFF_Screen); // Εμφάνιση αυτής της οθόνης });
Μπορείτε να κατεβάσετε τον πλήρη κώδικα μαζί με τα αρχεία της βιβλιοθήκης ως αρχείο ZIP από τον παρακάτω σύνδεσμο. Τώρα που ο κωδικός μας είναι έτοιμος, μπορούμε να τον ανεβάσουμε στη μονάδα ESP κάνοντας απλώς κλικ στο κουμπί μεταφόρτωσης και στη συνέχεια να περιμένουμε να μεταφορτωθεί ο κωδικός. Μπορείτε να κατεβάσετε το πλήρες πρόγραμμα μαζί με τα αρχεία της βιβλιοθήκης από τον παρακάτω σύνδεσμο
ESP8266 Smart Plug - Λήψη κώδικα Arduino
Όσοι διαθέτουν την ασπίδα Wi-Fi μπορούν απλώς να συνδέσουν τις ενότητες σας όπως φαίνεται παραπάνω και να τη συνδέσουν στον υπολογιστή σας για να ξεκινήσουν τον προγραμματισμό του ESP8266 χρησιμοποιώντας το Arduino IDE. Τα άτομα που δεν διαθέτουν αυτήν την πλακέτα μπορούν να χρησιμοποιήσουν το διάγραμμα κυκλώματος όπως αναφέρθηκε προηγουμένως.
Μόλις μεταφορτωθεί ο κωδικός, αναζητήστε δίκτυα Wi-Fi στο τηλέφωνό σας και θα πρέπει να βρείτε ένα σήμα με το όνομα "ESP_Smart_Plug". Συνδεθείτε σε αυτό και θα μεταφερθείτε στην ιστοσελίδα που μόλις σχεδιάσαμε. Εδώ, όταν πατάτε το κουμπί απενεργοποίησης, θα πρέπει να παρατηρήσετε ότι το LED στην πλακέτα ESP σβήνει και όταν πατάτε το κουμπί ενεργοποίησης, το LED θα πρέπει να ανάψει ξανά.
Μετά την επαλήθευση του κωδικού μερικές ακόμη φορές, δεν θα χρειαζόμαστε πλέον την πλακέτα προγραμματιστή για αυτό το έργο. Τώρα, πρέπει να δημιουργήσουμε ένα κύκλωμα για να τροφοδοτήσουμε τη μονάδα ESP απευθείας από την τάση δικτύου και να χρησιμοποιήσουμε τον ακροδέκτη GPIO για εναλλαγή ενός ρελέ. Για να δημιουργήσω αυτό το κύκλωμα, χρησιμοποίησα μια μονάδα μετατροπέα AC-DC από Hi-Link που μετατρέπει την τάση δικτύου AC σε 3,3V DC με ρεύμα εξόδου 900mA αρκετά αρκετό για να τροφοδοτήσει τη μονάδα ESP μέσω δικτύου. Η έξοδος πλευρά Relay είναι ένα ρελέ 3.3V η οποία μπορεί να ελέγχεται από το pin GPIO του ESP μέσω ενός τρανζίστορ όπως αυτό BC547. Θα χρειαστούμε επίσης 1 k Αντίσταση για να περιορίσουμε το ρεύμα βάσης του τρανζίστορ μας
Διάγραμμα κυκλώματος
Το πλήρες διάγραμμα κυκλώματος για το έξυπνο βύσμα Wi-Fi θα μοιάζει με αυτό.
Το δίκτυο AC για την τροφοδοσία του έργου μας θα ληφθεί μέσω αυτού του βύσματος. Τα άλλα συστατικά είναι αυτά που εξήγησαν το ακουστικό. Ένα άλλο σημαντικό πράγμα που πρέπει να επικεντρωθείτε είναι να διατηρήσετε τα GPIO-0 και GPIO-2 ψηλά κατά την εκκίνηση. Διαφορετικά, η μονάδα ESP θα εισέλθει στη λειτουργία προγραμματισμού και ο κώδικας εξόδου δεν θα λειτουργήσει. Ως εκ τούτου, έχω χρησιμοποιήσει μια αντίσταση 10k (τιμές μεταξύ 3.3k έως 10k) για να τραβήξω τον ακροδέκτη GPIO από προεπιλογή. Εναλλακτικά, μπορείτε επίσης να χρησιμοποιήσετε ένα τρανζίστορ PNP στη θέση του BC547 και να αλλάξετε το ρελέ από την υψηλή πλευρά. Με το διάγραμμα κυκλώματος έτοιμο, σχεδίασα πώς να κολλήσω αυτά τα εξαρτήματα διατηρώντας το μέγεθος της πλακέτας όσο το δυνατόν μικρότερο, έτσι ώστε να χωράει μέσα σε ένα μικρό περίβλημα και να τοποθετείται με συγκόλληση της σανίδας.
3D τυπωμένο περίβλημα για έξυπνη πρίζα
Στη συνέχεια μέτρησα τις διαστάσεις της πλακέτας χρησιμοποιώντας το βερνίκι μου και επίσης μέτρησα τις διαστάσεις του βύσματος και της πρίζας για να σχεδιάσω ένα περίβλημα για το έξυπνο βύσμα μου. Το σχέδιό μου έμοιαζε κάπως έτσι παρακάτω μόλις τελειώσει.
Αφού ήμουν ικανοποιημένος με το σχέδιο, το εξήγαγα ως αρχείο STL, το έκοψα με βάση τις ρυθμίσεις του εκτυπωτή και τελικά το εκτύπωσα. Και πάλι το αρχείο STL είναι επίσης διαθέσιμο για λήψη από το thingiverse και μπορείτε να εκτυπώσετε το δικό σας περίβλημα χρησιμοποιώντας το.
Αφού έγινε η εκτύπωση, ήμουν αρκετά ικανοποιημένος με το αποτέλεσμα. Στη συνέχεια, προχώρησα στην προσθήκη των καλωδίων στην πλακέτα μου και επίσης τα βιδώσαμε στους ακροδέκτες τροφοδοσίας και στην πρίζα. Με την πλήρη σύνδεση που έκανα συναρμολόγησα το κύκλωμα στο περίβλημά μου και όλα ήταν ωραία εφαρμογή όπως μπορείτε να δείτε εδώ.
Με το έξυπνο βύσμα μου έτοιμο για δράση, πήγα στο δρομολογητή μου, ανίχνευσα το σύρμα του για να βρω τον προσαρμογέα του. Στη συνέχεια το αφαίρεσα από την πρίζα και συνέδεσα το έξυπνο βύσμα στην ίδια πρίζα και το άνοιξα. Τώρα έχω συνδέσει τον προσαρμογέα στο έξυπνο βύσμα μας και έτσι μπορώ στη συνέχεια να τον ελέγξω από το τηλέφωνό μου. Με τον ίδιο τρόπο μπορείτε να ελέγξετε οποιοδήποτε φορτίο AC χαμηλής ισχύος στο σπίτι σας και να διασκεδάσετε.
Μπορείτε να κατεβάσετε ολόκληρο τον κώδικα από εδώ και να βρείτε βίντεο για αυτήν την έξυπνη πρίζα DIY στο κάτω μέρος αυτής της σελίδας. Ελπίζω να σας άρεσε το έργο, με ενημερώστε στην ενότητα σχολίων τι θα αυτοματοποιήσετε με αυτήν τη συσκευή. Εάν έχετε οποιεσδήποτε ερωτήσεις, αφήστε τις στο φόρουμ και θα προσπαθήσω να απαντήσω.