- ESP išmanusis kištukas namų automatizavimui
- Reikalingos medžiagos
- „Smart Plug“ programa skirta ESP8266
- Grandinės schema
- 3D spausdintas korpusas, skirtas išmaniajam kištukiniam lizdui
Nuo tada, kai pradėjau dirbti su ESP „Wi-Fi“ moduliais, visada norėjau sukurti išmanųjį „Wi-Fi“ lizdą, kuris leistų man belaidžiu būdu valdyti kintamąsias sroves per išmanųjį telefoną. Nors tokių produktų, kaip šie, jau yra rinkoje, pavyzdžiui, populiarus „Moko WiFi Smart Plug“ ar „Sonoff“, jie yra šiek tiek brangūs, be to, tai nesuteikia džiaugsmo kurti savo. Taigi, šiame projekte aš jums parodysiu, kaip galite sukurti savo „ Smart“ kištuką naudodami „ESP8266 Wi-Fi“ modulį. Mūsų sukurtą įrenginį galima lengvai prijungti prie bet kurio išeinančio kintamosios srovės lizdo, o tada kitame gale galite prijungti tikrąją apkrovą paprasčiausiai įkišę ją į šį mūsų įrenginio lizdą. Po to tiesiog laikykite įjungtą pagrindinį lizdo jungiklį, o apkrovą galite valdyti tiesiai iš savo išmaniojo telefono. Smagu, tiesa? Taigi leiskimės į projektą…
ESP išmanusis kištukas namų automatizavimui
Mes jau sukūrėme saujelę namų automatikos projektų, pradedant paprasta RF automatizuota namų automatika ir baigiant mano mėgstamiausia „Google“ padėjėjo balsu valdoma namų automatika. Tačiau šiandien šio projekto reikalavimas yra šiek tiek kitoks.
Čia siekiama įjungti / išjungti „Wi-Fi“ maršrutizatorių tiesiog naudojant „Smartphone“ tiesiai iš savo darbo vietos. Kadangi kartais mano interneto ryšys sutrinka ir kai paskambinu į klientų aptarnavimo tarnybą, gaunu standartinį atsakymą: „Pone, atsiprašau už patirtus nepatogumus. Paleiskite maršrutizatorių iš naujo, išjunkite jį ir po kelių sekundžių vėl įjunkite “ Puffff! Atsibodo kiekvieną kartą eiti į maršrutizatorių, nusprendžiau sukurti šį „ smart“ „wifi“ kištuką ir valdyti maršrutizatorių naudodamas jį.
Bet palaukite minutę! Išjungęs maršrutizatorių nebegalėsiu naudotis internetu. Taigi, kaip aš vėl jį vėl įsijungsiu nuotoliniu būdu? Laimei, mūsų ESP8266 gali būti naudojamas kaip prieigos taškas, o tai reiškia, kad jis taip pat gali veikti kaip maršrutizatorius, siųsdamas savo „Wi-Fi“ signalą. Šis „Wi-Fi“ signalas visada bus prieinamas tol, kol bus maitinamas ESP8266. Taigi mes užprogramuosime savo ESP8266 kaip uždarą portalą, tokiu būdu, kai prisijungsime prie ESP „Wi-Fi“ signalo, mes pateksime į tinklalapį, iš kurio galėsime įjungti / išjungti savo apkrovą.
Reikalingos medžiagos
1. ESP8266 „Wi-Fi“ modulis
2. „Hi-Link“ kintamosios srovės keitiklis (3,3 V)
3. 3V relė
4. NPN tranzistorius BC547
5. FTDI programuotojo modulis
6. „Arduino“ „Wi-Fi“ skydas
7. Jungiamieji laidai
Pastaba: Mes naudojame šį „Arduino“ „Wi-Fi“ skydą, kurį sukūrėme anksčiau. Plokštė naudojama tik įkelti „Arduino“ kodą į ESP8266 modulį. Jei neturite šios plokštės, galite ją sukurti naudodami nuorodą, naudodami šią paprastą ESP8266 programuotojo grandinę kodui įkelti.
„Smart Plug“ programa skirta ESP8266
Prieš tęsdami toliau, pasinerkime tiesiai į programą, kad suprastume, kaip veiks mūsų „ pasidaryk pats“ „WiFi“ išmanusis kištukas. Kaip matote čia, programą pradedame įtraukdami kelis antraštės failus ir nustatydami DNS tinklo serverį
# įtraukti
Tada mes inicijuojame ESP GPIO 2 kaištį kaip išvestį, kuri bus naudojama mūsų apkrovai kontroliuoti. Po to mes turime ilgą HTML kodą savo tinklalapiui. Čia mes visiškai turime tris ekranus savo tinklalapyje, ty pagrindinį ekraną, ekrane ir išjungimo ekraną.
Eilutė Pradinis ekranas = "" // 1 puslapis - pagrindinio ekrano HTML kodas "" "+ style_detials +"
""Sveiki atvykę - „CircuitDigest“
"" "; String ON_Screen =" "// 2 puslapis - jei įrenginys įjungtas" "" "" + style_detials + " ""Išmanusis kištukas - įjungtas
"" "; Eilutė OFF_Screen =" "// 3 puslapis - jei įrenginys išjungtas " " " " + style_detials + " " "Išmanusis kištukas - išjungtas
" " ";Šie trys tinklalapiai atsidarius pasirodys maždaug taip. Galite tinkinti savo tinklalapį, kad jis atrodytų taip, kaip jums patinka.
Tada mes turime negaliojančią sąrankos funkciją, kurioje mes apibrėžiame savo ESP, kad jis veiktų kaip prieigos taškas, ir pateikiame jo pavadinimą, čia „ESP_Smart_Plug“. Kai bet kuris vartotojas prisijungs prie šio „Wi-Fi“, jis bus nukreiptas į pagrindinį puslapį, kurį mes apibrėžėme anksčiau.
pinMode (LED_BUILTIN, OUTPUT); // LED kaištis kaip išvestis rodant pinMode (GPIO_2, OUTPUT); // GPIO kaištis kaip relės valdymo „ WiFi.mode“ (WIFI_AP) išvestis; // Nustatykite ESP AP režimu „ WiFi.softAPConfig“ (apIP, apIP, IPAddress (255, 255, 255, 0)); „WiFi.softAP“ („ESP_Smart_Plug“); // Pavadinkite savo AP tinklą dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Vieta", String ("http://www.circuitdigest-automation.com/home.html"), tiesa); // Pagal numatytuosius nustatymus atidarykite pagrindinį ekraną webServer.send (302, „tekstas / paprastas“, „“); });
Pagrindiniame puslapyje, jei vartotojas spustelės mygtuką ĮJUNGTAS, ekrane bus rodomas puslapis ir bus nustatytas aukštas GPIO 2 kaištis
// ON_Screen webServer.on ("/ relay_ON", () {// Jei įjungimo mygtukas paspaudžiamas digitalWrite (LED_BUILTIN, LOW); // Išjunkite LED digitalWrite (GPIO_2, HIGH); // Išjunkite relę webServer.send (200, "text / html", ON_Screen); // Rodyti šį ekraną });
Panašiai, jei vartotojas spustelės mygtuką „Išjungti“, bus rodomas išjungto ekrano puslapis ir „GPIO 2“ kaištis bus nustatytas žemai.
// OF_Screen webServer.on ("/ relay_OFF", () {// Jei paspauskite mygtuką „Išjungti“, „digitalWrite“ (LED_BUILTIN, HIGH); // Įjunkite „LED digitalWrite“ (GPIO_2, LOW); // Įjunkite „Relay webServer.send“ (200, "text / html", OFF_Screen); // Rodyti šį ekraną });
Visą kodą kartu su bibliotekos failais galima atsisiųsti kaip ZIP failą iš toliau pateiktos nuorodos. Dabar, kai mūsų kodas yra paruoštas, mes galime jį įkelti į mūsų ESP modulį, tiesiog spustelėdami mygtuką „Įkelti“ ir palaukdami, kol kodas bus įkeltas. Visą programą kartu su bibliotekos failais galite atsisiųsti iš žemiau pateiktos nuorodos
ESP8266 išmanusis kištukas - „Arduino“ kodo atsisiuntimas
Tie, kurie turi „Wi-Fi“ skydą, gali tiesiog prijungti modulius, kaip parodyta aukščiau, ir prijungti jį prie kompiuterio, kad pradėtumėte programuoti mūsų ESP8266 naudodami „Arduino IDE“. Žmonės, neturintys šios plokštės, gali naudoti anksčiau paminėtą schemą.
Įkėlus kodą, telefone ieškokite „Wi-Fi“ tinklų ir turėtumėte rasti signalą pavadinimu „ESP_Smart_Plug“. Prisijunkite prie jo ir būsite nukreipti į ką tik sukurtą tinklalapį. Čia paspaudę išjungimo mygtuką turėtumėte pastebėti, kad mūsų ESP plokštės šviesos diodas išsijungia, o paspaudus įjungimo mygtuką šviesos diodas turėtų vėl įsijungti.
Dar kelis kartus patikrinę kodą, mums nebereikės programuotojo lentos šiam projektui. Dabar mes turime sukurti grandinę, kad galėtume maitinti mūsų ESP modulį tiesiai iš tinklo įtampos, ir naudoti jo GPIO kaištį relės perjungimui. Norėdami sukurti šią grandinę, aš naudoju „Hi-Link“ kintamosios srovės keitiklio modulį, kuris kintamosios srovės tinklo įtampą paverčia 3,3 V nuolatine įtampa, kai išėjimo srovė yra 900 mA, kurios pakanka ESP moduliui įjungti. Išėjimo pusės relė yra 3,3 V relė, kurią galima valdyti ESP GPIO kaiščiu per tokį tranzistorių kaip šis BC547. Mums taip pat reikės 1k rezistoriaus, kad apribotume mūsų tranzistoriaus bazinę srovę.
Grandinės schema
Visa „Wi-Fi“ išmaniojo kištuko schema atrodys taip.
Kintamosios srovės maitinimo šaltinis mūsų projektui bus gaunamas per šį kištuką. Kiti komponentai yra tie, kurie paaiškino ausines. Kitas svarbus dalykas, į kurį reikia atkreipti dėmesį, yra palaikyti aukštą GPIO-0 ir GPIO-2 įkrovimo laiką. ESP modulis pereis į programavimo režimą ir išvesties kodas neveiks. Taigi aš naudoju 10k (gali būti naudojamos vertės nuo 3,3k iki 10k) rezistorių, kad GPIO kaištis būtų aukštas pagal nutylėjimą. Arba taip pat galite naudoti PNP tranzistorių vietoje BC547 ir perjungti relę iš aukštos pusės. Parengęs grandinės schemą, aš planavau, kaip lituoti šiuos komponentus, išlaikant kuo mažesnį plokštės dydį, kad ji tilptų į mažą korpusą ir būtų apdorota lenta.
3D spausdintas korpusas, skirtas išmaniajam kištukiniam lizdui
Toliau aš išmatavau plokštės matmenis naudodamas savo rašiklį, taip pat išmatavau kištuko ir lizdo matmenis, kad suprojektuotu savo išmaniojo kištuko korpusą. Mano dizainas atrodė maždaug taip žemiau, kai tai buvo padaryta.
Kai buvau patenkintas dizainu, eksportavau jį kaip STL failą, supjaustiau jį pagal spausdintuvo nustatymus ir galiausiai atspausdinau. Vėlgi, STL failą taip pat galima atsisiųsti iš „thingiverse“ ir galite atsispausdinti savo korpusą naudodami jį.
Po to, kai buvo padaryta spauda, rezultatu buvau visiškai patenkinta. Tada aš pridėjau laidus prie savo plokštės, taip pat prisukau juos prie maitinimo gnybtų ir lizdo. Užbaigus pilną jungtį, aš sujungiau grandinę į savo korpusą ir viskas buvo gerai, kaip matote čia.
Pasiruošęs veikti išmaniajam kištukui, nuėjau į savo maršrutizatorių, atsekiau jo laidą, norėdamas rasti adapterį. Tada išėmiau jį iš lizdo ir prijungiau išmanųjį kištuką prie to paties lizdo ir įjungiau. Dabar aš prijungiau adapterį prie mūsų išmaniojo kištuko ir panašiai galėčiau vėliau jį valdyti iš savo telefono. Tokiu pačiu būdu jūs galite valdyti bet kokią mažos galios kintamosios srovės apkrovą savo namuose ir linksmintis.
Išsamų kodą galite atsisiųsti iš čia, o šio „ pasidaryk pats“ išmaniojo maitinimo lizdo vaizdo įrašą rasite šio puslapio apačioje. Tikiuosi, kad jums patiko projektas, komentarų skiltyje praneškite man, ką automatizuotumėte naudodami šį įrenginį. Jei turite klausimų, palikite juos forume ir aš stengsiuosi iš visų jėgų į juos atsakyti.