Kazalo:

ESP8266-01 IoT Smart Timer za avtomatizacijo doma: 9 korakov (s slikami)
ESP8266-01 IoT Smart Timer za avtomatizacijo doma: 9 korakov (s slikami)

Video: ESP8266-01 IoT Smart Timer za avtomatizacijo doma: 9 korakov (s slikami)

Video: ESP8266-01 IoT Smart Timer za avtomatizacijo doma: 9 korakov (s slikami)
Video: Умное окно - автоматизация проветривания комнаты, интеграция в Home Assistant 2024, Julij
Anonim
ESP8266-01 IoT Smart timer za avtomatizacijo doma
ESP8266-01 IoT Smart timer za avtomatizacijo doma
ESP8266-01 IoT Smart timer za avtomatizacijo doma
ESP8266-01 IoT Smart timer za avtomatizacijo doma
ESP8266-01 IoT Smart timer za avtomatizacijo doma
ESP8266-01 IoT Smart timer za avtomatizacijo doma

Posodobitve

30.9.2018: Vdelana programska oprema posodobljena na Ver 1.09. Zdaj s osnovno podporo Sonoff

01.10.2018: Poskusna različica vdelane programske opreme 1.10 je na voljo za preskušanje na ESP8266-01 s težavami

Ker sta novi modni besedi Internet Of Things (IoT) in Home Automation, sem se odločil, da si ogledam aktualne predmete v in okoli mojega doma, ki jih nadzorujemo prek neke vrste naprave. Izstopajoči elementi so naslednji:

  • Črpalka za bazen
  • Polnilo vode v bazenu
  • Bazen in luči v okolici
  • Luči omare za TV/zabavni sistem

Običajni predmet, ki se uporablja za krmiljenje teh naprav, so standardni časovniki za stenske vtiče. Vsaka naprava ima svoj časovnik in se nahajajo na različnih lokacijah. Zakaj ste se torej odločili za te predmete za začetek pri projektih Internet of Things ali Home Automation, se boste morda vprašali?

No, življenje v Južni Afriki pomeni, da so izpadi električne energije reden pojav. S statistiko doma sem imel v zadnjem letu 35 izpadov električne energije, skupaj skupaj 40 ur. Običajno to ni problem, saj so vsi trenutno nameščeni časovniki opremljeni z rezervno baterijo za merjenje časa med izpadi električne energije. Obstaja pa nekaj vprašanj:

  • Te rezervne baterije trajajo le leto ali dve, nato pa je treba časomer zamenjati. Merilniki časa so izdelani tako, da je treba časovnik uničiti za dostop do notranje baterije Ni-Cad.
  • Vsakič, ko se napajanje izklopi, je treba časovnike z okvarjenimi baterijami ponovno programirati in nastaviti čas.
  • Zaradi fizične lokacije časovnika, ko je vklopljen v stensko vtičnico, skoraj ni mogoče brati LCD zaslonov, ki gledajo časovnik od zgoraj. To pomeni, da je treba časovnik odklopiti ali pa moram ležati na tleh, da nastavim ali nastavim časovnike po izpadu napajanja.

Zaradi zgornjih razlogov sem se odločil preizkusiti možnost zamenjave časovnikov s pametnim časovnikom IoT, povezanim z mojim lokalnim domačim omrežjem.

Ideja je bila oblikovati samostojen časomer, ki lahko:

  • Samodejno prilagodi trenutni čas z internetom (IoT)
  • Deluje brez uporabnikovih dejanj (pametno)
  • Vklop/izklop izhoda glede na nastavljene čase (časovnik)
  • Programabilno in nadzorovano prek omrežja (Home Automation)

1. korak: Zasnova ESP8266-01

Zasnova ESP8266-01
Zasnova ESP8266-01
Zasnova ESP8266-01
Zasnova ESP8266-01

Oblikovanje je bilo izvedeno z uporabo modula WiFi ESP8266-01, saj sem imel to na voljo. V najpreprostejši obliki ima ESP8266-01 štiri V/I zatiče:

  • GPIO0
  • GPIO2
  • TX
  • RX

Načini vklopa ESP8266-01

Logično stanje vhodno/izhodnih zatičev se uporablja za določitev, v katerem načinu se bo ESP8266-01 zagnal. Prvi korak je bil ugotoviti, kateri od vhodno -izhodnih zatičev se lahko uporabi za pogon izhodnega releja.

  • Za normalno napajanje morate GPIO0 in GPIO2 nastaviti na logično HIGH. Tako je jasno, da teh dveh nožic ni mogoče uporabiti kot digitalni izhod.
  • Pin Tx je nastavljen kot izhod ob vklopu, izhod pa visoko. Ta Tx pin tudi prenaša nekaj serijskih podatkov med vklopom. Tako tudi tega zatiča ni mogoče uporabiti kot izhod.

Edini preostali pin je pin Rx. Ta zatič je nastavljen kot vhod pri vklopu in ga med vklopom ni treba močno vleči. Ta pin je tako najprimernejši za uporabo kot izhodni zatič.

Zagon

Za zagotovitev pravilnega zagonskega načina ESP8266-01 med vklopom se naslednji zatiči potegnejo visoko z 10K upori:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

To zagotavlja, da se naprava vsakič pravilno zažene.

Izhodni rele

RX je edini pin, primeren za uporabo kot izhod. Ta pin se tako uporablja za pogon izhodnega releja preko tranzistorja NPN. Dodane so bile standardne diode vztrajnika in osnovni tranzistorski upori.

Gumb MODE/SET

Gumb je priključen na GPIO2 in z sproščenim gumbom 10K upor potegne GPIO2 visoko. S pritiskom na gumb se GPIO2 potegne na 0V.

Ta gumb se uporablja za dve funkciji:

  • Začetna nastavitev za povezavo enote z lokalnim omrežjem WiFi
  • Za ročni nadzor izhoda med običajnim delovanjem

LED indikacija

LED je priključen na GPIO0 in označuje naslednje:

  • Ob prvem vklopu utripa FAST, kar označuje način nastavitve WiFi
  • Utripa počasi, ko čas enote ni nastavljen
  • označuje stanje vklopa/izklopa izhodnega releja

2. korak: Napajanje

Napajalnik
Napajalnik
Napajalnik
Napajalnik
Napajalnik
Napajalnik

IoT Smart Timer bom uporabljal na različnih nivojih napetosti, zato sta na voljo dve možnosti napajanja:

12 - 24V DC

Uporabljen pretvornik DC-DC je primeren za napajanje do 28V DC. Izhod pretvornika je nastavljiv in nastavljen na 5V. To je treba storiti, preden priključite modul ESP8266.

Za zaščito pred obratno polariteto na vhodu za napajanje je bila dodana dioda.

220V AC Za to možnost sem na eBayu lahko dobil majhen napajalnik za 220V/5V način stikala.

Ne glede na vhodno napetost potrebuje IoT Smart Timer dva napajalnika:

5V tirnica

Pri obeh možnostih 5V DC dobimo iz napajalnika s preklopnim načinom delovanja in ne linearnega regulatorja. To pomeni, da napajalnik proizvede minimalno toploto. 5V se uporablja za pogon izhodnega releja

3.3V tirnica

3.3V za ESP8266-01 dobimo iz regulatorja ASM1117 3.3. ASM1117 3.3 je linearni regulator in lahko prenese do 500 mA. Proizvedena toplota bo določena z vhodno napetostjo ASM1117. Za zmanjšanje toplote se ASM1117 napaja iz 5V tirnice.

Filtriranje hrupa

Za zmanjšanje valovanja napetosti na ESP8266-01 je tirnica 3.3V opremljena s kondenzatorjem 100 - 1000uf. Tako tirnice 5V kot 3.3V so zaščitene pred visokofrekvenčnimi motnjami s pomočjo 0,1uf kondenzatorjev.

3. korak: Sestavljanje PC plošče

Sestavljanje PC plošče
Sestavljanje PC plošče
Sestavljanje PC plošče
Sestavljanje PC plošče
Sestavljanje PC plošče
Sestavljanje PC plošče

PC Board je bil zasnovan z brezplačno različico programa Eagle. To je enostranska plošča, ki jo lahko preprosto naredite doma z uporabo metode prenosa tonerja.

