Turinys:
- 1 žingsnis: ESP8266-01 dizainas
- 2 žingsnis: maitinimo šaltinis
- 3 žingsnis: PC plokštės surinkimas
- 4 žingsnis: PC plokštės testavimas
- 5 žingsnis: gaubtas
- 6 veiksmas: ESP8266-01/NodeMCU programavimas
- 7 veiksmas: sąranka pirmą kartą
- 8 veiksmas: „IoT Timer“sąranka
Video: ESP8266-01 „IoT“išmanusis laikmatis namų automatizavimui: 9 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
ATNAUJINIMAI
2018-09-30: programinė įranga atnaujinta į 1.09 versiją. Dabar su „Sonoff Basic“palaikymu
2018-10-01: galima išbandyti programinės aparatinės įrangos 1.10 versijos bandymą naudojant ESP8266-01 su problemomis
Kadangi nauji slapyvardžiai yra daiktų internetas (IoT) ir namų automatika, nusprendžiau pažvelgti į dabartinius elementus namuose ir aplink juos, kurie yra valdomi naudojant tam tikrą įrenginį. Išsiskyrę elementai yra šie:
- Baseino siurblys
- Baseino vandens užpildas
- Baseinas ir aplinkiniai žibintai
- TV/Pramogų sistemos spintelių žibintai
Įprastas elementas, naudojamas šiems prietaisams valdyti, yra standartiniai sieninio kištuko laikmačiai. Kiekvienas įrenginys turi savo laikmatį ir yra skirtingose vietose. Taigi kodėl aš pasirinkau šiuos elementus, norėdamas pradėti nuo daiktų interneto ar namų automatikos projektų, galite paklausti?
Na, o gyventi Pietų Afrikoje reiškia, kad elektros energijos tiekimas nutrūksta reguliariai. Remiantis savo namų statistika, per pastaruosius metus patyriau 35 elektros energijos tiekimo sutrikimus, iš viso 40 valandų. Paprastai tai nėra problema, nes visi šiuo metu sumontuoti laikmačiai yra su atsarginiu akumuliatoriumi, kad būtų galima išlaikyti laiką elektros energijos tiekimo sutrikimų metu. Tačiau yra keletas problemų:
- Šios atsarginės baterijos tarnauja tik metus ar dvejus, tada laikmatį reikia pakeisti. Laikmačiai yra sukonstruoti taip, kad laikmatis turi būti sunaikintas, kad būtų galima pasiekti vidinę Ni-Cad bateriją.
- Kiekvieną kartą, kai nutrūksta maitinimas, laikmačius su sugedusiomis baterijomis reikia perprogramuoti ir nustatyti laiką.
- Fizinė laikmačio vieta, prijungus jį prie sieninio lizdo, beveik neįskaito LCD ekranų, rodančių laikmatį iš viršaus. Tai reiškia, kad laikmatis turi būti atjungtas nuo elektros tinklo arba aš turiu atsigulti ant grindų, kad nustatyčiau ar sureguliuotumėte laikmačius po elektros energijos tiekimo sutrikimo.
Dėl aukščiau išvardytų priežasčių nusprendžiau išbandyti galimybę pakeisti laikmačius „IoT Smart Timer“, prijungtu prie vietinio namų tinklo.
Idėja buvo sukurti atskirą laikmatį, kuris gali:
- Automatiškai koreguoti esamą laiką naudojant internetą (IoT)
- Valdomas be jokių vartotojo veiksmų (išmanusis)
- Įjunkite/išjunkite išvestį pagal nustatytą laiką (laikmatis)
- Programuojamas ir valdomas per tinklą (namų automatika)
1 žingsnis: ESP8266-01 dizainas
Dizainas buvo atliktas naudojant ESP8266-01 „WiFi“modulį, nes tai turėjau. Paprasčiausiu pavidalu ESP8266-01 yra keturi įvesties/išvesties kaiščiai:
- GPIO0
- GPIO2
- TX
- RX
ESP8266-01 Maitinimo režimai
Įvesties/išvesties kaiščių loginė būsena naudojama nustatyti, kokiu režimu ESP8266-01 bus paleistas. Pirmasis žingsnis buvo nustatyti, kuris iš įvesties/išvesties kaiščių gali būti naudojamas išvesties relės valdymui.
- Norint normaliai įjungti, GPIO0 ir GPIO2 turi būti nustatyti į logiką HIGH. Taigi akivaizdu, kad šių dviejų kaiščių negalima naudoti kaip skaitmeninės išvesties.
- „Tx“kaištis nustatytas kaip išėjimas įjungus, o išėjimas nustatytas kaip aukštas. Šis Tx kaištis taip pat perduoda kai kuriuos serijinius duomenis įjungimo metu. Taigi, šis kaištis taip pat negali būti naudojamas kaip išvestis.
Liko tik Rx kaištis. Šis kaištis yra nustatytas kaip įvestis įjungus, o įjungimo metu jo nereikia traukti aukštai. Taigi šis kaištis yra tinkamiausias naudoti kaip išvesties kaištis.
Įkėlimas
Siekiant užtikrinti teisingą ESP8266-01 įkrovos režimą įjungimo metu, naudojant 10K rezistorius, aukštai ištraukiami šie kaiščiai:
- GPIO0
- GPIO2
- RST
- CH_PD
Tai užtikrina, kad įrenginys kiekvieną kartą tinkamai įsijungs.
Išėjimo relė
RX yra vienintelis kaištis, tinkamas naudoti kaip išvestis. Taigi šis kaištis naudojamas išvesties relės valdymui per NPN tranzistorių. Pridėti standartiniai smagračio diodai ir tranzistorių baziniai rezistoriai.
MODE/SET mygtukas
Mygtukas prijungtas prie GPIO2, o atleidus mygtuką 10K rezistorius pakels GPIO2 aukštį. Paspaudus mygtuką, GPIO2 ištraukiamas iki 0 V.
Šis mygtukas naudojamas dviem funkcijoms:
- Pradinis įrenginio prijungimas prie vietinio „WiFi“tinklo
- Norėdami rankiniu būdu valdyti išvestį įprastų operacijų metu
Indikacinis šviesos diodas
Šviesos diodas prijungtas prie GPIO0 ir rodo šiuos dalykus:
- Įjungus pirmą kartą, mirksi FAST, kad būtų nurodytas „WiFi“sąrankos režimas
- Mirksi lėtai, kai nenustatytas įrenginio laikas
- rodo išėjimo relės įjungimo/išjungimo būseną
2 žingsnis: maitinimo šaltinis
„IoT Smart Timer“naudosiu skirtingais įtampos lygiais, todėl yra dvi maitinimo galimybės:
12 - 24V DC
Naudojamas nuolatinės srovės keitiklis tinkamas tiekti iki 28 V nuolatinės srovės. Keitiklio išėjimas yra reguliuojamas ir nustatytas į 5 V. Tai reikia padaryti prieš prijungiant ESP8266 modulį.
Pridedamas diodas, apsaugantis nuo atvirkštinio maitinimo įvesties poliškumo.
Naudojant šią parinktį, „eBay“pavyko gauti nedidelį 220V/5V jungiklio režimo maitinimo šaltinį.
Nepriklausomai nuo įėjimo įtampos, „IoT Smart Timer“reikia dviejų maitinimo šaltinių:
5V geležinkelis
Naudojant abi parinktis, 5 V nuolatinė srovė gaunama iš perjungto režimo maitinimo šaltinio, o ne iš linijinio reguliatoriaus. Tai reiškia, kad maitinimo šaltinis išskiria minimalią šilumą. 5 V naudojamas išėjimo relės valdymui
3.3V geležinkelis
3.3V ESP8266-01 gaunamas iš ASM1117 3.3 reguliatoriaus. ASM1117 3.3 yra linijinis reguliatorius ir gali valdyti iki 500 mA. Tačiau susidariusią šilumą lems įėjimo įtampa į ASM1117. Siekiant sumažinti šilumą, ASM1117 maitinamas iš 5 V bėgio.
Triukšmo filtravimas
Siekiant sumažinti ESP8266-01 įtampos pulsavimą, 3,3 V bėgyje sumontuotas 100 - 1000uf kondensatorius. Tiek 5V, tiek 3,3 V bėgiai taip pat yra apsaugoti nuo aukšto dažnio trukdžių 0,1uf kondensatoriais.
3 žingsnis: PC plokštės surinkimas
Kompiuterių plokštė buvo sukurta naudojant nemokamą „Eagle“versiją. Tai vienpusė plokštė, kurią galima lengvai pasigaminti namuose naudojant dažų perkėlimo metodą.
Sukūrę kompiuterio plokštę, surinkite kompiuterio plokštę tokia tvarka:
- Lituokite ASM1117 reguliatorių ir tris 0,1uf SMD komponentus prie plokštės litavimo pusės
- Pridėkite vieną trumpiklį prie plokštės komponento pusės
- Lituokite rezistorius ir diodus
- Pridėkite modulio ESP8266-01 antraštes
- Pridėkite šviesos diodo ir mygtuko antraštės kaiščius
- Pridėkite varžtų gnybtus
- Naudodami antraštės kaiščius, prijunkite DC/DC keitiklį prie plokštės.
- Lituokite relę į vietą
- Užpildykite plokštę lituodami tranzistorių ir 100uf kondensatorių.
Kai visi komponentai bus prilituoti prie plokštės, patikrinkite visus litavimo taškus ir įsitikinkite, kad tarp trinkelių nėra trumpojo jungimo.
! ! ! SVARBI PASTABA! ! ! Norėdami užtikrinti, kad kompiuterio plokštė galėtų valdyti dideles sroves išvesties kontaktuose, uždėkite tinkamą litavimo kiekį ant takelių tarp relės kontaktų ir varžtų gnybtų
4 žingsnis: PC plokštės testavimas
! ! ! Prieš pradėdami naudoti galią! ! !
Išimkite ESP8266-01 modulį iš įrenginio. Tai daroma siekiant išvengti ASM1117 reguliatoriaus perkaitimo prieš sureguliuojant 5 V maitinimą.
Bandymų, kuriuos galima atlikti po surinkimo, nėra daug. Svarbiausias žingsnis yra užtikrinti teisingą įtampos lygį.
- Įrenginį įtvirtinkite 12 - 24 V DC.
- Išmatuokite DC/DC keitiklio išėjimo įtampą
- Nustatykite keitiklio išvestį nuo 5,0 iki 5,5 V.
- Tada išmatuokite 3,3 V maitinimą.
- Jei maitinimo šaltiniai yra tinkami, išjunkite maitinimą iš įrenginio
Dabar į pateiktas antraštes galite įterpti modulį ESP8266-01.
! ! ! Pastaba!
Išbandę IoT laikmatį ir jis veikia, naudokite skaidrų laką, kad padengtumėte kompiuterio plokštės litavimo pusę. Taip išvengsite takelių oksidacijos ir papildomos izoliacijos tarp relės kontaktų ir likusios grandinės
5 žingsnis: gaubtas
Korpusas nėra toks svarbus, kol kompiuterio plokštė ir visi laidai tvarkingai ir saugiai telpa į ją.
Kad konstrukcija būtų lengvesnė, sukūriau kabelį, prie kurio prijungtas šviesos diodas ir MODE/SETUP mygtukas. Tai suteikė man daugiau lankstumo montuojant šviesos diodą ir mygtuką prie korpuso. Tada šis kabelis prijungiamas prie kompiuterio plokštės antraštės.
Nuotraukose parodytas vienas iš 12V įrenginių, naudojamų LED žibintams.
6 veiksmas: ESP8266-01/NodeMCU programavimas
Norėdami užprogramuoti ESP8266-01, pirmiausia turite nustatyti „Arduino IDE“. Nesigilinu į šią informaciją, nes šia tema yra daug puikių instrukcijų. Aš pasirinkau šias nuorodas „Instructables“nuorodoms, be jokio konkretaus užsakymo autoriams. Ačiū už jų individualias instrukcijas.
Vykdykite šį ESP8266 ir „Arduino IDE“, kad nustatytumėte „Arduino IDE“ESP8266 moduliui.
Tada jums reikės programuotojo, kuris užprogramuotų ESP8266. Čia yra dvi nuorodos:
Naudojant „Arduino Uno“
„Pasidaryk pats“programavimo taryba
Bibliotekos
Norėdami sudaryti kodą, turėsite įdiegti papildomas bibliotekas. Dar kartą žiūrėkite šią instrukciją:
Įdiekite ir naudokite „Arduino“bibliotekas
Neprisimenu, kurias bibliotekas turėjau įdiegti, bet žinau, kad „WiFiManager“reikia atsisiųsti atskirai. Įtraukiau jas į „Libraries.zip“failą.
7 veiksmas: sąranka pirmą kartą
Pirmą kartą naudojant „IoT Smart Timer“reikia prijungti prie „WiFi“tinklo. Ši užduotis atliekama naudojant „WiFiManager“biblioteką, todėl į kodą nereikia įvesti jokių SSID ar slaptažodžių.
Atlikite šiuos kelis veiksmus:
- Įjunkite įrenginį
- Šviesos diodas pradės greitai mirksėti
- Paspauskite MODE/SETUP mygtuką
- Kai šviesos diodas išsijungia, atleiskite mygtuką
- Palaukite kelias sekundes, tada atidarykite išmaniojo telefono ar įrenginio „WiFi“ryšius
- Bus matomas naujas „WiFi“tinklo žodis, pavadintas „IoT Timer“
- Pasirinkite šį prieigos tašką
- Prisijunkite prie „IoT Timer“(slaptažodžio nereikia)
- Palaukite, kol jūsų prietaisas bus prijungtas prie „IoT Timer“tinklo
- Atidarykite bet kurią interneto naršyklę
- Adreso juostoje įveskite šį IP adresą - 192.168.4.1
- Bus atidaryta „WiFiManager“konsolė
- Pasirinkite Konfigūruoti „WiFi“
- Bus rodomas galimų „WiFi“tinklo taškų sąrašas
- Pasirinkite reikiamą „WiFi“tinklą ir įveskite slaptažodį
- Tada įveskite IP adresą, kurį norite naudoti prisijungdami prie „IoT Timer“
- Įveskite numatytąjį šliuzo IP adresą, po to - kaukę
- Atlikę visus nustatymus, spustelėkite mygtuką Išsaugoti
- Atsidarys naujas langas, patvirtinantis, kad nauji įgaliojimai buvo išsaugoti
- Uždarykite naršyklę
Išsaugojus „IoT Timer“tinklas išsijungs, o įrenginys bandys prisijungti prie „WiFi“tinklo.
- Prijunkite savo išmanųjį telefoną ar įrenginį prie to paties „WiFi“tinklo, kuris buvo naudojamas „IoT Timer“.
- Atidarykite naršyklę
- Adreso juostoje įveskite savo „IoT Timer“IP adresą
- Atsidarys „IoT Timer“konfigūracijos puslapis
„IoT Timer“dabar paruoštas naudoti
8 veiksmas: „IoT Timer“sąranka
Įdiegtą „IoT Timer“tinklalapį sudaro penki skyriai:
Būsena
Tai rodo įrenginio pavadinimą, taip pat esamą laiką ir laikmačio išvesties būseną
Be to, šiame skyriuje nustatytas laikmačio darbo režimas. Yra trys režimai:
- Automatinis išėjimas bus valdomas naudojant skirtingas laikmačio programas
- Įjungta - išvestis priverstinai įjungta ir liks, kol bus pakeistas režimas
- Išjungta - išvestis priverstinai išjungta ir liks išjungta, kol nebus pakeistas režimas.
Programos
Šiame skyriuje pateikiamas laikmačio įjungimo ir išjungimo laikas. Yra septynios programos, ir kiekvieną programą galima nustatyti atskirai.
Prieš keisdami kitą programą, paspauskite SAVE mygtuką, kad išsaugotumėte visus dabartinės programos pakeitimus.
Mygtuko funkcija
Mygtuku MODE/SETUP galima valdyti išėjimo relę įprasto darbo metu. Čia pasirinkite, ką mygtukas turi daryti paspaudus.
Pažymėkite langelį „Atnaujinti mygtuko funkciją“prieš paspausdami mygtuką Išsaugoti, kad išsaugotumėte naujus nustatymus.
Konfigūracija
Čia galite pakeisti daiktų interneto laikmačio pavadinimą. Tai leidžia lengvai atskirti kelis laikmačius.
Laikas įrenginyje gaunamas iš interneto per NTP laiko serverį. Norėdami rodyti teisingą laiką, atnaujinkite laiko juostą į savo regioną.
Jei norite naudoti kitą NTP laiko serverį, įveskite naują IP adresą į jam skirtą vietą.
Pažymėkite langelį „Atnaujinti konfigūraciją“prieš paspausdami mygtuką Išsaugoti, kad išsaugotumėte naujus nustatymus.
PASTABA
Keičiant laiko juostą, naujas laikas bus nustatytas teisingai tik per kitą laiko užklausą. Įrenginys nustatytas atnaujinti laiką kas 5 minutes.
Laiko koregavimas
Kartais nutinka taip, kad NTP laiko serveris neatsako į kiekvieną užklausą. Jei per NTP serverį laikas bus nustatytas per ilgai, laiką ir datą galite įvesti rankiniu būdu.
Pažymėkite langelį „Atnaujinti laiką“prieš paspausdami mygtuką Išsaugoti, kad išsaugotumėte naują laiką ir datą.
Laiko sinchronizavimas
Paskutinėje puslapio dalyje nurodomas laikas ir data, kada paskutinis laikas buvo sinchronizuotas per NTP laiko serverį.
Rekomenduojamas:
„Arduino“sukurtas namų darbų laikmatis: 5 žingsniai
Namų darbų laikmatis, kurį sukūrė Arduino: Ar jūsų vaikas valandas rašo namų darbus? Ar jūsų vaikas lengvai blaškosi aplinkinių, kai jis atlieka namų darbus? Šiandien aš bandžiau padaryti geriausią šio konflikto sprendimą: „Arduino“pagamintą laikmatį. Kodėl aš bandau padaryti šį laikmatį, o ne
„Wi-Fi“valdomas 4 kanalų relės modulis namų automatizavimui: 7 žingsniai (su paveikslėliais)
„WI-Fi“valdomas 4 kanalų relės modulis namų automatizavimui: anksčiau naudoju daugybę WI-FI, pagrįstų išjungimo jungikliais. Bet tai neatitinka mano reikalavimų. Štai kodėl aš norėjau sukurti savo, kuris galėtų pakeisti įprastus sieninio jungiklio lizdus be jokių pakeitimų. „ESP8266“mikroschema įgalina „Wi -Fi“
„Homie“prietaisų kūrimas daiktų internetui ar namų automatizavimui: 7 žingsniai (su nuotraukomis)
„Homie“prietaisų kūrimas daiktų internetui ar namų automatizavimui: ši instrukcija yra mano „pasidaryk pats“namų automatikos serijos dalis, skaitykite pagrindinį straipsnį „Pasidaryk pats namų automatizavimo sistemos planavimas“. Jei dar nežinote, kas yra Homie, pažvelkite į homie-esp8266 + homvin iš Marvin Roger. Yra daug senų
„Pasidaryk pats“IoT lempa namų automatizavimui -- ESP8266 pamoka: 13 žingsnių (su nuotraukomis)
„Pasidaryk pats“IoT lempa namų automatizavimui || ESP8266 pamoka: Šioje pamokoje mes pagaminsime išmaniąją lempą, prijungtą prie interneto. Tai gilinsis į daiktų internetą ir atvers namų automatikos pasaulį! Lempa yra prijungta prie „WiFi“ir sukurta taip, kad turėtų atviro pranešimo protokolą. Tai reiškia, kad galite pasirinkti
Išmanusis namų stebėjimas naudojant „Alexa“ir „Arduino“: 9 žingsniai (su paveikslėliais)
Išmaniųjų namų stebėjimas naudojant „Alexa“ir „Arduino“: dabartiniame pasaulyje žmonės daugiau laiko praleidžia darbe, o ne namuose. Todėl reikia namų stebėjimo sistemos, kurioje žmonės galėtų susipažinti su namo sąlygomis dirbdami. Būtų dar geriau, jei vienas