Satura rādītājs:

ESP8266-01 IoT viedais taimeris mājas automatizācijai: 9 soļi (ar attēliem)
ESP8266-01 IoT viedais taimeris mājas automatizācijai: 9 soļi (ar attēliem)

Video: ESP8266-01 IoT viedais taimeris mājas automatizācijai: 9 soļi (ar attēliem)

Video: ESP8266-01 IoT viedais taimeris mājas automatizācijai: 9 soļi (ar attēliem)
Video: Как сделать 2-канальное реле Wi-Fi ESP8266 ESP-01 | ESP-01 Домашняя автоматизация | УдаленныйXY 2024, Jūlijs
Anonim
ESP8266-01 IoT viedais taimeris mājas automatizācijai
ESP8266-01 IoT viedais taimeris mājas automatizācijai
ESP8266-01 IoT viedais taimeris mājas automatizācijai
ESP8266-01 IoT viedais taimeris mājas automatizācijai
ESP8266-01 IoT viedais taimeris mājas automatizācijai
ESP8266-01 IoT viedais taimeris mājas automatizācijai

ATJAUNINĀJUMI

2018-09-30: programmaparatūra atjaunināta uz versiju 1.09. Tagad ar Sonoff pamata atbalstu

01.10.2018. Programmatūras versijas 1.10 izmēģinājums ir pieejams testēšanai ar ESP8266-01 ar problēmām

Tā kā jaunie izteicieni bija lietu internets (IoT) un mājas automatizācija, es nolēmu aplūkot pašreizējos priekšmetus manā mājā un ap to, ko kontrolē, izmantojot kādu ierīci. Izceļās šādas lietas:

  • Peldbaseina sūknis
  • Peldbaseina ūdens pildviela
  • Peldbaseins un apkārtējās gaismas
  • TV/izklaides sistēmas skapju gaismas

Šo ierīču vadībai parasti tiek izmantoti standarta kontaktdakšu taimeri. Katra ierīce ir aprīkota ar savu taimeri, un tā atrodas dažādās vietās. Tātad, kāpēc es izvēlējos šos vienumus, lai sāktu ar lietu internetu vai mājas automatizācijas projektiem, jūs varētu jautāt?

Dzīvošana Dienvidāfrikā nozīmē, ka strāvas padeves pārtraukumi ir regulāra parādība. Ņemot vērā mājas statistiku, pagājušajā gadā man bija 35 elektroapgādes traucējumi, kopā 40 stundas. Tas parasti nav problēma, jo visi pašlaik uzstādītie taimeri ir aprīkoti ar rezerves akumulatoru, lai saglabātu laiku strāvas padeves pārtraukumu laikā. Bet ir dažas problēmas:

  • Šīs rezerves baterijas kalpo tikai gadu vai divus, tad taimeris ir jānomaina. Taimeri ir konstruēti tā, ka taimeris ir jāiznīcina, lai piekļūtu iekšējam Ni-Cad akumulatoram.
  • Katru reizi, kad pārtrūkst strāvas padeve, ir jāpārprogrammē taimeri ar bojātām baterijām un jāiestata laiks.
  • Taimera fiziskā atrašanās vieta, kad tas ir pievienots sienas kontaktligzdai, padara gandrīz neiespējamu nolasīt LCD displejus, kas skatās taimeri no augšas. Tas nozīmē, ka taimeris ir jāatvieno no elektrotīkla, vai arī man jāguļ uz grīdas, lai iestatītu vai noregulētu taimerus pēc strāvas padeves pārtraukuma.

Iepriekš minēto iemeslu dēļ es nolēmu pārbaudīt iespēju aizstāt taimerus ar IoT viedo taimeri, kas savienots ar manu vietējo mājas tīklu.

Ideja bija izveidot atsevišķu taimeri, kas var:

  • Automātiski pielāgot pašreizējo laiku, izmantojot internetu (IoT)
  • Darbojas bez lietotāja darbībām (viedais)
  • Ieslēdziet/izslēdziet izeju atbilstoši iestatītajiem laikiem (taimeris)
  • Programmējams un kontrolējams, izmantojot tīklu (mājas automatizācija)

1. darbība: ESP8266-01 dizains

ESP8266-01 dizains
ESP8266-01 dizains
ESP8266-01 dizains
ESP8266-01 dizains

Dizains tika veikts, izmantojot ESP8266-01 WiFi moduli, jo tas bija tas, kas man bija pieejams. Vienkāršākajā veidā ESP8266-01 ir četras I/O tapas:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Barošanas režīmi

I/O kontaktu loģiskais stāvoklis tiek izmantots, lai noteiktu, kādā režīmā ESP8266-01 tiks sāknēts. Pirmais solis bija noteikt, kuru no I/O tapām var izmantot, lai vadītu izejas releju.

  • Normālai ieslēgšanai GPIO0 un GPIO2 ir jāiestata loģika HIGH. Tādējādi ir skaidrs, ka šīs divas tapas nevar izmantot kā digitālo izeju.
  • Tx tapa ir iestatīta kā izeja, ieslēdzot, un izeja ir augsta. Šis Tx tapa arī pārsūta dažus sērijas datus ieslēgšanas laikā. Tādējādi šo tapu arī nevar izmantot kā izeju.

Vienīgā atlikušā tapa ir Rx tapa. Šī tapa ir iestatīta kā ieeja ieslēgšanas brīdī, un ieslēgšanas laikā tā nav jāvelk augstu. Tādējādi šī tapa ir vispiemērotākā izmantošanai kā izejas tapa.

Sāknēšana

Lai ieslēgšanas laikā nodrošinātu pareizu ESP8266-01 sāknēšanas režīmu, izmantojot 10K rezistorus, tiek izvilktas šādas tapas:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Tas nodrošina, ka ierīce katru reizi pareizi sāk darboties.

Izejas relejs

RX ir vienīgā tapa, ko var izmantot kā izeju. Tādējādi šo tapu izmanto, lai vadītu izejas releju, izmantojot NPN tranzistoru. Tika pievienoti standarta spararata diodes un tranzistora bāzes rezistori.

MODE/SET poga

Poga ir savienota ar GPIO2, un, atlaižot pogu, 10K rezistors pacels GPIO2 augstu. Nospiežot pogu, GPIO2 tiek pievilkts līdz 0 V.

Šo pogu izmanto divām funkcijām:

  • Sākotnēji iestatīts, lai ierīci savienotu ar vietējo WiFi tīklu
  • Lai manuāli kontrolētu izvadi normālu darbību laikā

Indikācijas gaismas diode

Gaismas diode ir savienota ar GPIO0 un norāda sekojošo:

  • Pēc pirmās ieslēgšanas mirgo FAST, lai norādītu WiFi iestatīšanas režīmu
  • Mirgo lēni, ja nav iestatīts ierīces laiks
  • norāda izejas releja ieslēgšanas/izslēgšanas statusu

2. solis: barošanas avots

Barošanas avots
Barošanas avots
Barošanas avots
Barošanas avots
Barošanas avots
Barošanas avots

IoT viedo taimeri izmantošu dažādos sprieguma līmeņos, tāpēc ir pieejamas divas barošanas iespējas:

12 - 24V līdzstrāva

Izmantotais līdzstrāvas līdzstrāvas pārveidotājs ir piemērots barošanai līdz 28 V līdzstrāvai. Pārveidotāja izeja ir regulējama un ir iestatīta uz 5 V. Tas jādara pirms ESP8266 moduļa pievienošanas.

Tika pievienota diode, lai aizsargātu pret pretēju polaritāti barošanas ieejā.

220V ACŠai opcijai eBay varēju iegūt nelielu 220V/5V slēdža režīma barošanas avotu.