Ko je tiskalniška plošča sestavljena, jo sestavite v naslednjem vrstnem redu:

  • Spajite regulator ASM1117 in tri komponente SMD 0,1 uf na stran spajkanja plošče
  • Enojni mostiček dodajte na sestavno stran plošče
  • Spajate upore in diode
  • Dodajte glave za modul ESP8266-01
  • Dodajte zatiče glave LED in gumb
  • Dodajte vijačne sponke
  • Z zatiči za glavo priključite pretvornik DC/DC na ploščo.
  • Spajite rele na svoje mesto
  • Dopolnite ploščo s spajkanjem tranzistorja in 100uf kondenzatorja.

Ko so vse komponente spajkane na ploščo, preverite vse točke spajkanja in pazite, da med blazinicami ne pride do kratkega stika.

! ! ! POMEMBNO OPOMBA! ! ! Da bi zagotovili, da lahko PC -plošča prenese velike tokove na izhodnih kontaktih, na tire med relejskimi kontakti in vijačnimi sponkami nanesite primerno količino spajkanja

4. korak: Preizkus PC plošče

Testiranje PC plošče
Testiranje PC plošče

! ! ! Pred uporabo moči! ! !

Odstranite modul ESP8266-01 iz enote. S tem preprečite pregrevanje regulatorja ASM1117, preden nastavite napajanje 5V.

Po montaži ni veliko preskusov. Najpomembnejši korak je zagotoviti pravilno napetost.

  • Na enoto priključite 12 - 24V DC.
  • Izmerite izhodno napetost DC/DC pretvornika
  • Izhod pretvornika nastavite na med 5,0 in 5,5 V.
  • Nato izmerite napajanje 3,3 V.
  • Če so zaloge v redu, izklopite napajanje iz enote

Zdaj lahko vstavite modul ESP8266-01 v priložene glave.

! ! ! Opomba ! !

Ko preizkusite časovnik IoT in deluje, uporabite prozorni lak, da prekrijete stran spajkanja plošče računalnika. To bo preprečilo oksidacijo sledi in zagotovilo dodatno izolacijo med relejskimi kontakti in preostalim vezjem

5. korak: Ohišje

Ohišje
Ohišje
Ohišje
Ohišje
Ohišje
Ohišje

Ohišje ni tako pomembno, dokler se tiskana plošča in vsa ožičenja lepo in varno prilegajo vanjo.

Za lažjo gradnjo sem sestavil kabel z LED in gumbom NAČIN/NASTAVITEV, povezanim z njim. To mi je dalo večjo prilagodljivost pri nameščanju LED in gumba na ohišje. Ta kabel je nato priključen v glavo na plošči računalnika.

Fotografije prikazujejo eno od 12V enot, ki se uporabljajo za LED luči.

6. korak: Programiranje ESP8266-01/NodeMCU

Programiranje ESP8266-01/NodeMCU
Programiranje ESP8266-01/NodeMCU
Programiranje ESP8266-01/NodeMCU
Programiranje ESP8266-01/NodeMCU
Programiranje ESP8266-01/NodeMCU
Programiranje ESP8266-01/NodeMCU

Če želite programirati ESP8266-01, morate najprej nastaviti Arduino IDE. Ne bom se spuščal v te podrobnosti, saj je na to temo na voljo veliko odličnih navodil. Za referenco sem izbral naslednje povezave na Instructables, brez posebnega naročila avtorjem. Hvala za posamezna navodila.

Sledite tem ESP8266 in Arduino IDE, da nastavite Arduino IDE za modul ESP8266.

Nato boste za programiranje ESP8266 potrebovali programerja. Tu sta dve povezavi:

Uporaba Arduino Uno

Programska plošča DIY

Knjižnice

Če želite sestaviti kodo, boste morali namestiti dodatne knjižnice. Ponovno glejte ta navodila:

Namestite in uporabljajte Arduino knjižnice

Ne spomnim se, katere knjižnice sem moral namestiti, vendar vem, da je treba WiFiManager prenesti ločeno. Te sem vključil v datoteko Libraries.zip.

7. korak: Prva nastavitev

Prva nastavitev
Prva nastavitev
Prva nastavitev
Prva nastavitev
Prva nastavitev
Prva nastavitev

Pri prvi uporabi mora biti IoT Smart Timer povezan z omrežjem WiFi. Ta naloga se izvaja s knjižnico WiFiManager, zato v kodo ni treba vnesti SSID ali gesel.

