Sadržaj:

ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju: 9 koraka (sa slikama)
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju: 9 koraka (sa slikama)

Video: ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju: 9 koraka (sa slikama)

Video: ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju: 9 koraka (sa slikama)
Video: Kako programirati ESP8266 ESP-01 Wi-Fi relejni modul 2024, Studeni
Anonim
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju
ESP8266-01 IoT pametni mjerač vremena za kućnu automatizaciju

NADOPUNE

30.9.2018: Firmware ažuriran na Ver 1.09. Sada s osnovnom podrškom Sonoff

10.01.2018: Probna verzija firmvera 1.10 dostupna za testiranje na ESP8266-01 s problemima

S obzirom na to da su nove riječi Internet Internet of Things (IoT) i Home Automation, odlučio sam pogledati trenutne stavke u i oko svog doma kojima se upravlja putem neke vrste uređaja. Istaknute stavke su sljedeće:

  • Pumpa za bazen
  • Punilo za vodu u bazenu
  • Bazen i okolna svjetla
  • Svjetla ormara TV/zabavnog sustava

Uobičajena stavka koja se koristi za upravljanje tim uređajima su standardni mjerači vremena na zidu. Svaki uređaj ima vlastiti mjerač vremena i svi se nalaze na različitim mjestima. Možda ste se pitali zašto sam odabrao ove stavke za početak s projektima Interneta stvari ili kućne automatizacije?

Pa, život u Južnoj Africi znači da su nestanci struje redovita pojava. Prema statistikama moje kuće, u prošloj godini imao sam 35 nestanka struje, ukupno 40 sati. To obično nije problem jer su svi trenutno instalirani mjerači vremena opremljeni rezervnom baterijom za mjerenje vremena tijekom nestanka struje. No postoje neki problemi:

  • Ove rezervne baterije traju samo godinu ili dvije, a zatim je potrebno zamijeniti mjerač vremena. Odbrojavači su konstruirani tako da ih je potrebno uništiti kako bi se dobio pristup internoj Ni-Cad bateriji.
  • Svaki put kad nestane napajanja, potrebno je ponovno programirati mjerače vremena s neispravnim baterijama i postaviti vrijeme.
  • Fizički položaj mjerača vremena, kad je uključen u zidnu utičnicu, čini gotovo nemogućim čitanje LCD zaslona gledajući mjerač vremena s gornje strane. To znači da je mjerač vremena potrebno isključiti iz utičnice ili moram ležati na podu kako bih postavio ili prilagodio mjerače vremena nakon nestanka struje.

Zbog gore navedenih razloga, odlučio sam testirati mogućnost zamjene mjerača vremena IoT Smart Timer -om, povezanim s mojom lokalnom kućnom mrežom.

Ideja je bila dizajnirati samostalni mjerač vremena koji može:

  • Automatski prilagodite trenutno vrijeme putem interneta (IoT)
  • Rad bez ikakvih radnji korisnika (pametno)
  • Uključite/isključite izlaz prema postavljenim vremenima (Timer)
  • Mogućnost programiranja i upravljanja putem mreže (kućna automatizacija)

Korak 1: Dizajn ESP8266-01

Dizajn ESP8266-01
Dizajn ESP8266-01
Dizajn ESP8266-01
Dizajn ESP8266-01

Dizajn je napravljen pomoću WiFi modula ESP8266-01, jer je to ono što sam imao na raspolaganju. U svom najjednostavnijem obliku, ESP8266-01 ima četiri I/O pina:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Načini uključivanja

Logičko stanje I/O pinova koristi se za određivanje u kojem će se načinu ESP8266-01 podići. Prvi korak bio je odrediti koji se I/O pinovi mogu koristiti za pogon izlaznog releja.

  • Za normalno uključivanje, GPIO0 i GPIO2 moraju biti postavljeni na logičku VISOKU. Stoga je jasno da se ova dva pina ne mogu koristiti kao digitalni izlaz.
  • Tx pin je postavljen kao izlaz pri uključivanju, a izlaz je postavljen visoko. Ovaj Tx pin također prenosi neke serijske podatke tijekom uključivanja. Stoga se ovaj pin također ne može koristiti kao izlaz.

Jedini preostali pin je Rx pin. Ovaj pin je postavljen kao ulaz pri uključivanju i ne mora se povlačiti visoko tijekom uključivanja. Ovaj pin je stoga najprikladniji za upotrebu kao izlazni pin.

Dignuti

Kako bi se osigurao ispravan način pokretanja ESP8266-01 tijekom uključivanja, sljedeći pinovi se povlače visoko pomoću 10K otpornika:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

To osigurava da se uređaj ispravno pokreće svaki put.

Izlazni relej

RX je jedini pin prikladan za upotrebu kao izlaz. Ovaj pin se tako koristi za pogon izlaznog releja preko NPN tranzistora. Dodane su standardne otpornice diode zamašnjaka i tranzistora.

MODE/SET tipka

Gumb je spojen na GPIO2, a otpuštenim gumbom, otpornik od 10K povući će GPIO2 visoko. Dok je tipka pritisnuta, GPIO2 se povlači na 0V.

Ovaj gumb se koristi za dvije funkcije:

  • Početna postavka za povezivanje jedinice s lokalnom WiFi mrežom
  • Za ručno upravljanje izlazom tijekom normalnog rada

LED indikacija

LED dioda je spojena na GPIO0 i označava sljedeće:

  • Pri početnom uključivanju, treperi FAST kako bi označio način postavljanja WiFi -a
  • Treperi sporo ako vrijeme jedinice nije postavljeno
  • označava status uključenog/isključenog izlaznog releja

Korak 2: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje

IoT Smart Timer koristit ću na različitim razinama napona, stoga su dostupne dvije mogućnosti napajanja:

12 - 24V DC

Upotrijebljeni DC-DC pretvarač prikladan je za napajanje do 28 V DC. Izlaz pretvarača je podesiv i postavljen je na 5V. To je potrebno učiniti prije povezivanja modula ESP8266.

Za zaštitu od obrnutog polariteta na ulazu napajanja dodana je dioda.

220V AC Za ovu opciju uspio sam nabaviti malo napajanje sa 220V/5V prekidačem na eBayu.

Bez obzira na ulazni napon, IoT Smart Timeru trebaju dva izvora napajanja:

5V tračnica

S obje opcije, 5 V DC dobiva se iz napajanja s uključenim načinom rada, a ne linearnog regulatora. To znači da izvor napajanja generira minimalnu toplinu. 5V se koristi za pogon izlaznog releja

3.3V tračnica

3.3V za ESP8266-01 dobiva se iz ASM1117 3.3 regulatora. ASM1117 3.3 je linearni regulator i može podnijeti do 500mA. Međutim, proizvedena toplina bit će određena ulaznim naponom na ASM1117. Kako bi se smanjila toplina, ASM1117 se napaja iz 5V šine.

Filtriranje buke

Kako bi se smanjilo valovanje napona na ESP8266-01, šina od 3,3 V opremljena je kondenzatorom od 100 - 1000 uf. I 5V i 3.3V tračnice također su zaštićene od visokofrekventnih smetnji pomoću 0,1uf kondenzatora.

Korak 3: Sastavljanje PC ploče

Sastavljanje PC ploče
Sastavljanje PC ploče
Sastavljanje PC ploče
Sastavljanje PC ploče
Sastavljanje PC ploče
Sastavljanje PC ploče

PC ploča je dizajnirana pomoću besplatne verzije Eagle -a. To je jednostrana ploča koja se lako može izraditi kod kuće metodom prijenosa tonera.

Nakon što je PC ploča napravljena, sastavite PC ploču sljedećim redoslijedom:

  • Lemite regulator ASM1117 i tri SMU komponente od 0,1 uf na lemljenu stranu ploče
  • Dodajte jedan kratkospojnik na komponentnu stranu ploče
  • Lemite otpornike i diode na mjestu
  • Dodajte zaglavlja za modul ESP8266-01
  • Dodajte pinove zaglavlja za LED i gumb
  • Dodajte vijčane stezaljke
  • Pomoću iglica zaglavlja spojite DC/DC pretvarač na ploču.
  • Lemite relej na mjesto
  • Dovršite ploču lemljenjem tranzistora i 100uf kondenzatora.

Nakon što su sve komponente lemljene na ploču, provjerite sve točke lemljenja i pazite da nema kratkih spojeva između pločica.

! ! ! VAŽNA NOTA ! ! ! Kako biste osigurali da PC ploča može podnijeti velike struje na izlaznim kontaktima, nanesite pristojnu količinu lemljenja na tragove između kontakata releja i vijčanih stezaljki

Korak 4: Testiranje PC ploče

Testiranje PC ploče
Testiranje PC ploče

! ! ! Prije primjene napajanja! ! !

Izvadite modul ESP8266-01 iz jedinice. Time se sprječava pregrijavanje regulatora ASM1117 prije podešavanja 5V napajanja.

Ne postoji mnogo testova koji se mogu obaviti nakon montaže. Najvažniji korak je osigurati ispravnu razinu napona.

  • Priključite 12 - 24V DC na jedinicu.
  • Izmjerite izlazni napon DC/DC pretvarača
  • Podesite izlaz pretvarača na između 5,0 i 5,5 V.
  • Zatim izmjerite napajanje od 3,3 V.
  • Ako su zalihe u redu, isključite napajanje iz jedinice

Sada možete umetnuti modul ESP8266-01 u predviđena zaglavlja.

! ! ! Bilješka !

Nakon što isprobate IoT Timer i on radi, upotrijebite prozirni lak za prekrivanje lemljene strane PC ploče. To će spriječiti oksidaciju tragova i osigurati dodatnu izolaciju između kontakata releja i ostatka kruga

Korak 5: Ograđivanje

Kućište
Kućište
Kućište
Kućište
Kućište
Kućište

Kućište nije toliko važno, sve dok PC ploča i sve ožičenje uredno i sigurno stanu u nju.

Kako bih olakšao gradnju, izradio sam kabel sa LED i tipkom MODE/SETUP spojenim na njega. To mi je dalo veću fleksibilnost u postavljanju LED diode i gumba na kućište. Ovaj se kabel zatim priključuje u zaglavlje na PC ploči.

Fotografije prikazuju jednu od 12V jedinica koje se koriste za LED svjetla.

Korak 6: 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

Da biste programirali ESP8266-01, prvo morate postaviti Arduino IDE. Ne ulazim u ove detalje, jer na tu temu postoji mnogo sjajnih instrukcija. Odabrao sam sljedeće veze na uputama za upućivanje, bez ikakvog posebnog naloga autorima. Hvala im na individualnim uputama.

Slijedite ove ESP8266 i Arduino IDE za postavljanje Arduino IDE -a za ESP8266 modul.

Zatim će vam za programiranje ESP8266 biti potreban programer. Evo dva linka:

Korištenje Arduino Uno

Programska ploča "uradi sam"

Knjižnice

Morat ćete instalirati dodatne knjižnice da biste mogli sastaviti kôd. Opet, pogledajte ovo uputstvo:

Instalirajte i koristite Arduino knjižnice

Ne mogu se sjetiti koje sam knjižnice morao instalirati, ali znam da se WiFiManager mora preuzeti zasebno. Uključio sam ih u datoteku Libraries.zip.

Korak 7: Prvo postavljanje

Prvo postavljanje
Prvo postavljanje
Prvo postavljanje
Prvo postavljanje
Prvo postavljanje
Prvo postavljanje

Kada se prvi put koristi, IoT Smart Timer mora biti povezan s WiFi mrežom. Ovaj se zadatak obavlja pomoću biblioteke WiFiManager, tako da u kôd nije potrebno upisivati SSID ili lozinke.

