Sisällysluettelo:

ESP8266-01 IoT-älykäs ajastin kotiautomaatioon: 9 vaihetta (kuvilla)
ESP8266-01 IoT-älykäs ajastin kotiautomaatioon: 9 vaihetta (kuvilla)

Video: ESP8266-01 IoT-älykäs ajastin kotiautomaatioon: 9 vaihetta (kuvilla)

Video: ESP8266-01 IoT-älykäs ajastin kotiautomaatioon: 9 vaihetta (kuvilla)
Video: Разработка WEB-интерфейса для ESP8266. Часть 1: Подготовка скетча в Arduino IDE 2024, Heinäkuu
Anonim
ESP8266-01 IoT-älykäs ajastin kodin automaatioon
ESP8266-01 IoT-älykäs ajastin kodin automaatioon
ESP8266-01 IoT-älykäs ajastin kodin automaatioon
ESP8266-01 IoT-älykäs ajastin kodin automaatioon
ESP8266-01 IoT-älykäs ajastin kodin automaatioon
ESP8266-01 IoT-älykäs ajastin kodin automaatioon

PÄIVITYKSET

30.9.2018: Laiteohjelmisto päivitetty versioon 1.09. Nyt Sonoff Basic -tuella

10.1.2018: Laiteohjelmistoversion 1.10 kokeiluversio testattavissa ESP8266-01-laitteella, jossa on ongelmia

Kun uudet muokatut sanat ovat Internet of Things (IoT) ja Home Automation, päätin tarkastella kotini ja sen ympäristön nykyisiä kohteita, joita ohjataan jonkinlaisella laitteella. Erot, jotka erottuivat, ovat seuraavat:

  • Uima -altaan pumppu
  • Uima -altaan veden täyteaine
  • Uima -allas ja ympäröivät valot
  • TV/viihdejärjestelmän kaapin valot

Näiden laitteiden ohjaamiseen käytetään tavallisia seinäpistokkeen ajastimia. Jokaisessa laitteessa on oma ajastin, ja ne sijaitsevat eri paikoissa. Joten miksi valitsin nämä kohteet aloittaakseni esineiden internetistä tai kodin automaatiohankkeista, saatat kysyä?

Etelä -Afrikassa asuminen tarkoittaa, että sähkökatkot ovat säännöllisiä. Kotini tilastojen mukaan minulla oli 35 sähkökatkoa viime vuonna, yhteensä 40 tuntia. Tämä ei yleensä ole ongelma, koska kaikki tällä hetkellä asennetut ajastimet on varustettu vara-akulla, joka pitää ajan sähkökatkojen aikana. Mutta on joitain ongelmia:

  • Nämä vara-akut kestävät vain vuoden tai kaksi, ja ajastin on vaihdettava. Ajastimet on rakennettu siten, että ajastin on tuhottava päästäkseen sisään sisäiseen Ni-Cad-akkuun.
  • Aina kun virta katkeaa, viallisilla paristoilla varustetut ajastimet on ohjelmoitava uudelleen ja aika on asetettava.
  • Ajastimen fyysinen sijainti, kun se on kytketty pistorasiaan, tekee lähes mahdottomaksi lukea ajastimen katselevia LCD -näyttöjä ylhäältä. Tämä tarkoittaa, että ajastin on irrotettava pistorasiasta tai minun on maattava lattialle asettaaksesi tai säätääksesi ajastimia sähkökatkon jälkeen.

Edellä esitetyistä syistä päätin testata mahdollisuutta korvata ajastimet IoT Smart Timer -laitteella, joka on kytketty paikalliseen kotiverkkoon.

Ajatuksena oli suunnitella erillinen ajastin, joka voi:

  • Säädä kellonaika automaattisesti Internetin avulla (IoT)
  • Toimii ilman käyttäjän toimia (Smart)
  • Kytke lähtö päälle/pois asetettujen aikojen mukaan (ajastin)
  • Ohjelmoitava ja hallittavissa verkon kautta (Home Automation)

Vaihe 1: ESP8266-01-malli

ESP8266-01-malli
ESP8266-01-malli
ESP8266-01-malli
ESP8266-01-malli

Suunnittelu tehtiin käyttämällä ESP8266-01 WiFi-moduulia, koska minulla oli tämä käytettävissä. Yksinkertaisimmassa muodossaan ESP8266-01 sisältää neljä I/O-nastaa:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Käynnistystilat

I/O-nastojen logiikkatilaa käytetään määrittämään, missä tilassa ESP8266-01 käynnistyy. Ensimmäinen askel oli määrittää, mitä I/O -nastoista voidaan käyttää lähtöreleeseen.

  • Normaali käynnistys edellyttää, että GPIO0 ja GPIO2 on asetettava logiikkaan HIGH. Näin ollen on selvää, että näitä kahta nastaa ei voi käyttää digitaalilähtönä.
  • Tx -nasta on asetettu lähtötehoksi käynnistyksen yhteydessä ja lähtö asetettu korkealle. Tämä Tx -nasta lähettää myös joitain sarjatietoja käynnistyksen aikana. Näin ollen tätä tappia ei myöskään voida käyttää ulostulona.

Ainoa jäljellä oleva nasta on Rx -nasta. Tämä nasta on asetettu tuloksi käynnistyksen yhteydessä, eikä sitä tarvitse vetää korkealle käynnistyksen aikana. Tämä tappi on siten sopivin käytettäväksi lähtötappina.

Käynnistyä

Varmistaaksesi ESP8266-01: n oikean käynnistystilan käynnistyksen aikana, seuraavat nastat vedetään korkealle käyttämällä 10K-vastuksia:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Tämä varmistaa, että laite käynnistyy oikein joka kerta.

Lähtörele

RX on ainoa nasta, joka soveltuu käytettäväksi ulostulona. Tätä tappia käytetään siten lähtöreleen ohjaamiseen NPN -transistorin kautta. Lisätty standardi vauhtipyörädiodi ja transistorikannan vastukset.

MODE/SET -painike

Painike on kytketty GPIO2: een, ja painike vapautettuna 10K vastus nostaa GPIO2: n korkealle. Kun painiketta painetaan, GPIO2 vedetään 0V jännitteeseen.

Tätä painiketta käytetään kahteen toimintoon:

  • Alkuasetukset laitteen yhdistämiseksi paikalliseen WiFi -verkkoon
  • Lähdön manuaalinen ohjaus normaalitoimintojen aikana

Merkkivalo

LED on kytketty GPIO0: een ja ilmaisee seuraavaa:

  • Ensimmäisen käynnistyksen yhteydessä vilkkuu FAST, mikä osoittaa WiFi -asetustilan
  • Vilkkuu hitaasti, kun laitteen aikaa ei ole asetettu
  • ilmaisee lähtöreleen On/Off -tilan

Vaihe 2: Virtalähde

Virtalähde
Virtalähde
Virtalähde
Virtalähde
Virtalähde
Virtalähde

Käytän IoT Smart Timeria eri jännitetasoilla, joten käytettävissä on kaksi virtalähdevaihtoehtoa:

12-24 V DC

Käytetty DC-DC-muunnin soveltuu jopa 28 V DC: n jännitteelle. Muuntimen lähtö on säädettävissä ja se on asetettu 5V: ksi. Tämä on tehtävä ennen ESP8266 -moduulin liittämistä.

Diodi lisättiin suojaamaan syöttötulon käänteiseltä napaisuudelta.

220 V AC Tätä vaihtoehtoa varten pystyin hankkimaan pienen 220 V/5 V: n virtalähteen eBayssa.

Tulojännitteestä riippumatta IoT Smart Timer tarvitsee kaksi virtalähdettä:

5V kisko

Molemmilla vaihtoehdoilla 5V DC saadaan kytketystä virtalähteestä eikä lineaarisesta säätimestä. Tämä tarkoittaa, että virtalähde tuottaa vain vähän lämpöä. 5 V: ta käytetään lähtöreleen käyttämiseen

3.3V kisko

ESP8266-01: n 3.3V saadaan ASM1117 3.3 -säätimestä. ASM1117 3.3 on lineaarinen säädin ja kestää jopa 500 mA. Kuitenkin syntyvä lämpö määräytyy ASM1117: n tulojännitteen mukaan. Lämmön vähentämiseksi ASM1117 saa virtansa 5 V: n kiskosta.

Kohinan suodatus

ESP8266-01 -jännitteen aaltoilun vähentämiseksi 3.3V -kisko on varustettu 100 - 1000uf -kondensaattorilla. Sekä 5 V: n että 3,3 V: n kiskot on myös suojattu korkeataajuuksisilta häiriöiltä 0,1uf -kondensaattoreilla.

Vaihe 3: PC -kortin kokoaminen

PC -kortin kokoaminen
PC -kortin kokoaminen
PC -kortin kokoaminen
PC -kortin kokoaminen
PC -kortin kokoaminen
PC -kortin kokoaminen

PC Board on suunniteltu käyttämällä Eaglen ilmaisversiota. Se on yksipuolinen levy, joka voidaan valmistaa helposti kotona väriaineen siirtomenetelmällä.

Kun PC -kortti on tehty, kokoa PC -kortti seuraavassa järjestyksessä:

  • Juotos ASM1117 -säädin ja kolme 0,1uf SMD -komponenttia levyn juotospuolelle
  • Lisää yksittäinen hyppylevy levyn komponenttipuolelle
  • Juotos vastukset ja diodit paikoilleen
  • Lisää otsikot ESP8266-01-moduulille
  • Lisää otsikon tapit LEDille ja painikkeelle
  • Lisää ruuviliittimet
  • Liitä DC/DC -muunnin korttiin käyttämällä otsikkotappeja.
  • Juotos rele paikalleen
  • Täytä levy juottamalla transistori ja 100uf -kondensaattori.

Kun kaikki komponentit on juotettu levyyn, tarkista kaikki juotoskohdat ja varmista, ettei tyynyjen välillä ole oikosulkua.

! ! ! TÄRKEÄ MUISTIINPANO ! ! ! Varmistaaksesi, että PC -kortti pystyy käsittelemään suuria virtoja lähtökoskettimissa, levitä kunnollinen määrä juotetta releiden koskettimien ja ruuviliittimien väliin

Vaihe 4: PC -kortin testaus

PC -levyn testaus
PC -levyn testaus

! ! ! Ennen virran kytkemistä! ! !

Irrota ESP8266-01-moduuli laitteesta. Tämä estää ASM1117 -säätimen ylikuumenemisen ennen 5 V: n virran säätämistä.

Asennuksen jälkeen ei voi tehdä paljon testejä. Tärkein askel on varmistaa oikeat jännitetasot.

  • Kytke laitteeseen 12 - 24 V DC.
  • Mittaa DC/DC -muuntimen lähtöjännite
  • Säädä muuntimen lähtöarvoksi 5,0 - 5,5 V.
  • Mittaa seuraavaksi 3,3 V: n syöttö.
  • Jos virransyöttö on kunnossa, katkaise virta laitteesta

Voit nyt lisätä ESP8266-01-moduulin mukana tuleviin otsikoihin.

! ! ! Huomautus !

Kun olet testannut IoT -ajastimen ja se toimii, peitä kirkkaalla lakalla PC -levyn juotospuoli. Tämä estää kiskojen hapettumisen ja tarjoaa lisäeristyksen relekoskettimien ja muun piirin väliin

Vaihe 5: Kotelo

Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo

Kotelo ei ole niin tärkeä, kunhan PC -kortti ja kaikki johdot mahtuvat siististi ja turvallisesti siihen.

Rakentamisen helpottamiseksi olen tehnyt kaapelin, johon on liitetty LED ja MODE/SETUP -painike. Tämä antoi minulle enemmän joustavuutta LEDin ja painikkeen asentamisessa koteloon. Tämä kaapeli kytketään sitten PC -levyn otsikkoon.

Kuvissa näkyy yksi 12 V: n yksiköistä, joita käytetään LED -valoissa.

Vaihe 6: ESP8266-01/NodeMCU-ohjelmointi

ESP8266-01/NodeMCU ohjelmointi
ESP8266-01/NodeMCU ohjelmointi
ESP8266-01/NodeMCU ohjelmointi
ESP8266-01/NodeMCU ohjelmointi
ESP8266-01/NodeMCU ohjelmointi
ESP8266-01/NodeMCU ohjelmointi

ESP8266-01 ohjelmoimiseksi sinun on ensin määritettävä Arduino IDE. En mene tähän yksityiskohtiin, koska tästä aiheesta on saatavilla paljon hienoja opetusohjelmia. Olen valinnut seuraavat Instructables -linkit viittauksiksi ilman erityistä tilausta tekijöille. Kiitos heidän henkilökohtaisista ohjeistaan.

Määritä Arduino IDE ESP8266 -moduulille noudattamalla näitä ESP8266 ja Arduino IDE.

Seuraavaksi tarvitset ohjelmoijan ESP8266: n ohjelmoimiseksi. Tässä kaksi linkkiä:

Arduino Unon käyttö

DIY -ohjelmointikortti

Kirjastot

Sinun on asennettava lisäkirjastoja voidaksesi koota koodin. Katso jälleen tätä opastettavaa:

Asenna ja käytä Arduino -kirjastoja

En muista, mitkä kirjastot minun piti asentaa, mutta tiedän, että WiFiManager on ladattava erikseen. Olen sisällyttänyt ne Libraries.zip -tiedostoon.

Vaihe 7: Ensimmäinen käyttöönotto

Ensimmäinen asetus
Ensimmäinen asetus
Ensimmäinen asetus
Ensimmäinen asetus
Ensimmäinen asetus
Ensimmäinen asetus

Ensimmäistä kertaa käytettäessä IoT Smart Timer on yhdistettävä WiFi -verkkoon. Tämä tehtävä suoritetaan WiFiManager -kirjaston avulla, joten koodia ei tarvitse kirjoittaa SSID: tä tai salasanoja.

Noudata näitä muutamia vaiheita:

  • Käynnistä laite
  • LED alkaa vilkkua nopeasti
  • Paina MODE/SETUP -painiketta
  • Kun LED sammuu, vapauta painike
  • Odota muutama sekunti ja avaa sitten älypuhelimen tai laitteen WiFi -yhteydet
  • Uusi WiFi -internetsana nimeltä IoT Timer tulee näkyviin
  • Valitse tämä tukiasema
  • Kirjaudu IoT -ajastimeen (salasanaa ei tarvita)
  • Odota, kunnes laite on yhdistetty IoT Timer -verkkoon
  • Avaa mikä tahansa Internet -selain
  • Kirjoita osoiteriville seuraava IP -osoite - 192.168.4.1
  • WiFiManager -konsoli avautuu
  • Valitse Määritä WiFi
  • Näkyviin tulee luettelo käytettävissä olevista WiFi -verkkojen pisteistä
  • Valitse tarvittava WiFi -verkko ja kirjoita salasana
  • Kirjoita seuraavaksi IP -osoite, jolla haluat muodostaa yhteyden IoT -ajastimeen
  • Anna oletusyhdyskäytävän IP -osoite ja peite
  • Kun kaikki asetukset on tehty, napsauta Tallenna -painiketta
  • Avautuu uusi ikkuna vahvistaaksesi, että uudet kirjautumistiedot on tallennettu
  • Sulje selaimesi

Kun IoT Timer -verkko on tallennettu, se sammuu ja laite yrittää muodostaa yhteyden WiFi -verkkoon.

  • Yhdistä älypuhelin tai laite samaan WiFi -verkkoon, jota käytettiin IoT -ajastimessa.
  • Avaa selaimesi
  • Kirjoita osoiteriville IoT -ajastimen IP -osoite
  • IoT -ajastimen asetussivu avautuu

IoT -ajastin on nyt käyttövalmis

Vaihe 8: IoT -ajastimen asennus

IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus
IoT -ajastimen asetus

IoT-ajastimen sisäänrakennettu verkkosivu koostuu viidestä osasta:

Tila

Tämä näyttää laitteen nimen sekä ajastimen nykyisen ajan ja lähtötilan

Lisäksi tässä jaksossa asetetaan ajastimen toimintatila. On kolme tilaa:

  • Automaattista lähtöä ohjaavat eri ajastinohjelmat
  • Päällä - Lähtö pakotetaan päälle ja pysyy päällä, kunnes tila muutetaan
  • Pois - Lähtö pakotetaan pois päältä ja pysyy pois päältä, kunnes tila vaihdetaan.

Ohjelmat

Tämä osio sisältää ajastimen päälle- ja poiskytkentäajat. Käytettävissä on seitsemän ohjelmaa, ja jokainen ohjelma voidaan asettaa erikseen.

Ennen kuin vaihdat seuraavan ohjelman, paina SAVE -painiketta tallentaaksesi nykyiseen ohjelmaan tehdyt muutokset.

Painike Toiminto

MODE/SETUP -painiketta voidaan käyttää lähtöreleen ohjaamiseen normaalin käytön aikana. Valitse tässä, mitä painikkeen on tehtävä, kun sitä painetaan.

Valitse "Päivitä painiketoiminto" -ruutu ennen Tallenna -painikkeen tallentamista uusien asetusten tallentamiseksi.

Asetukset

Täällä voit muuttaa IoT -ajastimen nimen. Tämä helpottaa tunnistamista useiden ajastimien välillä.

Laitteen aika saadaan Internetistä NTP -aikapalvelimen kautta. Jos haluat näyttää oikean ajan, päivitä aikavyöhyke alueellesi.

Jos haluat käyttää toista NTP -aikapalvelinta, kirjoita uusi IP -osoite sille varattuun tilaan.

Tallenna uudet asetukset valitsemalla Päivitä kokoonpano -ruutu ennen Tallenna -painikkeen painamista.

HUOMAUTUS

Aikavyöhykettä muutettaessa uusi aika asetetaan oikein vain seuraavan aikakyselyn aikana. Laite on asetettu päivittämään aika 5 minuutin välein.

Ajan säätö

Joskus käy niin, että NTP -aikapalvelin ei vastaa joka kerta kyselyyn. Jos ajan asettaminen NTP -palvelimen kautta kestää liian kauan, voit syöttää kellonajan ja päivämäärän manuaalisesti.

Tallenna uusi aika ja päivämäärä valitsemalla Päivitä aika -ruutu ennen Tallenna -painikkeen painamista.

Ajan synkronointi

Sivun viimeinen osa osoittaa ajan ja päivämäärän, jolloin viimeinen aika synkronoitiin NTP -aikapalvelimen kautta.

Suositeltava: