- ESP Smart Plug pre domácu automatizáciu
- Potrebné materiály
- Program Smart Plug pre ESP8266
- Schéma zapojenia
- 3D tlačené puzdro pre zásuvku Smart Plug
Od tej doby, čo som začal pracovať s modulmi Wi-Fi ESP, som vždy chcel vybudovať inteligentnú zásuvku Wi-Fi, ktorá by mi umožňovala bezdrôtovo ovládať napájanie zo siete pomocou inteligentného telefónu. Aj keď sú takéto výrobky už na trhu dostupné, napríklad populárna inteligentná zástrčka Moko WiFi alebo Sonoff, sú trochu drahé a navyše vám nedajú radosť z toho, že si sami vyrobíte. V tomto projekte vám teda ukážem, ako si môžete vytvoriť svoj vlastný inteligentný konektor pomocou modulu Wi-Fi ESP8266. Zariadenie, ktoré sme postavili, je možné ľahko zapojiť do ktorejkoľvek vystupujúcej zásuvky AC a na druhom konci môžete pripojiť skutočnú záťaž jednoduchým pripojením k tejto zásuvke na našom zariadení. Potom už len držte hlavný vypínač zásuvky vždy zapnutý a môžete ovládať záťaž priamo zo svojho smartphonu. Sranda nie? Poďme teda do projektu….
ESP Smart Plug pre domácu automatizáciu
Už sme vytvorili niekoľko projektov domácej automatizácie, od jednoduchej domácej automatizácie založenej na RF až po moju obľúbenú domácu automatizáciu založenú na hlasových asistentoch od spoločnosti Google. Ale dnes je požiadavka tohto projektu trochu iná.
Účelom je zapnúť / vypnúť môj smerovač Wi-Fi iba pomocou inteligentného telefónu priamo z mojej pracovnej stanice. Pretože občas moje internetové pripojenie vypadne a keď zavolám na zákaznícku službu, štandardná odpoveď, ktorú dostanem, je „Pane, je mi ľúto spôsobené nepríjemnosti. Reštartujte smerovač tak, že ho vypnete a po niekoľkých sekundách znova zapnete. “ Puffff! Už ma nebaví kráčať k routeru zakaždým, rozhodol som sa postaviť túto inteligentnú zástrčku wifi a ovládať ju pomocou nej.
Ale počkajte chvíľu! Po vypnutí smerovača už nebudem mať prístup na internet. Ako to teda na diaľku znova zapnem? Našťastie možno náš ESP8266 použiť ako prístupový bod, čo znamená, že môže fungovať aj ako router a odosielať svoj vlastný signál wi-fi. Tento signál Wi-Fi bude vždy k dispozícii, pokiaľ je ESP8266 napájaný. Preto budeme programovať náš ESP8266 ako portál pre vlastnú potrebu, takže po pripojení k signálu Wi-Fi ESP sa dostaneme na webovú stránku, kde môžeme zapnúť / vypnúť načítanie.
Potrebné materiály
1. Modul Wi-Fi ESP8266
2. Prevodník Hi-Link AC na DC (3,3 V)
3. Relé 3V
4. NPN tranzistor BC547
5. Programovací modul FTDI
6. Štít Wi-Fi Arduino
7. Pripojovacie vodiče
Poznámka: Používame tento štít Arduino Wi-Fi, ktorý sme vytvorili skôr. Doska slúži iba na nahranie kódu Arduino do modulu ESP8266. Ak nemáte túto dosku, môžete si ju buď postaviť pomocou odkazu na použitie tohto jednoduchého programovacieho obvodu ESP8266 na nahranie vášho kódu.
Program Smart Plug pre ESP8266
Než budeme pokračovať, ponorme sa priamo do programu, aby sme pochopili, ako bude fungovať naša inteligentná zástrčka WiFi. Ako vidíte tu, program začíname zahrnutím niekoľkých hlavičkových súborov a nastavením servera DNS v sieti
#include
Potom inicializujeme GPIO pin 2 ESP ako výstup, ktorý sa použije na riadenie našej záťaže. Potom máme k dispozícii dlhý kód HTML pre našu webovú stránku. Na našej webovej stránke máme úplne tri obrazovky, a to domovskú obrazovku, obrazovkovú obrazovku a vypnutú obrazovku.
Reťazec Home_Screen = "" // Stránka 1 - HTML kód na domovskej obrazovke "" " " + style_detials + "
„“Vitajte - CircuitDigest
"" "; Reťazec ON_Screen =" "// Strana 2 - Ak je zariadenie zapnuté" "" "+ style_detials +" „“Inteligentná zástrčka - zapnutá
"" "; Reťazec OFF_Screen =" "// Strana 3 - Ak je zariadenie vypnuté " " " " + style_detials + " „ “Inteligentná zástrčka - vypnutá
" " ";Po otvorení sa tieto tri webové stránky zobrazia asi takto. Svoju webovú stránku môžete prispôsobiť tak, aby sa vám páčila.
Potom máme našu funkciu nastavenia neplatnosti, v ktorej definujeme náš ESP tak, aby fungoval ako prístupový bod, a tiež mu poskytneme názov, tu „ESP_Smart_Plug“. Keď sa ktorýkoľvek používateľ pripojí k tejto sieti Wi-Fi, presmeruje sa na domovskú stránku, ktorú sme definovali skôr.
pinMode (LED_BUILTIN, VÝSTUP); // LED pin ako výstup pre indikáciu pinMode (GPIO_2, OUTPUT); // GPIO pin ako výstup pre riadenie relé WiFi.mode (WIFI_AP); // Nastaviť ESP v AP režime WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Pomenujte svoju sieť AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Predvolene otvoriť domovskú obrazovku webServer.send (302, "text / plain", ""); });
Ak používateľ klikne na tlačidlo ON na domovskej stránke, zobrazí sa stránka na obrazovke a pin GPIO 2 bude nastavený vysoko.
// ON_Screen webServer.on ("/ relay_ON", () {// Ak je zapnuté tlačidlo je stlačené digitalWrite (LED_BUILTIN, LOW); // Vypne LED digitalWrite (GPIO_2, HIGH); // Vypne relé webServer.send (200, "text / html", ON_Screen); // Zobraziť túto obrazovku });
Podobne, ak používateľ klikne na tlačidlo vypnutia, zobrazí sa stránka mimo obrazovku a pin GPIO 2 sa nastaví na LOW.
// OF_Screen webServer.on ("/ relay_OFF", () {// Ak je stlačené tlačidlo vypnutia digitalWrite (LED_BUILTIN, HIGH); // Zapne LED digitalWrite (GPIO_2, LOW); // Zapne relé webServer.send (200, "text / html", OFF_Screen); // Zobraziť túto obrazovku });
Celý kód spolu so súbormi knižnice je možné stiahnuť ako súbor ZIP z odkazu uvedeného nižšie. Teraz, keď je náš kód pripravený, môžeme ho nahrať do nášho modulu ESP jednoduchým kliknutím na tlačidlo nahrávania a potom čakať na načítanie kódu. Celý program spolu so súbormi knižnice je možné stiahnuť z nasledujúceho odkazu
Inteligentná zástrčka ESP8266 - stiahnutie kódu Arduino
Tí, ktorí majú štít Wi-Fi, môžu jednoducho zapojiť vaše moduly, ako je to znázornené vyššie, a pripojiť ich k počítaču, aby mohli začať programovať náš ESP8266 pomocou Arduino IDE. Ľudia, ktorí nemajú túto dosku, môžu použiť schému zapojenia, ako už bolo spomenuté vyššie.
Po načítaní kódu vyhľadajte v telefóne siete Wi-Fi a mali by ste nájsť signál s názvom „ESP_Smart_Plug“. Pripojte sa k nej a dostanete sa na webovú stránku, ktorú sme práve navrhli. Tu, keď stlačíte tlačidlo vypnutia, mali by ste si všimnúť zhasnutie LED diódy na našej doske ESP a po stlačení tlačidla zapnutia by sa mala LED znovu rozsvietiť.
Po niekoľkonásobnom overení kódu už nebudeme pre tento projekt potrebovať programátorskú dosku. Teraz musíme zostaviť obvod na napájanie nášho modulu ESP priamo zo sieťového napätia a pomocou jeho kolíka GPIO prepínať relé. Na zostavenie tohto obvodu som použil modul prevodníka AC-DC od spoločnosti Hi-Link, ktorý prevádza sieťové napätie AC na 3,3 V DC s výstupným prúdom 900 mA dostatočným na napájanie modulu ESP z elektrickej siete. Relé na strane výstupu je 3,3 V relé, ktoré je možné ovládať pinom GPIO ESP cez tranzistor, ako je tento BC547. Budeme tiež potrebovať 1k rezistor na obmedzenie základného prúdu nášho tranzistora.
Schéma zapojenia
Kompletná schéma zapojenia pre inteligentnú zástrčku Wi-Fi by vyzerala takto.
Cez túto zástrčku sa získa sieť AC na napájanie nášho projektu. Ostatné komponenty sú tie, ktoré vysvetľujú eariler. Ďalšou dôležitou vecou, na ktorú sa treba sústrediť, je udržiavanie GPIO-0 a GPIO-2 na vysokej úrovni počas bootovania. Inak modul ESP vstúpi do programovacieho režimu a výstupný kód nebude fungovať. Preto som v predvolenom nastavení použil rezistor 10k (môžu sa použiť hodnoty medzi 3,3 až 10k) rezistor na vytiahnutie pinov GPIO vysoko. Alternatívne môžete tiež použiť tranzistor PNP namiesto BC547 a prepínanie relé z vysokej strany. Keď som mal pripravenú schému zapojenia, naplánoval som, ako tieto komponenty spájkovať tak, aby veľkosť dosky bola čo najmenšia, aby sa zmestila do malého puzdra, a postupovalo sa s spájkovaním dosky.
3D tlačené puzdro pre zásuvku Smart Plug
Ďalej som pomocou vernieru zmeral rozmery dosky. Tiež som zmeral rozmery zástrčky a zásuvky, aby som vytvoril obal pre svoju inteligentnú zástrčku. Po dokončení môj návrh vyzeral nižšie asi takto.
Potom, čo som bol s dizajnom spokojný, som ho exportoval ako súbor STL, rozrezal na základe nastavení tlačiarne a nakoniec vytlačil. Súbor STL je opäť k dispozícii na stiahnutie v serveri thingsiverse a môžete si pomocou neho vytlačiť vlastný obal.
Po dokončení tlače som bol s výsledkom celkom spokojný. Potom som pokračoval v pridávaní vodičov k mojej doske a tiež som ich priskrutkoval k napájacím svorkám a zásuvke. Po vytvorení kompletného spojenia som zapojil obvod do môjho krytu a všetko sa mi pekne hodilo, ako vidíte tu.
Keď som mal inteligentnú zástrčku pripravenú na akciu, vybral som sa k smerovaču a vysledoval jeho drôt, aby som našiel adaptér. Potom som ju vybral zo zásuvky a pripojil inteligentnú zástrčku k tej istej zásuvke a zapol ju. Teraz som zapojil adaptér späť do našej inteligentnej zástrčky a rád ho potom môžem ovládať zo svojho telefónu. Rovnakým spôsobom môžete ovládať akékoľvek striedavé zaťaženie v domácnosti s nízkou spotrebou a baviť sa.
Celý kód je možné stiahnuť tu a pracovné video pre túto inteligentnú zásuvku pre domácich majstrov nájdete v dolnej časti tejto stránky. Dúfam, že sa vám projekt páčil, dajte mi vedieť v sekcii komentárov, čo by ste s týmto zariadením automatizovali. Ak máte akékoľvek otázky, nechajte ich na fóre a ja sa pokúsim v ich silách odpovedať.