Neatkarīgi no ieejas sprieguma IoT viedajam taimerim nepieciešami divi barošanas avoti:

5V sliede

Izmantojot abas iespējas, 5 V līdzstrāva tiek iegūta no komutācijas režīma barošanas avota, nevis no lineārā regulatora. Tas nozīmē, ka barošanas avots rada minimālu siltumu. 5 V tiek izmantots, lai vadītu izejas releju

3.3V sliede

ESP8266-01 3.3V tiek iegūts no ASM1117 3.3 regulatora. ASM1117 3.3 ir lineārs regulators un spēj apstrādāt līdz 500 mA. Tomēr radīto siltumu noteiks ASM1117 ieejas spriegums. Lai samazinātu siltumu, ASM1117 tiek darbināts no 5V sliedes.

Trokšņa filtrēšana

Lai samazinātu sprieguma svārstības līdz ESP8266-01, 3.3V sliede ir aprīkota ar 100 - 1000uf kondensatoru. Gan 5V, gan 3,3 V sliedes no augstfrekvences traucējumiem aizsargā arī 0.1uf kondensatori.

3. darbība: datora plates montāža

PC plates montāža
PC plates montāža
PC plates montāža
PC plates montāža
PC plates montāža
PC plates montāža

PC Board tika izstrādāta, izmantojot Eagle bezmaksas programmatūras versiju. Tā ir vienpusēja tāfele, kuru var viegli izgatavot mājās, izmantojot tonera pārnešanas metodi.

Kad datora plate ir izgatavota, salieciet datora paneli šādā secībā:

  • Lodējiet ASM1117 regulatoru un trīs 0,1uf SMD komponentus plāksnes lodēšanas pusē
  • Pievienojiet vienu džemperi tāfeles komponentu pusei
  • Lodējiet rezistorus un diodes vietā
  • Pievienojiet moduļa ESP8266-01 galvenes
  • Pievienojiet gaismas diodes un pogas galvenes tapas
  • Pievienojiet skrūvju spailes
  • Izmantojot galvenes tapas, pievienojiet līdzstrāvas/līdzstrāvas pārveidotāju pie plates.
  • Lodējiet releju vietā
  • Pabeidziet dēli, pielodējot tranzistoru un 100uf kondensatoru.

Kad visas sastāvdaļas ir pielodētas pie tāfeles, pārbaudiet visus lodēšanas punktus un pārliecinieties, ka starp spilventiņiem nav īssavienojumu.

! ! ! SVARĪGA PIEZĪME! ! ! Lai nodrošinātu, ka PC Board var izturēt lielas strāvas uz izejas kontaktiem, uzklājiet pienācīgu daudzumu lodēšanas sliežu ceļiem starp releja kontaktiem un skrūvju spailēm

4. solis: PC plates pārbaude

PC plates pārbaude
PC plates pārbaude

! ! ! Pirms spēka pielietošanas! ! !

Noņemiet moduli ESP8266-01 no iekārtas. Tas ir paredzēts, lai novērstu ASM1117 regulatora pārkaršanu pirms 5 V barošanas regulēšanas.

Pēc montāžas nav iespējams veikt daudz testu. Vissvarīgākais solis ir nodrošināt pareizu sprieguma līmeni.

  • Ierīcei jāpieliek 12 - 24 V līdzstrāva.
  • Izmēriet līdzstrāvas/līdzstrāvas pārveidotāja izejas spriegumu
  • Pielāgojiet pārveidotāja izeju no 5,0 līdz 5,5 V.
  • Pēc tam izmēriet 3.3V barošanu.
  • Ja barošana ir kārtībā, atvienojiet strāvas padevi no iekārtas

Tagad varat ievietot moduli ESP8266-01 pievienotajās galvenēs.

! ! ! Piezīme !

Kad esat pārbaudījis IoT taimeri un tas darbojas, izmantojiet caurspīdīgu laku, lai pārklātu datora plates lodēšanas pusi. Tas novērsīs sliežu ceļu oksidēšanos un nodrošinās papildu izolāciju starp releja kontaktiem un pārējo ķēdi

5. solis: korpuss

Iežogojums
Iežogojums
Iežogojums
Iežogojums
Iežogojums
Iežogojums

Korpuss nav tik svarīgs, ja vien datora plate un visa elektroinstalācija tajā ir kārtīgi un droši ievietota.

Lai atvieglotu būvniecību, esmu izveidojis kabeli ar tam pievienotu LED un pogu MODE/SETUP. Tas man deva lielāku elastību, uzstādot gaismas diodi un pogu pie korpusa. Pēc tam šis kabelis tiek pievienots datora plates galvenei.

Fotogrāfijās redzama viena no 12V vienībām, ko izmanto LED gaismām.

6. darbība: ESP8266-01/NodeMCU programmēšana

ESP8266-01/NodeMCU programmēšana
ESP8266-01/NodeMCU programmēšana
ESP8266-01/NodeMCU programmēšana
ESP8266-01/NodeMCU programmēšana
ESP8266-01/NodeMCU programmēšana
ESP8266-01/NodeMCU programmēšana

Lai ieprogrammētu ESP8266-01, vispirms ir jāiestata Arduino IDE. Es neiedziļinos šajā detaļā, jo par šo tēmu ir pieejams daudz lielisku instrukciju. Es esmu izvēlējies šādas saites uz Instructables atsaucei, bez īpaša pasūtījuma autoriem. Paldies par viņu individuālajiem norādījumiem.

Izpildiet šo ESP8266 un Arduino IDE, lai iestatītu Arduino IDE modulim ESP8266.

Tālāk jums būs nepieciešams programmētājs, lai ieprogrammētu ESP8266. Šeit ir divas saites:

Izmantojot Arduino Uno

DIY programmēšanas padome

Bibliotēkas

Lai varētu apkopot kodu, jums būs jāinstalē papildu bibliotēkas. Vēlreiz skatiet šo pamācību:

Instalējiet un izmantojiet Arduino bibliotēkas

Es nevaru atcerēties, kuras bibliotēkas man bija jāinstalē, bet es zinu, ka WiFiManager ir jālejupielādē atsevišķi. Es tās esmu iekļāvis Libraries.zip failā.

7. darbība. Pirmā iestatīšana

Pirmā iestatīšana
Pirmā iestatīšana
Pirmā iestatīšana
Pirmā iestatīšana
Pirmā iestatīšana
Pirmā iestatīšana

Pirmo reizi lietojot IoT viedo taimeri, ir jābūt savienotam ar WiFi tīklu. Šis uzdevums tiek veikts, izmantojot WiFiManager bibliotēku, tāpēc kodā nav jāievada SSID vai paroles.

Izpildiet šīs dažas darbības:

  • Ieslēdziet ierīci
  • Gaismas diode sāks strauji mirgot
  • Nospiediet MODE/SETUP pogu
  • Kad gaismas diode nodziest, atlaidiet pogu
  • Uzgaidiet dažas sekundes un pēc tam atveriet viedtālruņa vai ierīces WiFi savienojumus
  • Būs redzams jauns WiFi tīkla vārds ar nosaukumu IoT Timer
  • Izvēlieties šo piekļuves punktu
  • Piesakieties IoT taimerī (parole nav nepieciešama)
  • Pagaidiet, līdz ierīce ir pievienota IoT taimera tīklam
  • Atveriet jebkuru interneta pārlūku
  • Adreses joslā ierakstiet šādu IP adresi - 192.168.4.1
  • Tiks atvērta WiFiManager konsole
  • Atlasiet Konfigurēt WiFi
  • Tiks parādīts pieejamo WiFi tīklu punktu saraksts
  • Izvēlieties vajadzīgo WiFi tīklu un ievadiet paroli
  • Pēc tam ievadiet IP adresi, kuru vēlaties izmantot, lai izveidotu savienojumu ar IoT taimeri
  • Ievadiet noklusējuma vārtejas IP adresi, kam seko maska
  • Kad visi iestatījumi ir izdarīti, noklikšķiniet uz pogas Saglabāt
  • Tiks atvērts jauns logs, lai apstiprinātu, ka jaunie akreditācijas dati ir saglabāti
  • Aizveriet pārlūkprogrammu

Kad IoT taimera tīkls tiks saglabāts, tas tiks izslēgts, un iekārta mēģinās izveidot savienojumu ar jūsu WiFi tīklu.

  • Pievienojiet viedtālruni vai ierīci tam pašam WiFi tīklam, kas tika izmantots IoT taimerim.
  • Atveriet pārlūkprogrammu
  • Adreses joslā ierakstiet sava IoT taimera IP adresi
  • Tiks atvērta IoT taimera konfigurācijas lapa

IoT taimeris tagad ir gatavs lietošanai

8. darbība: IoT taimera iestatīšana

IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana
IoT taimera iestatīšana

IoT taimera iebūvētā tīmekļa lapa sastāv no piecām sadaļām:

Statuss

Tas parāda ierīces nosaukumu, kā arī taimera pašreizējo laiku un izejas statusu

Turklāt šajā sadaļā ir iestatīts taimera darbības režīms. Ir trīs režīmi:

  • Automātisko izvadi kontrolēs dažādas taimera programmas
  • Ieslēgts - izvade ir piespiesta IESLĒGT un paliek ieslēgta, līdz tiek mainīts režīms
  • Izslēgts - izeja ir piespiedu kārtā IZSLĒGTA un paliks izslēgta, līdz tiks mainīts režīms.

Programmas

Šajā sadaļā ir iekļauti taimera ieslēgšanas un izslēgšanas laiki. Ir pieejamas septiņas programmas, un katru programmu var iestatīt atsevišķi.

Pirms nākamās programmas maiņas nospiediet pogu SAVE, lai saglabātu visas pašreizējā programmā veiktās izmaiņas.

Pogas funkcija

MODE/SETUP pogu var izmantot, lai kontrolētu izejas releju normālas darbības laikā. Šeit izvēlieties, kas pogai jādara, nospiežot.

Atzīmējiet lodziņu "Atjaunināt pogas funkciju", pirms nospiežat pogu Saglabāt, lai saglabātu jaunos iestatījumus.

Konfigurācija

Šeit jūs varat mainīt IoT taimera nosaukumu. Tas ļauj viegli identificēt vairākus taimerus.

Laiks ierīcē tiek iegūts no interneta, izmantojot NTP laika serveri. Lai parādītu pareizo laiku, lūdzu, atjauniniet laika joslu savā reģionā.

Ja vēlaties izmantot citu NTP laika serveri, norādītajā vietā ievadiet jauno IP adresi.

Atzīmējiet lodziņu "Atjaunināt konfigurāciju", pirms nospiežat pogu Saglabāt, lai saglabātu jaunos iestatījumus.

PIEZĪME

Mainot laika joslu, jaunais laiks tiks iestatīts tikai nākamā laika vaicājuma laikā. Ierīce ir iestatīta, lai atjauninātu laiku ik pēc 5 minūtēm.

Laika pielāgošana

Dažreiz gadās, ka NTP laika serveris nereaģē uz katru vaicājumu. Ja laiks tiek iestatīts pārāk ilgi, izmantojot NTP serveri, laiku un datumu var ievadīt manuāli.

Atzīmējiet lodziņu "Atjaunināt laiku", pirms nospiežat pogu Saglabāt, lai saglabātu jauno laiku un datumu.

Laika sinhronizācija

Lapas pēdējā daļa norāda laiku un datumu, kad pēdējais laiks tika sinhronizēts, izmantojot NTP laika serveri.

Ieteicams: