- ESP Smart Plug per la domotica
- Materiali richiesti
- Programma Smart Plug per ESP8266
- Schema elettrico
- Involucro stampato in 3D per presa Smart Plug
Da quando ho iniziato a lavorare con i moduli Wi-Fi ESP, ho sempre desiderato creare una presa Wi-Fi intelligente che mi consentisse di controllare i miei carichi CA in modalità wireless tramite smartphone. Sebbene prodotti come questi siano già disponibili sul mercato, come il popolare Moko WiFi Smart Plug o Sonoff, sono un po 'costosi e per di più non ti danno la gioia di crearne uno tuo. Quindi, in questo progetto ti mostrerò come puoi costruire il tuo Smart plug usando il modulo Wi-Fi ESP8266. Il dispositivo che abbiamo costruito può essere facilmente collegato a qualsiasi presa CA in uscita e quindi dall'altra parte è possibile collegare il carico effettivo semplicemente collegandolo a questa presa sul nostro dispositivo. Dopodiché tieni sempre acceso l'interruttore principale della tua presa e puoi controllare il tuo carico direttamente dal tuo smartphone. Divertente vero? Quindi entriamo nel progetto….
ESP Smart Plug per la domotica
Abbiamo già realizzato una manciata di progetti di automazione domestica, dalla semplice automazione domestica basata su RF alla mia automazione domestica a controllo vocale basata su assistente Google preferito. Ma oggi, il requisito di questo progetto è leggermente diverso.
Qui, lo scopo è quello di accendere / spegnere il mio router Wi-Fi utilizzando semplicemente lo smartphone direttamente dalla mia workstation. Perché a volte la mia connessione Internet si interrompe e quando chiamo il servizio clienti, la risposta standard che ricevo è "Signore, mi dispiace per l'inconveniente causato. Riavviare il router spegnendolo e quindi riaccendendolo dopo pochi secondi ” Puffff! Stanco di camminare ogni volta verso il router, ho deciso di costruire questa presa intelligente wifi e di controllare il mio router usandolo.
Ma aspetta un minuto! Non avrò più accesso a Internet una volta spento il router. Quindi come lo riaccenderò da remoto? Fortunatamente, il nostro ESP8266 può essere utilizzato come punto di accesso, il che significa che può anche agire come un router inviando il proprio segnale Wi-Fi. Questo segnale Wi-Fi sarà sempre disponibile finché ESP8266 è alimentato. Quindi programmeremo il nostro ESP8266 come captive portal, in questo modo una volta connessi al segnale Wi-Fi dell'ESP verremo portati a una pagina web da cui possiamo attivare / disattivare il nostro carico.
Materiali richiesti
1. Modulo Wi-Fi ESP8266
2. Convertitore da CA a CC Hi-Link (3,3 V)
3. Relè 3V
4. Transistor NPN BC547
5. Modulo programmatore FTDI
6. Scudo Wi-Fi Arduino
7. Cavi di collegamento
Nota: stiamo usando questo Arduino Wi-Fi Shield che abbiamo costruito in precedenza. La scheda viene utilizzata solo per caricare il codice Arduino nel modulo ESP8266. Se non si dispone di questa scheda è possibile costruirne una utilizzando il collegamento di utilizzo di questo semplice circuito programmatore ESP8266 per caricare il codice.
Programma Smart Plug per ESP8266
Prima di procedere oltre, immergiamoci direttamente nel programma per capire come funzionerà la nostra presa intelligente WiFi fai da te. Come puoi vedere qui, iniziamo il programma includendo alcuni file di intestazione e configurando un server di rete DNS
#includere
Quindi inizializziamo il pin 2 GPIO di ESP come output che verrà utilizzato per controllare il nostro carico. Dopo di che abbiamo un lungo codice HTML per la nostra pagina web. Qui abbiamo in totale tre schermate sulla nostra pagina Web, ovvero la schermata Home, sullo schermo e sullo schermo fuori.
String Home_Screen = "" // Pagina 1 - Codice HTML schermata Home "" " " + style_detials + "
""Benvenuto - CircuitDigest
"" "; String ON_Screen =" "// Pagina 2 - Se il dispositivo è acceso" "" "+ style_detials +" ""Smart Plug - Acceso
"" "; String OFF_Screen =" "// Pagina 3 - Se il dispositivo è spento " " " " + style_detials + " " "Smart Plug - Spento
" " ";Queste tre pagine Web una volta aperte appariranno in questo modo. Puoi personalizzare la tua pagina web in modo che appaia nel modo che preferisci.
Quindi abbiamo la nostra funzione di configurazione del vuoto all'interno della quale definiamo il nostro ESP in modo che funzioni come punto di accesso e gli diamo anche un nome, qui "ESP_Smart_Plug". Quando un utente si connette a questo Wi-Fi verrà portato alla home page che abbiamo definito in precedenza.
pinMode (LED_BUILTIN, OUTPUT); // Pin LED come uscita per l'indicazione pinMode (GPIO_2, OUTPUT); // Pin GPIO come uscita per il controllo del relè WiFi.mode (WIFI_AP); // Imposta ESP in modalità AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Assegna un nome alla tua rete AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Apri la schermata Home per impostazione predefinita webServer.send (302, "text / plain", ""); });
Nella home page se l'utente fa clic sul pulsante ON, verrà visualizzata la pagina sullo schermo e il pin GPIO 2 sarà impostato alto
// ON_Screen webServer.on ("/ relay_ON", () {// Se viene premuto il pulsante di accensione digitalWrite (LED_BUILTIN, LOW); // Disattiva LED digitalWrite (GPIO_2, HIGH); // Disattiva Relay webServer.send (200, "text / html", ON_Screen); // Visualizza questa schermata });
Allo stesso modo, se l'utente fa clic sul pulsante di spegnimento, verrà visualizzata la pagina fuori schermo e il pin GPIO 2 sarà impostato su BASSO.
// OF_Screen webServer.on ("/ relay_OFF", () {// Se viene premuto il pulsante di spegnimento digitalWrite (LED_BUILTIN, HIGH); // Attiva LED digitalWrite (GPIO_2, LOW); // Attiva Relay webServer.send (200, "text / html", OFF_Screen); // Visualizza questa schermata });
Il codice completo insieme ai file della libreria possono essere scaricati come file ZIP dal collegamento indicato di seguito. Ora che il nostro codice è pronto, possiamo caricarlo sul nostro modulo ESP semplicemente facendo clic sul pulsante di caricamento e quindi attendere che il codice venga caricato. Il programma completo insieme ai file della libreria può essere scaricato dal link sottostante
ESP8266 Smart Plug - Download del codice Arduino
Coloro che hanno lo shield Wi-Fi possono semplicemente collegare i moduli insieme come mostrato sopra e collegarli al computer per iniziare a programmare il nostro ESP8266 utilizzando l'IDE di Arduino. Le persone che non hanno questa scheda possono utilizzare lo schema del circuito come accennato in precedenza.
Una volta caricato il codice, cerca le reti Wi-Fi sul tuo telefono e dovresti trovare un segnale chiamato "ESP_Smart_Plug". Collegati ad esso e verrai indirizzato alla pagina web che abbiamo appena progettato. Qui quando premi il pulsante di spegnimento dovresti notare che il LED sulla nostra scheda ESP si spegne e quando premi il pulsante di accensione il LED dovrebbe accendersi di nuovo.
Dopo aver verificato il codice ancora poche volte, non avremo più bisogno della scheda del programmatore per questo progetto. Ora, dobbiamo costruire un circuito per alimentare il nostro modulo ESP direttamente dalla tensione di rete e utilizzare il suo pin GPIO per attivare un relè. Per costruire questo circuito ho utilizzato un modulo convertitore AC-DC di Hi-Link che converte la tensione di rete AC in 3,3V DC con una corrente di uscita di 900mA sufficiente per alimentare il modulo ESP tramite la rete. Il relè sul lato di uscita è un relè da 3,3 V che può essere controllato dal pin GPIO dell'ESP tramite un transistor come questo BC547. Avremo anche bisogno di un resistore da 1k per limitare la corrente di base del nostro transistor.
Schema elettrico
Lo schema elettrico completo per la presa intelligente Wi-Fi sarebbe simile a questo.
La rete AC per alimentare il nostro progetto sarà ottenuta tramite questa presa. Gli altri componenti sono quelli che hanno spiegato Eariler. Un'altra cosa importante su cui concentrarsi è mantenere alti i GPIO-0 e GPIO-2 durante l'avvio. Altrimenti il modulo ESP entrerà in modalità di programmazione e il codice di uscita non funzionerà. Quindi ho usato un resistore da 10k (possono essere usati valori compresi tra 3,3k e 10k) per tirare il pin GPIO alto per impostazione predefinita. In alternativa è anche possibile utilizzare un transistor PNP al posto del BC547 e commutare il relè dal lato alto. Con lo schema del circuito pronto, ho pianificato come saldare questi componenti mantenendo le dimensioni della scheda il più piccole possibile in modo che si inserisca in un piccolo involucro e proceduto con la saldatura della scheda.
Involucro stampato in 3D per presa Smart Plug
Successivamente ho misurato le dimensioni della scheda usando il mio nonio e misurato anche le dimensioni della spina e della presa per progettare un involucro per la mia presa intelligente. Una volta terminato, il mio design era simile a questo qui sotto.
Dopo essere stato soddisfatto del design, l'ho esportato come file STL, l'ho tagliato in base alle impostazioni della stampante e infine l'ho stampato. Anche in questo caso il file STL è disponibile per il download da thingiverse e puoi stampare il tuo involucro usandolo.
Dopo la stampa sono rimasto abbastanza soddisfatto del risultato. Quindi ho proceduto con l'aggiunta dei fili alla mia scheda e li ho anche avvitati ai terminali di alimentazione e alla presa. Dopo aver effettuato il collegamento completo, ho assemblato il circuito nel mio involucro e tutto era a posto, come puoi vedere qui.
Con la mia presa intelligente pronta per l'azione, sono andato al mio router, ho tracciato il suo cavo per trovare il suo adattatore. Quindi l'ho rimosso dalla presa e collegato lo smart plug alla stessa presa e l'ho acceso. Ora ho ricollegato l'adattatore alla nostra presa intelligente e in questo modo posso controllarlo dal mio telefono, allo stesso modo puoi controllare qualsiasi carico AC a bassa potenza nella tua casa e divertirti.
Il codice completo può essere scaricato da qui e il video di lavoro per questa presa di corrente intelligente fai-da-te può essere trovato in fondo a questa pagina. Spero ti sia piaciuto il progetto, fammi sapere nella sezione commenti cosa automatizzeresti con questo dispositivo. Se avete domande, lasciatele nel forum e farò del mio meglio per rispondere.