Slijedite ovih nekoliko koraka:

  • Uključite jedinicu
  • LED dioda će početi brzo treptati
  • Pritisnite gumb MODE/SETUP
  • Kad se LED lampica isključi, otpustite tipku
  • Pričekajte nekoliko sekundi, a zatim otvorite WiFi vezu pametnog telefona ili uređaja
  • Bit će vidljiva nova WiFi mreža pod nazivom IoT Timer
  • Odaberite ovu pristupnu točku
  • Prijavite se na IoT Timer (lozinka nije potrebna)
  • Pričekajte dok se vaš uređaj ne poveže s IoT Timer mrežom
  • Otvorite bilo koji internetski preglednik
  • U adresnu traku upišite sljedeću IP adresu - 192.168.4.1
  • Otvorit će se WiFiManager konzola
  • Odaberite Konfiguriraj WiFi
  • Prikazat će se popis s dostupnim točkama WiFi mreža
  • Odaberite željenu WiFi mrežu i upišite lozinku
  • Zatim unesite IP adresu koju želite koristiti za povezivanje s IoT Timer -om
  • Unesite zadanu IP adresu mrežnog prolaza, a zatim masku
  • Nakon što su sve postavke gotove, kliknite gumb Spremi
  • Otvorit će se novi prozor za potvrdu da su nove vjerodajnice spremljene
  • Zatvorite svoj preglednik

Nakon spremanja, mreža IoT Timer će se isključiti, a jedinica će se pokušati povezati s vašom WiFi mrežom.

  • Povežite svoj pametni telefon ili uređaj na istu WiFi mrežu koja se koristi za IoT Timer.
  • Otvorite svoj preglednik
  • U adresnu traku upišite IP adresu svog IoT mjerača vremena
  • Otvorit će se stranica s konfiguracijom IoT Timer -a

Vaš IoT timer sada je spreman za upotrebu

Korak 8: Postavljanje IoT mjerača vremena

Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a
Postavljanje IoT Timer -a

Ugrađena web stranica IoT mjerača sastoji se od pet odjeljaka:

Status

Ovdje se prikazuje naziv uređaja, kao i trenutno vrijeme i izlazni status mjerača vremena

Osim toga, način rada mjerača vremena postavljen je u ovom odjeljku. Postoje tri načina:

  • Automatski izlaz bit će kontroliran različitim programima za mjerenje vremena
  • Uključeno - Izlaz je prisilno UKLJUČEN i ostat će uključen sve dok se ne promijeni način rada
  • Isključeno - izlaz je prisilno isključen i ostat će isključen sve dok se ne promijeni način rada.

Programi

Ovaj odjeljak sadrži vremena uključivanja i isključivanja mjerača vremena. Dostupno je sedam programa, a svaki se program može postaviti zasebno.

Prije promjene sljedećeg programa, pritisnite tipku SAVE za spremanje svih promjena u trenutni program.

Funkcija gumba

Tipka MODE/SETUP može se koristiti za upravljanje izlaznim relejem tijekom normalnog rada. Ovdje odaberite što gumb mora učiniti kada se pritisne.

Označite okvir "Funkcija gumba za ažuriranje" prije nego pritisnete gumb Spremi za spremanje novih postavki.

Konfiguracija

Ovdje možete promijeniti naziv IoT mjerača vremena. To olakšava identifikaciju između više mjerača vremena.

Vrijeme na uređaju dobiva se s interneta putem NTP vremenskog poslužitelja. Da biste prikazali točno vrijeme, ažurirajte vremensku zonu u svoju regiju.

Ako želite koristiti drugi NTP vremenski poslužitelj, unesite novu IP adresu u predviđeno mjesto.

Označite okvir "Ažuriraj konfiguraciju" prije nego pritisnete gumb Spremi za spremanje novih postavki.

BILJEŠKA

Prilikom promjene vremenske zone, novo vrijeme bit će ispravno postavljeno samo tijekom sljedećeg upita za vrijeme. Uređaj je postavljen za ažuriranje vremena svakih 5 minuta.

Podešavanje vremena

Ponekad se dogodi da NTP vremenski poslužitelj ne odgovori na svaki upit. Ako je potrebno previše vremena za postavljanje vremena putem NTP poslužitelja, vrijeme i datum možete unijeti ručno.

Označite okvir "Vrijeme ažuriranja" prije nego pritisnete gumb Spremi za spremanje novog vremena i datuma.

Sinkronizacija vremena

Posljednji dio stranice označava vrijeme i datum posljednjeg sinkroniziranja vremena putem NTP poslužitelja vremena.

Preporučeni: