Բովանդակություն:

ESP8266-01 IoT Smart Timer տնային ավտոմատացման համար. 9 քայլ (նկարներով)
ESP8266-01 IoT Smart Timer տնային ավտոմատացման համար. 9 քայլ (նկարներով)

Video: ESP8266-01 IoT Smart Timer տնային ավտոմատացման համար. 9 քայլ (նկարներով)

Video: ESP8266-01 IoT Smart Timer տնային ավտոմատացման համար. 9 քայլ (նկարներով)
Video: wifi հեռակառավարման հաղորդագրություն IR և RF կոդերի համար Broadlink RM4C Pro, Home Assistant 2024, Հուլիսի
Anonim
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար
ESP8266-01 IoT խելացի ժամաչափ ՝ տան ավտոմատացման համար

ԹԱՐՄԱՆՈՄ

2018-09-30. Irmրագրաշարը թարմացվել է Ver 1.09 -ի: Այժմ Sonoff հիմնական աջակցությամբ

2018-10-01. Firmware Version 1.10 փորձաշրջանը հասանելի է ESP8266-01- ի վրա խնդիրների առկայության դեպքում փորձարկման համար

Նոր բամբասանքներով ՝ Internet of Things (IoT) և Home Automation, ես որոշեցի դիտել իմ տան և նրա շրջակայքում առկա իրերը, որոնք վերահսկվում են ինչ -որ սարքի միջոցով: Առանձնահատուկ առարկաները հետևյալն են.

  • Լողավազանի պոմպ
  • Լողավազանի ջրի լցոնիչ
  • Լողավազան և շրջակա լույսեր
  • Հեռուստատեսության/ժամանցի համակարգի պահարանի լույսեր

Այս սարքերը վերահսկելու համար օգտագործվող սովորական տարրը պատի խցանման ժամանակաչափերն են: Յուրաքանչյուր սարք հագեցած է իր սեփական ժամաչափով և տեղադրված է տարբեր վայրերում: Ուրեմն ինչու՞ ես ընտրեցի այս տարրերը ՝ իրերի ինտերնետի կամ տան ավտոմատացման նախագծերով սկսելու համար, կարող եք հարցնել:

Դե, Հարավային Աֆրիկայում ապրելը նշանակում է, որ էլեկտրաէներգիայի խափանումները սովորական երեւույթ են: Իմ տան վիճակագրության համաձայն, անցած տարվա ընթացքում ես ունեցել եմ 35 հոսանքի խափանում, ընդհանուր 40 ժամ: Սովորաբար դա խնդիր չէ, քանի որ ներկայումս տեղադրված բոլոր ժամաչափերը հագեցած են պահեստային մարտկոցով `էներգիայի խափանումների ժամանակի պահպանման համար: Բայց կան որոշ հարցեր.

  • Այս պահեստային մարտկոցները տևում են ընդամենը մեկ-երկու տարի, այնուհետև ժամանակաչափը պետք է փոխարինվի: Timամաչափերը կառուցված են այնպես, որ ժամաչափը պետք է քանդվի `Ni-Cad ներքին մարտկոցին մուտք գործելու համար:
  • Ամեն անգամ, երբ հոսանքն անջատվում է, անսարք մարտկոցներ ունեցող ժամաչափերը պետք է նորից ծրագրավորել, և ժամանակը սահմանել:
  • Theամաչափի ֆիզիկական տեղադրությունը, երբ միացված է պատի վարդակին, գրեթե անհնար է դարձնում LCD էկրանների ընթերցումը, որոնք ժամաչափը դիտում են վերևից: Սա նշանակում է, որ ժամաչափը պետք է անջատված լինի հոսանքից, կամ ես պետք է պառկեմ հատակին `հոսանքազրկումից հետո ժամաչափերը կարգավորելու կամ կարգավորելու համար:

Վերոնշյալ պատճառներով ես որոշեցի փորձարկել ժամաչափերը IoT Smart Timer- ով փոխարինելու հնարավորությունը, որը միացված է իմ տեղական տնային ցանցին:

Գաղափարն այն էր, որ նախագծվի առանձին ժամաչափ, որը կարող է.

  • Ավտոմատ կերպով կարգավորեք ընթացիկ ժամանակը ինտերնետի միջոցով (IoT)
  • Գործում է առանց օգտագործողի գործողությունների (Smart)
  • Միացրեք/անջատեք ելքը ըստ սահմանված ժամերի (erամաչափ)
  • Programրագրավորվող և վերահսկելի ցանցի միջոցով (Տնային ավտոմատացում)

Քայլ 1: ESP8266-01 ձևավորում

ESP8266-01 դիզայն
ESP8266-01 դիզայն
ESP8266-01 դիզայն
ESP8266-01 դիզայն

Դիզայնը կատարվել է ESP8266-01 WiFi մոդուլի միջոցով, քանի որ սա այն է, ինչ ես ունեի: Ամենապարզ ձևով ESP8266-01- ն ունի չորս մուտք/ելք.

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Միացման ռեժիմներ

I/O կապերի տրամաբանական վիճակը օգտագործվում է որոշելու համար, թե որ ռեժիմում ESP8266-01- ը կբեռնվի: Առաջին քայլն այն էր, որ որոշվի, թե I/O կապումներից որն է կարելի օգտագործել ելքային ռելե վարելու համար:

  • Սովորական հզորացման համար GPIO0- ը և GPIO2- ը պետք է սահմանվեն տրամաբանական HIGH: Այսպիսով, պարզ է, որ այս երկու կապում չեն կարող օգտագործվել որպես թվային ելք:
  • Tx քորոցը սահմանվում է որպես ելք միացման ժամանակ, իսկ ելքը `բարձր: Այս Tx քորոցը նաև մի քանի սերիական տվյալներ է փոխանցում հզորացման ժամանակ: Այսպիսով, այս քորոցը նույնպես չի կարող օգտագործվել որպես ելք:

Մնացած միակ քորոցը Rx քորոցն է: Այս քորոցը սահմանվում է որպես մուտքագրում միացման ժամանակ և պարտադիր չէ, որ այն բարձր քաշվի հոսանքի միացման ժամանակ: Այսպիսով, այս քորոցն ամենահարմարն է ՝ որպես ելքային քորոց օգտագործելու համար:

Կոշիկ

ESP8266-01- ի միացման ճիշտ ռեժիմն ապահովելու համար հետևյալ կեռները բարձր են քաշվում ՝ օգտագործելով 10K դիմադրիչներ.

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Սա երաշխավորում է, որ միավորը ամեն անգամ ճիշտ է բարձրանում:

Ելքային ռելե

RX- ը միակ փինն է, որը հարմար է որպես ելք օգտագործելու համար: Այս քորոցն այսպիսով օգտագործվում է ելքային ռելեը NPN տրանզիստորի միջոցով վարելու համար: Ավելացվել են թռչող անիվի ստանդարտ դիոդներ և տրանզիստորային բազային ռեզիստորներ:

MODE/SET կոճակ

Կոճակը միացված է GPIO2- ին, և բաց թողնված կոճակով 10K դիմադրիչը GPIO2- ը բարձր կքաշի: Կոճակը սեղմելով ՝ GPIO2- ը ձգվում է 0 Վ -ի:

Այս կոճակը օգտագործվում է երկու գործառույթի համար.

  • Նախնական կարգավորում ՝ միավորը տեղական WiFi ցանցին միացնելու համար
  • Սովորական աշխատանքի ընթացքում ելքը ձեռքով վերահսկելու համար

Indուցանիշ LED

LED- ը միացված է GPIO0- ին և ցույց է տալիս հետևյալը.

  • Նախնական միացման դեպքում թարթում է FAST ՝ WiFi կարգաբերման ռեժիմը նշելու համար
  • Թարթում է դանդաղ, երբ միավորի ժամանակը սահմանված չէ
  • ցույց է տալիս ելքային ռելեի միացված/անջատված կարգավիճակը

Քայլ 2: Էներգամատակարարում

Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում
Էներգամատակարարում

Ես IoT Smart Timer- ը կօգտագործեմ տարբեր լարման մակարդակներում, հետևաբար առկա են էլեկտրամատակարարման երկու տարբերակ.

12 - 24V DC

Օգտագործված DC-DC փոխարկիչը հարմար է մինչև 28V DC հոսանքի մատակարարումների համար: Փոխարկիչի ելքը կարգավորելի է և սահմանվում է 5 Վ: Դա պետք է արվի նախքան ESP8266 մոդուլի միացումը:

Դիոդ է ավելացվել, որը պաշտպանելու է մատակարարման մուտքի հակառակ բևեռականությունը:

220V AC Այս տարբերակի համար ես կարողացա ձեռք բերել փոքր 220V/5V անջատիչ ռեժիմի սնուցման աղբյուր eBay- ում:

Անկախ մուտքային լարման, IoT Smart Timer- ին անհրաժեշտ է երկու սնուցման աղբյուր.

5 Վ երկաթուղի

Երկու տարբերակներով էլ 5V DC- ը ստացվում է անջատված ռեժիմի սնուցման աղբյուրից, այլ ոչ թե գծային կարգավորիչից: Սա նշանակում է, որ էներգիայի մատակարարման արդյունքում առաջանում է նվազագույն ջերմություն: 5V- ն օգտագործվում է ելքային ռելեը վարելու համար

3.3 Վ երկաթուղի

ESP8266-01- ի համար 3.3V- ը ստացվում է ASM1117 3.3 կարգավորիչից: ASM1117 3.3 -ը գծային կարգավորիչ է և կարող է աշխատել մինչև 500 մԱ: Այնուամենայնիվ, առաջացած ջերմությունը որոշվելու է ASM1117- ի մուտքային լարման միջոցով: Heatերմությունը նվազեցնելու համար ASM1117- ը սնուցվում է 5 Վ ռելսից:

Աղմուկի զտում

ESP8266-01 լարման ալիքը նվազեցնելու համար 3.3V ռելսին տեղադրված է 100 - 1000uf կոնդենսատոր: Երկու 5V և 3.3V ռելսերը նույնպես պաշտպանված են բարձր հաճախականության միջամտությունից 0.1uf կոնդենսատորներով:

Քայլ 3: Հավաքեք ԱՀ -ի խորհուրդը

ԱՀ խորհրդի հավաքում
ԱՀ խորհրդի հավաքում
ԱՀ խորհրդի հավաքում
ԱՀ խորհրդի հավաքում
ԱՀ խորհրդի հավաքում
ԱՀ խորհրդի հավաքում

PC Board- ը նախագծվել է Eagle- ի անվճար տարբերակի միջոցով: Այն միակողմանի տախտակ է, որը կարելի է հեշտությամբ պատրաստել տանը ՝ օգտագործելով տոնիկի փոխանցման մեթոդը:

PC Board- ի պատրաստումից հետո հավաքեք PC խորհուրդը հետևյալ հերթականությամբ.

  • ASM1117 կարգավորիչը և երեք 0.1uf SMD բաղադրամասը կպցրեք տախտակի զոդման կողմին
  • Ավելացրեք միայնակ թռիչքը տախտակի բաղադրիչ կողմին
  • Տեղադրեք դիմադրիչները և դիոդները տեղում
  • Ավելացրեք ESP8266-01 մոդուլի վերնագրերը
  • Ավելացրեք LED- ի և կոճակի վերնագրի կապում
  • Ավելացրեք պտուտակային տերմինալները
  • Օգտագործելով վերնագրի կապում ՝ DC/DC փոխարկիչը միացրեք տախտակին:
  • Ռելեը կպցրեք տեղում
  • Լրացրեք խորհուրդը `եռակցելով տրանզիստորը և 100uf կոնդենսատորը:

Երբ բոլոր բաղադրիչները կպցվեն տախտակին, ստուգեք զոդման բոլոր կետերը և ապահովեք բարձիկների միջև կարճ միացում:

! ! ! ԿԱՐԵՎՈՐ ՆՇՈՄ: ! ! Ապահովելու համար, որ ԱՀ -ի խորհուրդը կարող է կառավարել ելքային կոնտակտների մեծ հոսանքները, ռելեի կոնտակտների և պտուտակավոր տերմինալների միջև ընկած հետքերին կպցրեք պատշաճ քանակությամբ զոդ:

Քայլ 4: ԱՀ խորհրդի փորձարկում

ԱՀ խորհրդի փորձարկում
ԱՀ խորհրդի փորձարկում

! ! ! Մինչև իշխանություն կիրառելը: ! !

Հեռացրեք ESP8266-01 մոդուլը միավորից: Սա նախատեսված է ASM1117 կարգավորիչի գերտաքացումից խուսափելու համար, նախքան 5 Վ լարման մատակարարումը կարգավորելը:

Չկան բազմաթիվ թեստեր, որոնք կարող են կատարվել հավաքումից հետո: Ամենակարևոր քայլը լարման ճիշտ մակարդակների ապահովումն է:

  • Կիրառեք 12 - 24V DC հոսանքի միավորին:
  • Չափել DC/DC փոխարկիչի ելքային լարումը
  • Կարգավորեք փոխարկիչի ելքը 5.0 -ից 5.5 Վ -ի սահմաններում:
  • Հաջորդը, չափեք 3.3 Վ մատակարարումը:
  • Եթե մատակարարումները նորմալ են, անջատեք էներգիան սարքից

Այժմ կարող եք տեղադրել ESP8266-01 մոդուլը տրամադրված վերնագրերի մեջ:

! ! ! Նշում !

Երբ փորձարկեք IoT ժամաչափը և այն աշխատի, օգտագործեք թափանցիկ լաք `ծածկելու PC Board- ի զոդման կողմը: Դա կկանխի հետքերի օքսիդացումը և լրացուցիչ մեկուսացում կապահովի ռելեի կոնտակտների և շրջանի մնացած հատվածի միջև:

Քայլ 5: Շրջանակը

Պարիսպը
Պարիսպը
Պարիսպը
Պարիսպը
Պարիսպը
Պարիսպը

Պարիսպն այդքան էլ կարևոր չէ, քանի դեռ համակարգչի տախտակը և բոլոր էլեկտրագծերը կոկիկ և ապահով տեղավորվում են դրա մեջ:

Շինարարությունն ավելի դյուրին դարձնելու համար ես կազմել եմ մալուխ ՝ դրան միացված LED և MODE/SETUP կոճակով: Սա ինձ ավելի ճկունություն հաղորդեց լուսադիոդի և կոճակի ամրացման մեջ: Այնուհետև այս մալուխը միացված է համակարգչային տախտակի վերնագրին:

Լուսանկարները ցույց են տալիս LED լամպերի համար օգտագործվող 12 Վ միավորներից մեկը:

Քայլ 6. ESP8266-01/NodeMCU ծրագրավորում

ESP8266-01/NodeMCU ծրագրավորում
ESP8266-01/NodeMCU ծրագրավորում
ESP8266-01/NodeMCU ծրագրավորում
ESP8266-01/NodeMCU ծրագրավորում
ESP8266-01/NodeMCU ծրագրավորում
ESP8266-01/NodeMCU ծրագրավորում

ESP8266-01- ը ծրագրավորելու համար անհրաժեշտ է նախ տեղադրել Arduino IDE- ն: Ես չեմ խորանում այս մանրամասների մեջ, քանի որ այս թեմայով կան բազմաթիվ հիանալի հրահանգներ: Ես ընտրել եմ Instructables- ի հետևյալ հղումները ՝ հղման համար, առանց որևէ հատուկ պատվերի հեղինակների: Շնորհակալություն նրանց անհատական հրահանգների համար:

Հետևեք այս ESP8266- ին և Arduino IDE- ին ՝ Arduino IDE- ն ESP8266 մոդուլի համար կարգավորելու համար:

Հաջորդը, ձեզ հարկավոր է ծրագրավորող `ESP8266- ը ծրագրավորելու համար: Ահա երկու հղում.

Օգտագործելով Arduino Uno- ն

DIY ծրագրավորման խորհուրդ

Գրադարաններ

Կոդը կազմելու համար անհրաժեշտ կլինի տեղադրել լրացուցիչ գրադարաններ: Կրկին, վկայակոչեք այս հրահանգը.

Տեղադրեք և օգտագործեք Arduino գրադարանները

Ես չեմ կարող հիշել, թե որ գրադարանները պետք է տեղադրեի, բայց ես գիտեմ, որ WiFiManager- ը պետք է ներբեռնվի առանձին: Ես դրանք ներառել եմ Libraries.zip ֆայլում:

Քայլ 7: Առաջին անգամ կարգավորում

Առաջին անգամ կարգավորում
Առաջին անգամ կարգավորում
Առաջին անգամ կարգավորում
Առաջին անգամ կարգավորում
Առաջին անգամ կարգավորում
Առաջին անգամ կարգավորում

Առաջին անգամ օգտագործելիս IoT Smart Timer- ը պետք է միացված լինի WiFi ցանցին: Այս առաջադրանքը կատարվում է WiFiManager գրադարանի միջոցով, այնպես որ ոչ մի SSID կամ գաղտնաբառ պետք չէ մուտքագրել ծածկագրում:

Հետևեք այս մի քանի քայլերին.

  • Միացրեք միավորը
  • LED- ն կսկսի արագ բռնկվել
  • Սեղմեք MODE/SETUP կոճակը
  • Երբ LED- ն անջատվում է, բաց թողեք կոճակը
  • Սպասեք մի քանի վայրկյան, ապա բացեք ձեր սմարթֆոնի կամ սարքի WiFi կապերը
  • Տեսանելի կլինի նոր WiFi ցանցը, որը կոչվում է IoT Timer
  • Ընտրեք այս մուտքի կետը
  • Մուտք գործեք IoT ժամաչափ (գաղտնաբառ չի պահանջվում)
  • Սպասեք, մինչև ձեր սարքը միացված լինի IoT ժմչփ ցանցին
  • Բացեք ցանկացած ինտերնետ դիտարկիչ
  • Հասցեների բարում մուտքագրեք հետևյալ IP հասցեն `192.168.4.1
  • WiFiManager վահանակը կբացվի
  • Ընտրեք Կարգավորել WiFi- ը
  • WiFiուցադրվելու է WiFi ցանցերի հասանելի կետերով ցուցակ
  • Ընտրեք անհրաժեշտ WiFi ցանցը և մուտքագրեք գաղտնաբառը
  • Հաջորդը, մուտքագրեք այն IP հասցեն, որը ցանկանում եք օգտագործել IoT ժմչփին միանալու համար
  • Մուտքագրեք Default Gateway IP հասցեն, որին հաջորդում է դիմակը
  • Բոլոր պարամետրերն ավարտվելուց հետո կտտացրեք Պահել կոճակին
  • Նոր պատուհան կբացվի `հաստատելու համար, որ նոր հավատարմագրերը պահվել են
  • Փակեք ձեր դիտարկիչը

Պահվելուց հետո IoT Timer ցանցը կփակվի, և միավորը կփորձի միանալ ձեր WiFi ցանցին:

  • Միացրեք ձեր սմարթֆոնը կամ սարքը նույն WiFi ցանցին, որն օգտագործվում է IoT ժմչփի համար:
  • Բացեք ձեր դիտարկիչը
  • Հասցեների բարում մուտքագրեք ձեր IoT ժմչփի IP հասցեն
  • Կբացվի IoT Timer- ի կազմաձևման էջը

Ձեր IoT ժմչփն այժմ պատրաստ է օգտագործման համար

Քայլ 8: IoT ժմչփի կարգավորում

IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում
IoT ժմչփի կարգավորում

IoT Timer- ի ներկառուցված վեբ էջը բաղկացած է հինգ բաժնից.

Կարգավիճակը

Սա ցույց է տալիս սարքի անունը, ինչպես նաև ժամաչափի ընթացիկ ժամը և ելքային վիճակը

Բացի այդ, այս բաժնում սահմանվում է ժամաչափի աշխատանքային ռեժիմը: Կան երեք ռեժիմ.

  • Ավտոմատ - ելքը վերահսկվելու է ժամաչափի տարբեր ծրագրերով
  • Միացված - Ելքը հարկադրաբար միացված է և կմնա մինչև ռեժիմը փոխելը
  • Անջատված - Ելքը հարկադրաբար ԱՆFԱՏՎՈՄ Է, և այն կմնա մինչև ռեժիմը փոխելը:

Ծրագրեր

Այս բաժինը պարունակում է ժամաչափի միացման և անջատման ժամանակները: Առկա է յոթ ծրագիր, և յուրաքանչյուր ծրագիր կարող է սահմանվել առանձին:

Հաջորդ ծրագիրը փոխելուց առաջ սեղմեք SAVE կոճակը ՝ ընթացիկ ծրագրում կատարված ցանկացած փոփոխություն պահպանելու համար:

Կոճակի գործառույթ

MODE/SETUP կոճակը կարող է օգտագործվել նորմալ աշխատանքի ընթացքում ելքային ռելեը վերահսկելու համար: Այստեղ ընտրեք, թե ինչ պետք է անի կոճակը սեղմելիս:

Նոր պարամետրերը պահելու համար նախքան Պահել կոճակը սեղմելը նշեք «Update Button Function» վանդակը:

Կազմաձևում

Այստեղ կարող եք փոխել IoT Timer- ի անունը: Սա հեշտացնում է նույնականացումը մի քանի ժամաչափերի միջև:

Միավորի վրա աշխատած ժամանակը ինտերնետից ստացվում է NTP ժամանակային սերվերի միջոցով: Timeիշտ ժամանակը ցուցադրելու համար թարմացրեք Zամային գոտին ձեր տարածաշրջանում:

Եթե ցանկանում եք օգտագործել այլ NTP ժամանակային սերվեր, մուտքագրեք նոր IP հասցեն տրամադրված տարածքում:

Նշեք «Թարմացնել կազմաձևը» վանդակը ՝ նախքան Պահել կոճակը սեղմելը ՝ նոր կարգավորումները պահպանելու համար:

ՆՇՈՒՄ

Changingամային գոտի փոխելիս նոր ժամը ճիշտ կլինի միայն հաջորդ ժամանակի հարցման ժամանակ: Սարքը պետք է թարմացնի ժամանակը յուրաքանչյուր 5 րոպեն մեկ:

Timeամանակի ճշգրտում

Երբեմն պատահում է, որ NTP ժամանակային սերվերը չի պատասխանում ամեն անգամ հարցմանը: Եթե NTP սերվերի միջոցով ժամանակը սահմանելը չափազանց երկար տևի, կարող եք ձեռքով մուտքագրել ժամը և ամսաթիվը:

Նշեք «Թարմացնել ժամանակը» տուփը, նախքան Պահել կոճակը սեղմելը ՝ նոր ժամը և ամսաթիվը պահպանելու համար:

Timeամանակի համաժամացում

Էջի վերջին մասը ցույց է տալիս ժամանակը և ամսաթիվը, երբ վերջին անգամ համաժամացվել է NTP ժամանակային սերվերի միջոցով:

Խորհուրդ ենք տալիս: