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

Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն գաք. 5 քայլ
Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն գաք. 5 քայլ

Video: Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն գաք. 5 քայլ

Video: Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն գաք. 5 քայլ
Video: ESP8266 ESP01 DHT11 ջերմաստիճանի խոնավության ցուցիչի մոդուլի ծրագրավորում | RemoteXY | FLProg 2024, Սեպտեմբեր
Anonim
Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն վերադառնաք
Տան ավտոմատացում Android- ով և Arduino- ով. Բացեք դարպասը, երբ տուն վերադառնաք

Այս հրահանգը վերաբերում է տնային ավտոմատացման համակարգի ստեղծմանը, որը պետք է կառավարվի սմարթֆոնի միջոցով, ինտերնետ կապի միջոցով, որպեսզի այն հասանելի լինի ձեզ անհրաժեշտ ամենուրից: Ավելին, այն որոշակի գործողություններ կկատարի, երբ չափանիշները բավարարվեն (ինչպես, օրինակ, լույսը միացնելը, երբ սմարթֆոնը միանում է տնային wifi ցանցին, դարպասը բացում, երբ մուտքագրվում է GPS- ի որոշված տարածք, կամ այն ամենը, ինչ կցանկանաք):

Կօգտագործվի գոյություն ունեցող android ծրագիր, որը պահանջում է հնարավորինս նվազագույն կոդավորում. Պարզապես վերբեռնեք կոդը և ավարտված եք: Ուղեղը ՝ միկրոկառավարիչը, կլինի Arduino կամ Arduino- ի հետ համատեղելի տախտակ, օրինակ ՝ Aruino Uno ՝ Ethernet վահանով կամ NodeMCU ESP8266:

Համակարգը գործարկելու համար, երբ պայմանը բավարարված է (GPS դիրք, ժամանակ, ecc…) մենք կօգտագործենք տխրահռչակ Tasker- ը. դրա մասին ավելի ուշ:

Համակարգն իրագործելիս հաշվի են առնվել հետևյալ հիմնական կետերը.

  • Այն պետք է էժան լինի:
  • Այն պետք է հասանելի լինի տեղական տնային ցանցից (այսինքն ՝ ձեր WiFi- ից):
  • Այն պետք է իսկապես հեշտ և արագ կառուցվի և կարգավորվի:
  • Այն պետք է հուսալի լինի:

Ասել է թե ՝ ամբողջ նախագիծը կարժենա մոտ 20 € (7.50 € ESP8266- ի համար, 8 € ՝ ռելեի տախտակի համար, մնացածը ՝ լրացուցիչ սարքավորումների համար), և ամեն ինչ կարգավորելու համար կպահանջվի մոտ 30 րոպե, ամենևին էլ վատը չէ.

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

Քայլ 1: Սարքավորման կարգավորում

Սարքավորման կարգավորում
Սարքավորման կարգավորում

Երբ հավաքեք ձեր բոլոր բաղադրիչները, առաջին բանը, որ պետք է անել, դա ամեն ինչ լարելն է:

Այս օրինակում մենք լամպը կպցնելու ենք ESP8266- ին; Հիշեք, որ հիմնական լարման հետ աշխատելիս պետք է չափազանց զգույշ լինել. տներն օգտագործում են 220 Վ, ինչը կարող է ձեզ սպանել: Միշտ անջատեք էներգիան դրա վրա աշխատելուց առաջ, և եթե վստահ չեք, փնտրեք փորձագետի օգնություն:

Այդպես ասած. Լարվածության և հոսանքի նման մակարդակները կարգավորելու համար (ինչը կայրեցնի փոքր ESPR8266- ը) մենք պետք է օգտագործենք համապատասխան ռելե (օրինակ ՝ 5 Վ տրամաբանություն, հարմար է ստանդարտ Arduino- ի համար, կամ սա ՝ 3.3 Վ տրամաբանական մակարդակի ռելե, հարմար է ESP82666- ի 3.3V pinout- ի համար); կապերը բավականին հեշտ են, հետևեք մեր կցած գծապատկերին:

Նկատի ունեցեք, որ որոշ ռելեային տախտակներ (ինչպես այն, ինչ մենք կապել ենք) ԱԿՏԻՎ OWԱOWՐ են; սա նշանակում է, որ դուք պետք է միացնեք ռելեն գետնին, որպեսզի այն միացվի, և հակառակը: Եթե դա ձեր դեպքում է, Homotica- ն առաջարկում է գեղեցիկ լուծում. որը կտեսնենք հաջորդ պարբերությունում:

Քայլ 2: ESP8266 կազմաձևում

ESP8266 կազմաձևում
ESP8266 կազմաձևում
ESP8266 կազմաձևում
ESP8266 կազմաձևում
ESP8266 կազմաձևում
ESP8266 կազմաձևում

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

Դա անելու համար մեզ անհրաժեշտ կլինի Arduino ծրագրակազմը ՝ տրամադրված ուրվագիծը ESP8266- ում վերբեռնելու համար. այնպես որ, նավարկեք Arduino- ի ներբեռնման էջ և գրեք ձեզ համար առավել հարմար տարբերակը:

Ներբեռնելուց հետո տեղադրեք այն:

Այժմ, երբ մենք տեղադրել ենք մեր IDE- ն, մեզ պետք է գրադարանը, որն անհրաժեշտ է էսքիզն աշխատելու համար. այն տեղադրելու համար բացեք App Github Repo- ն և աջ կողմում կանաչ կոճակից ընտրեք Ներբեռնում:

Գնացեք ձեր համակարգչի Ներբեռնման թղթապանակ և օգտագործեք այնպիսի ծրագրակազմ, ինչպիսին է WinRar- ը կամ WinZip- ը, ֆայլը բացեք: բացեք «homotica-master» նորաստեղծ թղթապանակը և պատճենեք «Homotica» անունով ներքին թղթապանակը Arduino Editor Libraries թղթապանակում (այն սովորաբար կարող եք գտնել C: / Users / your_user_name / Documents / Arduino / libraries) բաժնում: Մնացած ֆայլերը ջնջեք «homotica-master»-ում, դրանք մեզ պետք չեն

ESP8266 կոդը վերբեռնելուց մեկ քայլ բացակայում է. Մենք պետք է ձեռք բերենք գրադարանը, որպեսզի Arduino IDE- ն հաղորդակցվի խորհրդի հետ, քանի որ այն պաշտոնապես չի աջակցվում:

Դա անելու համար հետևեք այս քայլերին (կրեդիտ ՝ Github ES8266 Arduino Repo).

  • Սկսեք Arduino- ն և բացեք Ֆայլեր> Նախապատվություններ պատուհանը:
  • Մուտքագրեք «https://arduino.esp8266.com/stable/package_esp8266com_index.json» (առանց չակերտների) Տախտակի կառավարչի լրացուցիչ հասցեների դաշտում: Կարող եք ավելացնել բազմաթիվ հասցեներ ՝ դրանք ստորակետերով առանձնացնելով:
  • Բացեք Տախտակների կառավարիչը Գործիքներ> Տախտակ ընտրացանկից և տեղադրեք esp8266 հարթակը (որոնեք «esp8266» և ներբեռնեք «esp8266 ESP8266 համայնքի կողմից»):

Ամեն ինչ կարգավորված է: Եկեք հոգ տանք էսքիզների ծածկագրի մասին:

Բացեք Ֆայլ> Օրինակ> Homotica> Homotica ESP8266, պատճենեք ԲՈԼՈՐ ծածկագիրը նոր ուրվագծի մեջ և փոփոխեք հետևյալ պարամետրերը.

  • ssid: այստեղ մուտքագրեք ձեր անլար ցանցի անունը
  • գաղտնաբառ. ձեր wifi գաղտնաբառը
  • ip, gateway, subnet. հավանաբար ստիպված չեք լինի դիպչել այս կարգավորմանը; փոխել ip- ն, եթե ցանկանում եք, որ ձեր ESP8266- ը այլ հասցե ունենա
  • mUdpPort: նավահանգիստ, որը մենք հետագայում կբացենք երթուղղիչում; եթե չգիտեք, թե ինչ է դա, մի դիպչեք դրան
  • ծածկագիր. յուրահատուկ 8-նիշանոց ծածկագիր, որը կօգտագործվի ձեր հավելվածի իսկությունը հաստատելու համար. կարող եք ընտրել այն, ինչ ցանկանում եք:

Եթե օգտագործում եք ACTIVE LOW կարգավորում, մի մոռացեք զանգահարել homotica.setActiveLow () ինչպես ցույց է տրված օրինակի ծածկագրում:

Ավարտելու համար ավելացրեք homotica.addUsedPin (5) (ինչպես ցույց է տրված օրինակում) ՝ ESP8266- ին ասելու համար, թե որ GPIO- ն պետք է կարգավորի, իսկ while loop- ի և homotica.set- ի միջև (mUdpPort, ծածկագիր); ջնջել բոլոր homotica.simulateUdp (…) տողերը:

Ահա այն կոդը, որը ձեզ պետք է մնա.

#ներառում

#ներառել #ներառել const char* ssid = "mywifiname"; const char* գաղտնաբառ = "wifipassword"; IPAddress ip (192, 168, 1, 20); IPAddress դարպաս (192, 168, 1, 1); IPAddress ենթահամակարգ (255, 255, 255, 0); անստորագիր int mUdpPort = 5858; ստատիկ լարային կոդ = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, subnet); WiFi.begin (ssid, գաղտնաբառ); while (WiFi.status ()! = WL_CONNECTED) {ուշացում (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- միայն եթե դրա կարիքը ունեք homotica.set (mUdpPort, ծածկագիր); } void loop () {homotica.refresh (); }

Երբ ամեն ինչ ճիշտ է կազմաձևված, փոխեք կազմողի կարգավորումները Գործիքների ընտրացանկից ՝ կցված սքրինշոթին համապատասխան և ընտրեք այն պորտը, որը ձեր ESP8266- ը միացված է ձեր համակարգչին Գործիքներ> Պորտ:

Այժմ, սեղմեք բեռնել: Ձեր միկրոկոնտրոլերը պատրաստ է և պատրաստ է աշխատելու:

Քայլ 3: Ուղղորդիչ և IP

Ուղղորդիչ և IP
Ուղղորդիչ և IP
Ուղղորդիչ և IP
Ուղղորդիչ և IP

ESP8266- ին յուրաքանչյուր ցանցից հաղորդակցվելու համար մենք պետք է երթուղիչին ասենք, որ թույլ տա մեզ ուղարկված հրամանը:

Դա անելու համար անցեք դեպի ձեր երթուղղիչի կազմաձևման էջ (սովորաբար 192.168.1.1) և փնտրեք «վիրտուալ սերվեր» կամ «նավահանգստի փոխանցում» նման բան; կարող եք գտնել Google- ում ձեր երթուղիչի մոդելի որոնման ճշգրիտ կարգավորումը:

Նավահանգստի փոխանցման ժամանակ ստեղծեք նոր կանոն, որը թույլ է տալիս բոլոր կապերը ESP8266- ին (այն, որն ավելի վաղ կազմաձևված էր) ESP8266 պորտի միջոցով (կրկին ՝ ավելի վաղ կազմաձևվածը): Անվանեք Homotica, տեղադրեք ESP8266 IP հասցեն IP դաշտում և պահեք:

Եթե ձեր օգտագործած երթուղիչը թույլ չի տալիս դա անել, մի անհանգստացեք. Դուք չեք կարողանա օգտագործել բջջային ցանցի ծրագիրը, բայց այն հիանալի կաշխատի ձեր տան wifi- ի ներսից:

Այժմ, արտաքին աշխարհից մեր երթուղիչին հղում անելու համար մենք պետք է իմանանք դրա հանրային IP- ն. բացասական կողմն այն է, որ ինտերնետ մատակարարի մեծամասնությունը ձեզ չի տալիս ստատիկ IP, այլ փոխարենը դինամիկ, որը ժամանակի ընթացքում փոխվում է:

Բայց սպասեք, մենք կարող ենք դա լուծել:

Գնացեք NoIp, ստեղծեք նոր հաշիվ, այնուհետև ստեղծեք նոր հյուրընկալողի անուն (տե՛ս կից պատկերը): Ուշադրություն դարձրեք, թե ինչ հյուրընկալողի անուն ունեք (իմ օրինակում ՝ https://yourhostname.ddns.net) և անցեք հաջորդ քայլին:

(Նշում. Գուցե ցանկանաք, որ ձեր համակարգիչն ինքնաբերաբար համաժամացնի ձեր երթուղիչի IP հասցեն ձեր NoIp սերվերի անվան հետ. Դա անելու համար ներբեռնեք նրանց անվճար ծրագիրը)

Քայլ 4: Հավելվածի կազմաձևում

Հավելվածի կազմաձևում
Հավելվածի կազմաձևում
Հավելվածի կազմաձևում
Հավելվածի կազմաձևում
Հավելվածի կազմաձևում
Հավելվածի կազմաձևում

Եկեք հոգանք հավելվածի մասին, այնպես չէ՞:

Ներբեռնեք ծրագիրը Play Store էջից և բացեք այն:

Բացեք ձախ ընտրացանկը, ընտրեք Տախտակներ և ստեղծեք նորը: Մենք կլրացնենք ESP8266 ուրվագծային ծածկագրում նախկինում սահմանված պարամետրերը.

  • Arduino անուն. Ինչ եք ուզում (թող սա լինի ESP8266)
  • Հյուրընկալող IP. Սա կարող է լինել

    • երթուղիչի ստատիկ IP- ն հղված է NoIp հղման միջոցով
    • ESP8266 IP- ն, եթե ցանկանում եք այն օգտագործել միայն ձեր տան wifi ցանցի ներսից 192.168.1.20
  • Հյուրընկալող նավահանգիստ. Այն, որը մենք ստեղծեցինք և բացեցինք ավելի վաղ ՝ 5858
  • Հեղինակության կոդ. ABc195 էսքիզում մեր սահմանած 8-նշանի կոդը

Պահել: Կրկին բացեք ընտրացանկը, ստեղծեք նոր սարք; ցուցադրության համար մենք կցելու ենք մի լամպ.

  • Անուն: լույս
  • Կոճակի անունը. Մենք կօգտագործենք On, ընտրեք այն, ինչ նախընտրում եք
  • Պին համարը. Քորոցը, որին մենք ամրացրել ենք լամպը: Զգույշ եղիր! ESP8266- ի վրա կապում պիտակները (D1, D2…) ՉԵՆ համապատասխանում GPIO Pin- ի անունին: Որոնեք Google- ում ՝ որոշելու, թե որ քորոցն է GPIO- ն (մեր օրինակում ՝ pin 5 -ը պիտակավորված է D1)
  • Վարք. Կարող եք ընտրել սարքը միացնելու, անջատելու, «հրելու» (միացնելու, ապա անջատելու) վիճակը փոխելու միջև:

Պահել: Եթե մինչ այժմ ամեն ինչ ճիշտ եք կարգավորել, լամպի վրա սեղմելը պետք է միանա:

Թույն է, չէ՞:

Այժմ դուք կարող եք զվարճանալ ՝ ավելացնելով ավելի շատ սարքեր, նույնիսկ ավելի շատ տախտակներ և դրանք դասավորելով տեսարաններում:

Բայց ամբողջ ուժով օգտագործելու այն, ինչ դուք պարզապես ստեղծել եք, մենք ստիպված կլինենք օգտագործել Tasker- ը:

Քայլ 5: Tasker ինտեգրում

Tasker ինտեգրում
Tasker ինտեգրում
Tasker ինտեգրում
Tasker ինտեգրում
Tasker ինտեգրում
Tasker ինտեգրում

Եթե Tasker- ի սեփականատեր եք կամ ցանկանում եք այն գնել, շարունակեք կարդալ: Մենք կօգտագործենք այն ՝ Homotica- ին ասելու համար, թե ինչ անել և երբ անել:

Այս օրինակում մենք լույսը միացնելու ենք, երբ միանում ենք մեր տան wifi- ին, և ժամանակը 16: 00 -ից 18: 00 -ն է:

Բաց Tasker; ստեղծեք նոր առաջադրանք (թույլ տվեք այն անվանել Turn On Light), ընտրեք Ավելացնել> Լրացուցիչ> Homotica, սեղմեք մատիտի ստեղնը ՝ հավելումը կազմաձևելու համար: Ընտրեք Լույս> Միացված և Պահել: Վերադառնալ հիմնական ընտրացանկ, ստեղծեք նոր պրոֆիլ, ընտրեք Պետություն> Միացված WiFi, մուտքագրեք շրջագայության Wifi անունը SSID դաշտում; սեղմեք հետ և ընտրեք «Միացնել լույսը» ՝ որպես գործունեության մուտքագրում: Այժմ երկար սեղմեք նորաստեղծ պրոֆիլի ձախ մասում, ընտրեք Ավելացնել> >ամը 16: 00 -ից 18:00, այնուհետև փակեք:

Մենք ավարտեցինք: Մեր լույսը կվառվի, երբ մենք տուն ենք մտնում մեր նախանշած ժամին:

Դա հարմար է:

Այժմ ձեր հերթն է. Ստեղծագործեք Homotica- ի և Tasker- ի հետ և մի մոռացեք մեզ ցույց տալ, թե ինչ եք ստեղծել:

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