Sledite tem nekaj korakom:

  • Vklopite enoto
  • LED -dioda bo začela hitro utripati
  • Pritisnite gumb MODE/SETUP
  • Ko se LED ugasne, spustite gumb
  • Počakajte nekaj sekund, nato odprite povezave pametnega telefona ali naprave WiFi
  • Videlo se bo novo omrežje WiFi, imenovano IoT Timer
  • Izberite to dostopno točko
  • Prijavite se v časovnik IoT (geslo ni potrebno)
  • Počakajte, da se naprava poveže z omrežjem IoT Timer
  • Odprite kateri koli internetni brskalnik
  • V naslovno vrstico vnesite naslednji naslov IP - 192.168.4.1
  • Odprla se bo konzola WiFiManager
  • Izberite Konfiguriraj WiFi
  • Prikazal se bo seznam z razpoložljivimi točkami omrežij WiFi
  • Izberite zahtevano omrežje WiFi in vnesite geslo
  • Nato vnesite naslov IP, ki ga želite uporabiti za povezavo s časovnikom IoT
  • Vnesite naslov IP privzetega prehoda, nato masko
  • Ko so vse nastavitve končane, kliknite gumb Shrani
  • Odprlo se bo novo okno za potrditev shranjevanja novih poverilnic
  • Zaprite brskalnik

Ko se shrani, se bo omrežje IoT Timer izklopilo in enota se bo poskušala povezati z vašim omrežjem WiFi.

  • Pametni telefon ali napravo povežite z istim omrežjem WiFi, ki se uporablja za časomer IoT.
  • Odprite brskalnik
  • V naslovno vrstico vnesite naslov IP svojega časovnika IoT
  • Odprla se bo konfiguracijska stran časovnika IoT

Vaš časomer IoT je zdaj pripravljen za uporabo

8. korak: Nastavitev časovnika IoT

Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT
Nastavitev časovnika IoT

Vgrajeno spletno stran časomera IoT je sestavljeno iz petih razdelkov:

Stanje

Ta prikazuje ime naprave ter trenutni čas in izhodno stanje časovnika

Poleg tega je v tem razdelku nastavljen način delovanja časovnika. Obstajajo trije načini:

  • Samodejno - izhod bodo nadzorovali različni časovni programi
  • Vklopljeno - Izhod je prisilno vklopljen in bo ostal vklopljen, dokler se način ne spremeni
  • Izklop - Izhod je prisilno izklopljen in ostane izklopljen, dokler se način ne spremeni.

Programi

Ta razdelek vsebuje čas vklopa in izklopa časovnika. Na voljo je sedem programov in vsak program lahko nastavite posebej.

Pred spreminjanjem naslednjega programa pritisnite gumb SAVE, da shranite vse spremembe v trenutnem programu.

Funkcija gumba

Gumb MODE/SETUP lahko uporabite za nadzor izhodnega releja med normalnim delovanjem. Tukaj izberite, kaj mora gumb narediti, ko pritisnete.

Potrdite polje »Funkcija gumba za posodobitev«, preden pritisnete gumb Shrani, da shranite nove nastavitve.

Konfiguracija

Tu lahko spremenite ime IoT Timer. To olajša prepoznavanje med več časovniki.

Čas na enoti se pridobi iz interneta prek časovnega strežnika NTP. Če želite prikazati pravilen čas, posodobite časovni pas za svojo regijo.

Če želite uporabiti drug časovni strežnik NTP, v predvideni prostor vnesite nov naslov IP.

Potrdite polje »Posodobi konfiguracijo«, preden pritisnete gumb Shrani, da shranite nove nastavitve.

OPOMBA

Ko spremenite časovni pas, bo nov čas nastavljen pravilno le pri naslednji poizvedbi. Enota je nastavljena na posodobitev časa vsakih 5 minut.

Prilagoditev časa

Včasih se zgodi, da se časovni strežnik NTP ne odzove ob vsaki poizvedbi. Če traja predolgo, da se čas nastavi prek strežnika NTP, lahko ročno vnesete čas in datum.

Potrdite polje »Posodobi čas«, preden pritisnete gumb Shrani, da shranite nov čas in datum.

Sinhronizacija časa

Zadnji del strani prikazuje čas in datum, ko je bil čas nazadnje sinhroniziran prek časovnega strežnika NTP.

Priporočena: