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, Novembar
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

UPDATES

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

01.10.2018: Probna verzija firmvera 1.10 dostupna za testiranje na ESP8266-01 sa problemima

S obzirom na to da su nove ključne riječi Internet stvari (IoT) i kućna automatizacija, odlučio sam pogledati trenutne stavke u i oko moje kuće 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 sistema

Uobičajena stavka koja se koristi za upravljanje ovim uređajima su standardni mjerači vremena na zidu. Svaki uređaj ima vlastiti mjerač vremena i svi se nalaze na različitim lokacijama. 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 redovna pojava. Prema statistikama moje kuće, u prošloj godini sam imao 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 tokom nestanka struje. Ali postoje neki problemi:

  • Ove rezervne baterije traju samo godinu ili dvije, a zatim je potrebno zamijeniti tajmer. Odbrojavači su konstruirani tako da tajmer treba uništiti da 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čka lokacija mjerača vremena, kada je uključen u zidnu utičnicu, čini gotovo nemogućim čitanje LCD ekrana gledajući mjerač vremena s gornje strane. To znači da tajmer treba isključiti iz utičnice ili da legnem na pod kako bih postavio ili prilagodio tajmere 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 podesite trenutno vrijeme putem interneta (IoT)
  • Radi bez ikakvih radnji korisnika (pametno)
  • Uključite/isključite izlaz prema postavljenim vremenima (tajmer)
  • 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 urađen 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 načinu će se ESP8266-01 pokrenuti. Prvi korak je bio odrediti koji od I/O pinova se može koristiti za pogon izlaznog releja.

  • Za normalno uključivanje, GPIO0 i GPIO2 moraju biti postavljene na logičku HIGH. 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đe prenosi neke serijske podatke tokom 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 tokom uključivanja. Ovaj pin je stoga najpogodniji za upotrebu kao izlazni pin.

Boot-up

Da biste osigurali ispravan način pokretanja ESP8266-01 tokom uključivanja, sljedeći pinovi se izvlače visoko pomoću 10K otpornika:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Ovo osigurava da se uređaj pravilno pokreće svaki put.

Izlazni relej

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

MODE/SET tipka

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

Ovo dugme se koristi za dvije funkcije:

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

LED indikacija

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

  • Prilikom početnog uključivanja, 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

DC-DC pretvarač koji se koristi prikladan je za napajanje do 28V 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 Rail

Kod 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 šina

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 šine zaštićene su od visokofrekventnih smetnji pomoću 0,1uf kondenzatora.

Korak 3: Sastavljanje PC ploče

Sklapanje PC ploče
Sklapanje PC ploče
Sklapanje PC ploče
Sklapanje PC ploče
Sklapanje PC ploče
Sklapanje 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 ASM1117 regulator i tri SMF 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 dugme
  • Dodajte vijčane stezaljke
  • Pomoću iglica zaglavlja spojite DC/DC pretvarač na ploču.
  • Lemite relej na mesto
  • Dovršite ploču lemljenjem tranzistora i 100uf kondenzatora.

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

! ! ! VAŽNA NAPOMENA! ! ! Da 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 uključivanja napajanja! ! !

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

Nema mnogo testova koji se mogu obaviti nakon montaže. Najvažniji korak je osigurati ispravne nivoe 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 3.3V.
  • 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 funkcionira, 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 kola

Korak 5: Ograđivanje

The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure

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

Da bih olakšao gradnju, izradio sam kabel sa LED i tipkom MODE/SETUP spojenim na njega. To mi je dalo veću fleksibilnost pri postavljanju LED diode i dugmeta na kućište. Ovaj kabel se 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 je na raspolaganju dosta sjajnih instrukcija o ovoj temi. Odabrao sam sljedeće linkove na stranici Instructables za referencu, 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

Programerska tabla uradi sam

Biblioteke

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

Instalirajte i koristite Arduino biblioteke

Ne mogu se sjetiti koje sam biblioteke morao instalirati, ali znam da se WiFiManager mora posebno preuzeti. 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 na WiFi mrežu. Ovaj zadatak se 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 dugme MODE/SETUP
  • Kada se LED lampica isključi, otpustite dugme
  • Pričekajte nekoliko sekundi, a zatim otvorite WiFi vezu pametnog telefona ili uređaja
  • Nova WiFi mreža pod nazivom IoT Timer bit će vidljiva
  • Odaberite ovu pristupnu tač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 internet pretraživač
  • U traku za adresu 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 tajmerom
  • Unesite zadanu IP adresu mrežnog prolaza, a zatim masku
  • Nakon što sve postavke budu gotove, kliknite gumb Spremi
  • Otvorit će se novi prozor za potvrdu da su nove vjerodajnice sačuvane
  • Zatvorite pregledač

Nakon spremanja, IoT Timer mreža će se isključiti, a uređaj ć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 tajmer.
  • Otvorite pregledač
  • U adresnu traku upišite IP adresu svog IoT tajmera
  • Otvorit će se stranica za konfiguraciju IoT tajmera

Vaš IoT timer je sada spreman za upotrebu

Korak 8: Postavljanje IoT tajmera

Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera
Postavljanje IoT tajmera

Ugrađena web stranica IoT tajmera sastoji se od pet odjeljaka:

Status

Ovo prikazuje naziv uređaja, kao i trenutno vrijeme i status izlaza tajmera

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

  • Automatski - Izlaz će se kontrolirati 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 tajmera. Dostupno je sedam programa, a svaki program se može postaviti zasebno.

Prije promjene sljedećeg programa, pritisnite tipku SAVE da biste spremili sve promjene u trenutnom programu.

Funkcija dugmeta

Tipka MODE/SETUP može se koristiti za kontrolu izlaznog releja tijekom normalnog rada. Ovdje odaberite šta dugme mora učiniti kada se pritisne.

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

Konfiguracija

Ovdje možete promijeniti naziv IoT tajmera. Ovo olakšava identifikaciju između više tajmera.

Vrijeme na uređaju dobiva se s interneta putem NTP vremenskog servera. Da biste prikazali tač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 će biti ispravno postavljeno samo prilikom sljedećeg upita za vrijeme. Uređaj je podešen da ažurira vrijeme svakih 5 minuta.

Time Adjust

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

Označite okvir "Vrijeme ažuriranja" prije nego pritisnete gumb Spremi da biste spremili novo vrijeme i datum.

Sinhronizacija vremena

Zadnji dio stranice označava vrijeme i datum kada je zadnji put vrijeme bilo sinkronizirano putem NTP poslužitelja vremena.

Preporučuje se: