INHOUDSOPGAWE:

ESP8266-01 IoT Smart Timer for Home Automation: 9 stappe (met foto's)
ESP8266-01 IoT Smart Timer for Home Automation: 9 stappe (met foto's)

Video: ESP8266-01 IoT Smart Timer for Home Automation: 9 stappe (met foto's)

Video: ESP8266-01 IoT Smart Timer for Home Automation: 9 stappe (met foto's)
Video: Home Automation using ESP01 ESP8266 Tasmota Alexa control Relay - IoT Project 2023 2024, November
Anonim
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation
ESP8266-01 IoT Smart Timer for Home Automation

UPDATES

2018-09-30: Firmware opgedateer na Ver 1.09. Nou met Sonoff Basic Support

2018-10-01: Firmware weergawe 1.10-proeflopie beskikbaar vir toetsing op ESP8266-01 met probleme

Aangesien die nuwe modewoorde Internet Of Things (IoT) en Home Automation was, het ek besluit om na die huidige items in en om my huis te kyk wat via 'n soort toestel beheer word. Die items wat opval, is die volgende:

  • Swembad pomp
  • Swembad watervulmiddel
  • Swembad en omliggende ligte
  • TV/vermaakstelsel kabinetsligte

Die algemene item wat gebruik word om hierdie toestelle te beheer, is standaard muurprop -timers. Elke toestel het sy eie timer en is op verskillende plekke geleë. Waarom sou ek hierdie items gekies het om met Internet of Things of Home Automation -projekte te begin, sou u miskien vra?

Om in Suid -Afrika te woon, beteken dat kragonderbrekings gereeld voorkom. Met statistieke van my huis het ek die afgelope jaar 35 kragonderbrekings gehad, in totaal 40 uur. Dit is normaalweg nie 'n probleem nie, aangesien al die tans geïnstalleerde tydtellers 'n back-upbattery het wat tyd behou tydens kragonderbrekings. Maar daar is 'n paar kwessies:

  • Hierdie rugsteunbatterye hou net 'n jaar of twee, dan moet die timer vervang word. Die timers is so gebou dat die timer vernietig moet word om toegang tot die interne Ni-Cad-battery te verkry.
  • Elke keer as die krag onderbreek, moet die tydmeters met foutiewe batterye herprogrammeer word en die tyd bepaal word.
  • Die fisiese ligging van die timer, as dit in die muurprop gekoppel is, maak dit byna onmoontlik om die LCD -skerms van bo af te sien. Dit beteken dat die timer ontkoppel moet word, of ek moet op die vloer gaan lê om die tydteller na 'n kragonderbreking te stel of aan te pas.

As gevolg van die bogenoemde redes, het ek besluit om die moontlikheid te toets om die tydtellers te vervang deur 'n IoT Smart Timer, gekoppel aan my plaaslike tuisnetwerk.

Die idee was om 'n losstaande timer te ontwerp wat die volgende kan doen:

  • Pas die huidige tyd outomaties aan met behulp van die internet (IoT)
  • Werk sonder gebruikershandelinge (slim)
  • Skakel 'n uitset aan/uit volgens die vasgestelde tye (timer)
  • Programmeerbaar en beheerbaar via netwerk (Home Automation)

Stap 1: Die ESP8266-01-ontwerp

Die ESP8266-01-ontwerp
Die ESP8266-01-ontwerp
Die ESP8266-01-ontwerp
Die ESP8266-01-ontwerp

Die ontwerp is gedoen met behulp van 'n ESP8266-01 WiFi-module, want dit was wat ek beskikbaar gehad het. In sy eenvoudigste vorm het die ESP8266-01 vier I/O-penne:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 opstartmodusse

Die logiese toestand van die I/O-penne word gebruik om te bepaal in watter modus die ESP8266-01 sal begin. Die eerste stap was om te bepaal watter van die I/O -penne gebruik kan word om 'n uitsetrelais aan te dryf.

  • Vir normale aanvang moet GPIO0 en GPIO2 ingestel wees op logika HOOG. Dit is dus duidelik dat hierdie twee penne nie as 'n digitale uitset gebruik kan word nie.
  • Die Tx -pen is ingestel as 'n uitset by aanskakeling en die uitset hoog. Hierdie Tx -pen stuur ook 'n paar seriële data tydens die aanstuur. Hierdie pen kan dus ook nie as uitset gebruik word nie.

Die enigste oorblywende pen is die Rx -pen. Hierdie pen is 'n ingang by die aanskakel, en hoef nie hoog getrek te word tydens die aanskakel nie. Hierdie pen is dus die geskikste om as uitsetpen gebruik te word.

Opstart

Om die korrekte opstartmodus van die ESP8266-01 tydens opstart te verseker, word die volgende penne hoog getrek met behulp van 10K-weerstande:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Dit verseker dat die eenheid elke keer korrek opstart.

Uitsetrelais

Die RX is die enigste pen wat geskik is om as uitset gebruik te word. Hierdie pen word dus gebruik om die uitsetrelais via 'n NPN -transistor aan te dryf. Die standaard vliegwiel diode en transistor basis weerstande is bygevoeg.

MODE/SET -knoppie

Die knoppie is gekoppel aan GPIO2, en as die knoppie losgemaak word, trek 'n 10K -weerstand GPIO2 hoog. Terwyl die knoppie ingedruk word, word GPIO2 na 0V getrek.

Hierdie knoppie word gebruik vir twee funksies:

  • Aanvanklik ingestel om die eenheid aan 'n plaaslike WiFi -netwerk te koppel
  • Om die uitset handmatig te beheer tydens normale operasies

Aanduiding LED

Die LED is gekoppel aan GPIO0, en dui die volgende aan:

  • By die aanvang, flits dit vinnig om die WiFi -instellingsmodus aan te dui
  • Flits stadig as die tyd van die eenheid nie ingestel is nie
  • dui die uitset -relais aan/af -status aan

Stap 2: Die kragtoevoer

Die kragtoevoer
Die kragtoevoer
Die kragtoevoer
Die kragtoevoer
Die kragtoevoer
Die kragtoevoer

Ek sal die IoT Smart Timer op verskillende spanningsvlakke gebruik, daarom is daar twee kragvoorsienings beskikbaar:

12 - 24V DC

Die gebruikte DC-DC-omskakelaar is geskik vir toevoer tot 28V DC. Die uitset van die omskakelaar is verstelbaar en is ingestel op 5V. Dit moet gedoen word voordat die ESP8266 -module gekoppel is.

'N Diode is bygevoeg om te beskerm teen omgekeerde polariteit op die toevoerinvoer.

220V AC Vir hierdie opsie kon ek 'n klein 220V/5V skakelaarmodus op eBay kry.

Ongeag die ingangsspanning benodig die IoT Smart Timer twee kragtoevoer:

5V Spoor

Met albei opsies word die 5V DC verkry deur 'n skakelaar, en nie 'n lineêre reguleerder nie. Dit beteken dat daar minimale hitte deur die kragtoevoer opgewek word. Die 5V word gebruik om die uitsetrelais aan te dryf

3.3V Spoor

Die 3.3V vir die ESP8266-01 word verkry van 'n ASM1117 3.3-reguleerder. Die ASM1117 3.3 is 'n lineêre reguleerder en kan tot 500mA hanteer. Die opgewekte hitte word egter bepaal deur die insetspanning van die ASM1117. Om hitte te verminder, word die ASM1117 aangedryf deur die 5V -spoor.

Ruisfilter

Om die spanning van die ESP8266-01 te verminder, is die 3.3V -spoor met 'n 100 - 1000uf kondensator. Beide 5V en 3.3V relings word ook beskerm teen hoëfrekwensie -interferensie deur 0.1uf kondensators.

Stap 3: Monteer die rekenaarbord

Die samestelling van die PC Board
Die samestelling van die PC Board
Die samestelling van die PC Board
Die samestelling van die PC Board
Die samestelling van die PC Board
Die samestelling van die PC Board

Die PC Board is ontwerp met behulp van die freeware -weergawe van Eagle. Dit is 'n enkelkantige bord wat maklik tuis gemaak kan word met behulp van die toneroordragmetode.

Sodra die PC Board gemaak is, monteer die PC Board in die volgende volgorde:

  • Soldeer die ASM1117 -reguleerder en drie 0.1uf SMD -komponente aan die soldeerkant van die bord
  • Voeg die enkele trui by die onderkant van die bord
  • Soldeer die weerstande en diodes op hul plek
  • Voeg die opskrifte vir die ESP8266-01-module by
  • Voeg die koppenne vir die LED en knoppie by
  • Voeg die skroefklemme by
  • Koppel die DC/DC -omsetter met die koppenne aan die bord.
  • Soldeer die aflos op sy plek
  • Voltooi die bord deur die transistor en 100uf kondensator te soldeer.

Sodra alle komponente aan die bord gesoldeer is, moet u alle soldeerpunte verifieer en geen kortsluitings tussen kussings verseker nie.

! ! ! BELANGRIKE NOTA ! ! ! Om te verseker dat die PC Board groot strome op die uitgangskontakte kan hanteer, dien 'n ordentlike hoeveelheid soldeer op die spore tussen die relaiskontakte en skroefaansluitings toe

Stap 4: Toets van die rekenaarbord

Toets van die PC Board
Toets van die PC Board

! ! ! Voordat u krag toepas! ! !

Verwyder die ESP8266-01-module uit die eenheid. Dit is om oorverhitting van die ASM1117 -reguleerder te voorkom voordat die 5V -toevoer aangepas word.

Na die montering kan daar nie baie toetse gedoen word nie. Die belangrikste stap is om die korrekte spanningsvlakke te verseker.

  • Dien 12 - 24V DC toe op die eenheid.
  • Meet die uitsetspanning van die DC/DC -omskakelaar
  • Pas die uitset van die omskakelaar aan tussen 5.0 en 5.5V.
  • Meet dan die 3.3V -toevoer.
  • As die toevoer goed is, moet u die krag uit die eenheid verwyder

U kan nou die ESP8266-01-module in die meegaande koptekste plaas.

! ! ! Let wel!

Sodra u die IoT Timer getoets het en dit werk, gebruik helder lak om die soldeerkant van die PC Board te bedek. Dit sal oksidasie van die spore voorkom en ekstra isolasie bied tussen die afloskontakte en die res van die stroombaan

Stap 5: Die omhulsel

Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel

Die omhulsel is nie so belangrik nie, solank die rekenaarbord en alle bedrading netjies en veilig daarin pas.

Om die bou makliker te maak, het ek 'n kabel gemaak met die LED en MODE/SETUP -knoppie daaraan gekoppel. Dit het my meer buigsaamheid gegee om die LED en knoppie aan die omhulsel te monteer. Hierdie kabel word dan in die kop van die rekenaarbord ingeprop.

Die foto's toon een van die 12V -eenhede wat gebruik word vir LED -ligte.

Stap 6: Die programmering van die ESP8266-01/NodeMCU

Die programmering van die ESP8266-01/NodeMCU
Die programmering van die ESP8266-01/NodeMCU
Die programmering van die ESP8266-01/NodeMCU
Die programmering van die ESP8266-01/NodeMCU
Die programmering van die ESP8266-01/NodeMCU
Die programmering van die ESP8266-01/NodeMCU

Om die ESP8266-01 te programmeer, moet u eers die Arduino IDE opstel. Ek gaan nie in op hierdie besonderhede nie, aangesien daar baie goeie instruksies oor hierdie onderwerp beskikbaar is. Ek het die volgende skakels op Instructables gekies vir verwysing, sonder 'n spesifieke volgorde aan die outeurs. Dankie vir hul individuele instruksies.

Volg hierdie ESP8266 en Arduino IDE om die Arduino IDE op te stel vir die ESP8266 module.

Vervolgens benodig u 'n programmeerder om die ESP8266 te programmeer. Hier is twee skakels:

Gebruik Arduino Uno

DIY programmeerbord

Biblioteke

U sal ekstra biblioteke moet installeer om die kode saam te stel. Verwys weer na hierdie instruksionele:

Installeer en gebruik Arduino Libraries

Ek kan nie onthou watter biblioteke ek moes installeer nie, maar ek weet dat WiFiManager afsonderlik afgelaai moet word. Ek het dit in die Libraries.zip -lêer opgeneem.

Stap 7: Eerste opstelling

Eerste keer opstel
Eerste keer opstel
Eerste keer opstel
Eerste keer opstel
Eerste keer opstel
Eerste keer opstel

As die IoT Smart Timer vir die eerste keer gebruik word, moet dit aan 'n WiFi -netwerk gekoppel word. Hierdie taak word uitgevoer met behulp van die WiFiManager -biblioteek, dus hoef geen SSID of wagwoorde in die kode ingevoer te word nie.

Volg hierdie paar stappe:

  • Skakel die eenheid aan
  • Die LED sal vinnig begin flikker
  • Druk die MODE/SETUP knoppie
  • Laat die knoppie los as die LED uitskakel
  • Wag 'n paar sekondes en maak dan u slimfoon of toestel se WiFi -verbindings oop
  • 'N Nuwe WiFi -netwoord genaamd IoT Timer sal sigbaar wees
  • Kies hierdie toegangspunt
  • Meld aan by die IoT -timer (geen wagwoord is nodig nie)
  • Wag totdat u toestel aan die IoT Timer -netwerk gekoppel is
  • Maak enige internetblaaier oop
  • Tik die volgende IP -adres in die adresbalk - 192.168.4.1
  • WiFiManager -konsole sal oopmaak
  • Kies Configure WiFi
  • 'N Lys met beskikbare WiFi -netwerkpunte sal vertoon word
  • Kies die vereiste WiFi -netwerk en tik die wagwoord in
  • Voer vervolgens die IP -adres in wat u wil gebruik om aan die IoT Timer te koppel
  • Voer die standaard gateway -IP -adres in, gevolg deur die masker
  • Sodra al die instellings gedoen is, klik op die knoppie Stoor
  • 'N Nuwe venster sal oopmaak om te bevestig dat die nuwe geloofsbriewe gestoor is
  • Sluit jou blaaier

Sodra dit gestoor is, sal die IoT Timer -netwerk gesluit word, en die eenheid sal probeer om aan te sluit op u WiFi -netwerk.

  • Koppel u slimfoon of toestel aan dieselfde WiFi -netwerk as wat vir die IoT -timer gebruik is.
  • Maak u blaaier oop
  • Tik die IP -adres van u IoT -timer in die adresbalk
  • Die konfigurasiebladsy van die IoT Timer sal oopmaak

U IoT -timer is nou gereed vir gebruik

Stap 8: Opstel van IoT Timer

Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer
Opstel van IoT Timer

Die ingeboude webblad van die IoT Timer bestaan uit vyf afdelings:

Status

Dit toon die toestelnaam, sowel as die huidige tyd en uitsetstatus van die timer

Boonop is die werkingsmodus van die timer in hierdie afdeling ingestel. Daar is drie modusse:

  • Outo -uitset word beheer deur die verskillende tydprogramme
  • Aan - Uitset word gedwing AAN en bly aan totdat die modus verander word
  • Uit - Uitset word afgeskakel, en dit bly af totdat die modus verander word.

Programme

Hierdie afdeling bevat die aan en af tye van die timer. Daar is sewe programme beskikbaar en elke program kan afsonderlik opgestel word.

Voordat u die volgende program verander, druk die SAVE -knoppie om die veranderinge wat aan die huidige program aangebring is, te stoor.

Knoppie funksie

Die MODE/SETUP -knoppie kan gebruik word om die uitsetrelais tydens normale werking te beheer. Kies hier wat die knoppie moet doen wanneer dit ingedruk word.

Merk die blokkie "Werk knoppie funksie" voordat u op die knoppie stoor druk om die nuwe instellings te stoor.

Konfigurasie

Hier kan u die naam van die IoT Timer verander. Dit maak dit maklik om te identifiseer tussen verskeie tydtellers.

Tyd op die eenheid word van die internet verkry via 'n NTP -tydbediener. Dateer die tydsone op na u streek om die regte tyd te wys.

As u van 'n ander NTP -tydbediener gebruik wil maak, voer die nuwe IP -adres in die ruimte in.

Merk die "Update Configuration" -kassie voordat u op die Save -knoppie druk om die nuwe instellings te stoor.

LET WEL

As u die tydsone verander, word die nuwe tyd slegs korrek ingestel tydens die volgende tydsnavraag. Die eenheid is ingestel om die tyd elke 5 minute op te dateer.

Tyd aanpas

Soms gebeur dit dat die NTP -tydbediener nie elke keer op 'n navraag reageer nie. As dit te lank neem om die tyd via die NTP -bediener in te stel, kan u die tyd en datum handmatig invoer.

Merk die "Update Time" -kassie voordat u op die Save -knoppie druk om die nuwe tyd en datum op te slaan.

Tydsinkronisering

Die laaste deel van die bladsy dui die tyd en datum aan waarop die laaste tyd via die NTP -tydbediener gesinkroniseer is.

Aanbeveel: