Sisällysluettelo:
- Vaihe 1: ESP8266-01-malli
- Vaihe 2: Virtalähde
- Vaihe 3: PC -kortin kokoaminen
- Vaihe 4: PC -kortin testaus
- Vaihe 5: Kotelo
- Vaihe 6: ESP8266-01/NodeMCU-ohjelmointi
- Vaihe 7: Ensimmäinen käyttöönotto
- Vaihe 8: IoT -ajastimen asennus
Video: ESP8266-01 IoT-älykäs ajastin kotiautomaatioon: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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
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 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
! ! ! 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 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 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ä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 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:
Virta -ajastin Arduinolla ja kiertokooderilla: 7 vaihetta (kuvilla)
Virta-ajastin Arduinolla ja kiertokooderilla: Tämä virta-ajastin perustuu ajastimeen, joka on esitetty osoitteessa: https: //www.instructables.com/id/Timer-With-Arduin … virtalähdemoduuli ja SSR (SSD-rele) ) oli kiinnitetty siihen. Jopa 1 kW: n kuormia voidaan käyttää ja pienillä muutoksilla
WiFi -kello, ajastin ja sääasema, Blynk -ohjattu: 5 vaihetta (kuvilla)
WiFi -kello, ajastin ja sääasema, Blynk -ohjattu: Tämä on Morphing -digitaalikello (kiitos Hari Wigunalle konseptista ja morfisointikoodista), se on myös analoginen kello, sääilmoitusasema ja keittiöajastin. Blynk -sovellus älypuhelimellasi WiFi -sovelluksella. Sovelluksen avulla voit
20 Toisen käsinpesun ajastin COVID-19: lle: 6 vaihetta (kuvilla)
20 Toisen käsinpesun ajastin COVID-19: lle: Maailmanlaajuisen COVID-19-leviämisen vuoksi meidän tulee suojella itseämme paitsi keräämällä vähemmän ja käyttämällä kasvonaamioita, myös pesemällä käsiä useammin. t pese kädet kunnolla. Kuinka pestä kädet oikein? W
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: 3 vaihetta
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: Askelmoottori on tasavirtamoottori, joka liikkuu erillisinä vaiheina, ja sitä käytetään usein tulostimissa ja jopa robotiikassa. Selitän tämän piirin vaiheittain. ajastin. Se on ensimmäinen kuva (katso yllä), jossa on 555 siru ja
Light Theremin NES -ohjaimessa - 555 -ajastin: 19 vaihetta (kuvilla)
Light Theremin NES -ohjaimessa - 555 -ajastin: Olen leikkinyt 555 IC: llä enkä ole koskaan onnistunut saamaan sitä tekemään mitään tähän asti. Kun kuulin sen heräävän eloon ja alkavan värähtelemään, olin aika pirun tyytyväinen itseeni. Jos voin saada sen tekemään äänen, kenenkään pitäisi