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

ForgetMeNot - Smart Home Notification հարթակ. 14 քայլ (նկարներով)
ForgetMeNot - Smart Home Notification հարթակ. 14 քայլ (նկարներով)

Video: ForgetMeNot - Smart Home Notification հարթակ. 14 քայլ (նկարներով)

Video: ForgetMeNot - Smart Home Notification հարթակ. 14 քայլ (նկարներով)
Video: Forget Me Not Reminder Device Invent@SU Syracuse University 2024, Հուլիսի
Anonim
ForgetMeNot - Խելացի տան ծանուցման հարթակ
ForgetMeNot - Խելացի տան ծանուցման հարթակ

Որպես քոլեջի զբաղված ուսանողներ, որոնք վազում են դասերի, աշխատանքի և ընտանեկան պարտավորությունների միջև, մենք հակված ենք մոռանալ մանրուքները: Birthdayննդյան օրը գալիս և անցնում է առանց մեզ նկատելու, կարևոր ժամկետը բաց է թողնվում անմոռաց մոռացկոտության պատճառով, և երբեմն, երբեմն երբեմն, կրակը բռնկվում և այրվում է ձեր սենյակում, քանի որ մոռացել եք ջեռուցիչը:

Մի անհանգստացեք, սիրելի ընկերներ. Մենք գալիս ենք օգնության:

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

Ըստ էության, դա ապարատային և ծրագրային ապահովման համադրություն է: Այն համոզված է, որ դուք տեղյակ եք (և կարող եք գործել) այն բաների մասին, որոնք մոռացել եք անել տնից դուրս գալու ժամանակ:

Ռեմիքս

Թեև մենք օգտագործում ենք ընդամենը մի քանի տվիչներ (դիտող իրեր) և ակտիվացուցիչներ (անող բաներ), յուրաքանչյուր բաղադրիչի ընդհանրությունը այն հարմար է դարձնում տարբեր օգտագործման դեպքերի համար `նվազագույն սարքավորումային և ծրագրային փոփոխություններով: Տեղեկացրեք մեզ, եթե դուք ռեմիքս եք արել նախագծի մի մասի (կամ ամբողջի):

ԱՀԿ?

Հպարտությամբ ստեղծվել է Red Panda թիմի (ենթախմբի) կողմից, IDC Herzliya- ի McCann Valley- ում, Mizpe Ramon- ի կողմից: Բառացիորեն երախտագիտության պարկը գնում է ForRealTeam- ի vվիկա Մարկֆելդին, որը մեզ հետ գնաց անապատ `զարմանալի բաներ կառուցելու մեր երկրի ամենագեղեցիկ մասի միջնամասում:

Հատուկ շնորհակալություն

Random Nerd Tutorials- ի մարդկանց `հետաքրքիր, նոր հասկացությունների անվերջ հոսքի համար, որոնք մենք կարող ենք փորձարկել Node-RED- ի և մեր ESP8266- ի միջոցով, մասնավորապես այստեղ:

Պարագաներ

Վայ, շատ բաներ…

Սա բավականին ծավալուն նախագիծ է, և մենք որոշ վաղ դիզայնի ընտրություններ կատարեցինք ՝ կապված օգտագործվող սարքավորումների, ծրագրակազմի և այլ բարիքների հետ:

Թեև մենք խորհուրդ ենք տալիս ստորև նշված ցուցակը, եթե նախատեսում եք հետևել դրան, շատ մասեր կարող են փոխանակվել ավելի հեշտությամբ ձեռք բերված իրերի հետ: Օրինակներից մեկը WeMos- ի տախտակներն են. Տախտակի որևէ էժան տարբերակ, որի շուրջը նստած լինեք, հավանաբար կկարողանայիք աշխատել առանց շատ փոփոխությունների:

Այլ տեսակի օրինակ է Smart Outlet- ի պատյանը: Չնայած գեղեցիկ և ամուր, ցանկացած (ոչ մետաղական) տուփ կանի: Մենք պարզապես պատահաբար մուտք ունեցանք լազերային դանակ, և յուրաքանչյուր ոք, ով հասանելի է լազերային դանակին, հանկարծակի շատ ու շատ օգտագործում է լազերային կտրող սարքերի համար: ԲՈԼՈՐ ԲԱՆԵՐԸ: Նույնը վերաբերում է մեր 3D տպագիր մասերին:

Այսպիսով, պարզապես օրորեք ձեր սեփական հանդերձանքը և թողեք մեկնաբանություն ներքևում, եթե օգնության կարիք ունեք ՝ որոշ հատվածը մյուսով փոխարինելու հարցում:

Միկրոհսկիչներ, տախտակներ և վահաններ

  • 4 x ESP8266 տախտակ (մենք օգտագործում էինք LoLin- ի կողմից պատրաստված WeMos D1 մինիներ)
  • 1 x D1 մինի ռելե վահան
  • 1 x L293N Hbridge (օգտագործվում է Door Activator- ի DC շարժիչի համար)

Ուժ

  • 50 x Arduino ոճի jumper մալուխներ (կախված ձեր օգտագործած տախտակից, ձեզ կարող են անհրաժեշտ լինել ավելի շատ կին-տղամարդ կամ ավելի տղամարդ-տղամարդ: Պարզապես յուրաքանչյուրից մի փունջ ձեռք բերեք, դրանք միշտ հարմար են)-նշեք, որ դրանցից մի քանիսը մերկացվել Դռան ակտիվացման համար
  • 3 x 10 Օմ դիմադրիչներ
  • 1 x Xuanshi XS-XB6 16A ~ 250 վ առավելագույնը 3500 Վտ հզորության ժապավեն + երկարացման լար (ցանկացած երկարացման լար + պառակտիչ 220 Վ վարդակների համար պետք է անի) - նշեք, որ այն կջնջվի Smart Outlet- ի համար
  • 3 x Micro-USB մալուխներ
  • 3 x USB պատի լիցքավորիչներ
  • 1 x DY-0120200 (Մուտք ՝ 100-240V, 50-60Hz Ելք ՝ 12V --- 2A) AC/DC ադապտեր ՝ DC տակառի արական գլխով (կամ համարժեք ադապտեր)
  • 1 x կանացի DC բարելի խցիկ
  • 1 x 220V- ից մինչև 5V տրանսֆորմատոր (Smart Outlet տախտակին էներգիա ապահովելու համար անմիջապես էլեկտրական ժապավենից ՝ առանց լրացուցիչ էներգիայի աղբյուրի)

Սենսորներ

  • 1 x LDR լույսի ցուցիչ
  • 1 x Reed Relay (գործում է որպես սենսոր պատուհանի համար)
  • 1 x DHT ջերմաստիճանի տվիչ

Շարժիչներ

  • 1 x DC շարժիչ (մենք օգտագործում էինք առանց առանցքի մետաղական խոզանակ շարժիչ, բայց ցանկացած շարժիչ, որը տեղավորվում է ձեր եռաչափ տպված դռան ակտիվացման պատյանով, կանի)
  • 1 x Servo շարժիչ (ցանկացած չափ, հավանաբար, կանի, բայց համոզվեք, որ օգտագործեք բավականաչափ հզոր ՝ պահանջվող անջատիչը շրջելու համար)

Լազերային կտրված մասեր

1 x Smart Outlet Box

3D տպագիր մասեր

1 x Դռան ակտիվացման պատյան

Բջջային հեռախոս

Այս ձեռնարկը կառուցվել է Android հեռախոսների մտքում, և առայժմ թվում է, որ Integromat- ը չի աջակցում iOS սարքերին: Հետեւաբար, ցավոք, այս հրահանգը պահանջում է Android հեռախոս:

Ծրագրային ապահովում

  • Arduino IDE (Ինտեգրված զարգացման միջավայր. Հիմնականում կոդերի շքեղ խմբագիր)

    • Տեղադրեք ձեր տախտակը IDE- ում ՝ հեշտ բեռնման համար
    • Տեսեք բոլոր համապատասխան գրադարանների կից էսքիզները
  • Node-RED ինտեգրման հարթակ

    Մենք օգտագործում ենք հիմնականում ֆոնդային հանգույցներ, մի քանի բացառություններով. Տե՛ս կցված հոսքը բոլոր համապատասխան հանգույցների համար

  • Integromat.com (ծառայության միակցիչ, որը թույլ է տալիս միացնել բազմաթիվ ծառայություններ միասին, մեր դեպքում և Android հավելվածը և մեր Node -RED սերվերը)

    Մենք օգտագործեցինք անվճար մակարդակը, որը պետք է բավարարի հարթակի ամենօրյա օգտագործման համար

  • PushBullet.com (push ծանուցման ծառայություն)

    Մենք օգտագործեցինք անվճար տարբերակը, որը պետք է բավարարի հարթակի ամենօրյա օգտագործման համար

  • ngrok (թունելների ապահով ծառայություն)

    Մենք օգտագործում ենք թունելավորման այս անվճար ծրագրաշարը ՝ մեր տեղական կառավարման վահանակից հղումը աշխարհին ցուցադրելու համար, այնպես որ մենք կարող ենք մուտք գործել վահանակ URL- ից ՝ սեղմման ծանուցման մեջ

  • Mosquitto MQTT բրոքեր

    MQTT- ը մի արձանագրություն է, որն օգտագործվում է հաղորդագրություններ փոխանցելու մեր միացված սարքերի և Node-RED- ի միջև: Քանի որ Node-RED- ը չունի ներկառուցված MQTT սերվեր, մենք պետք է օգտագործենք արտաքին:

Քայլ 1: Հասկացեք հոսքը

Image
Image

Համակարգի ցուցադրման համար խորհրդակցեք վերը նշված տեսանյութի հետ: Նշենք, որ համակարգի ընդհանուր հոսքը (որից հետո կառուցվում է Node-RED հոսքը) հետևյալն է.

  1. Դուք լքում եք ձեր տունը
  2. Ձեր հեռախոսն անջատվում է ձեր տան WiFi- ից
  3. Integromat- ը ստանում է բառ և տեղեկացնում է Node-RED- ին
  4. Node-RED- ը ստուգում է, թե ինչ վիճակում են սենսորները ձեր տանը և անջատիչները ձեր վահանակում
  5. Եթե ինչ -որ բան մնացել է կամ բաց է, ապա դա տեղեկացնում է PushBullet- ին
  6. PushBullet- ը ծանուցում է ուղարկում ձեր հեռախոսին ՝ հղումով ՝ Node-RED վահանակով
  7. Կարող եք գնալ Գործիքային վահանակ և փակել/անջատել համապատասխան իրերը

Ըստ էության, մենք առաջարկում ենք կենտրոնացված մոտեցում ՝ ձեր տան տարբեր օբյեկտների կառավարման և վավերացնելու, որ դրանք ճիշտ կարգավիճակում են ձեր տնից դուրս գալու ժամանակ:

Գործնականում այս նախագծում մենք ունենք հետևյալ հնարավորությունները.

  1. Պատուհանի կարգավիճակը `բաց/փակ (նշված է Reed Relay կարգավիճակով)
  2. Լույսի կարգավիճակը `միացված/անջատված (նշված է LDR կարգավիճակով)
  3. Տիեզերական ջեռուցիչի կարգավիճակը `միացված/անջատված (նշված է DHT ջերմաստիճանի տվիչով)
  4. Դռների ակտիվացուցիչ-բաց/փակ (DC- շարժիչի համար պատրաստված 3D պատյան)
  5. Smart Outlet Activator - միացում/անջատում (էլեկտրահաղորդիչին միացված D1 ռելե)
  6. Switch Press Activator - միացնել/անջատել (տախտակին միացված Servo)

Սա մեր գրքում բավական է ՝ հարթակի հնարավորությունները ցույց տալու համար: Անհրաժեշտության դեպքում այն կարող է հեշտությամբ ընդարձակվել (օգտագործելով Node-RED) `ավելի շատ կարգավիճակի ցուցիչներ / ակտիվացուցիչներ ավելացնելու համար:

Քայլ 2: Ngrok

Նգրոկ
Նգրոկ

ngrok- ը թունելային ծառայություն է: Այն թույլ է տալիս արտաքին աշխարհին ենթարկել տեղական գործող ծառայությունը (մեր դեպքում ՝ Node -RED) ՝ առանց սերվերի ստեղծման կամ DNS գրառումների հետ աշխատելու դժվարությունների: Դուք պարզապես գործարկում եք Node-RED- ը ձեր համակարգչի վրա, այնուհետև աշխատում եք ngrok- ով նույն նավահանգստում, որի վրա գործում է Node-RED- ը: Վերջ, դուք կստանաք URL, որը կարող եք օգտագործել աշխարհի ցանկացած կետից Node -RED մուտք գործելու համար ՝ անկախ նրանից, թե որ ցանցին է այն միացված:

Տեղադրում և կազմաձևում

  1. Ներբեռնեք ngrok ձեր օպերացիոն համակարգի համար այստեղից:
  2. Հետևեք ներբեռնման էջի քայլին ՝ մինչև «Կրակել այն» քայլը:
  3. «Fire it up step» - ում փոխանակեք 80 -ը 1880 -ով ՝ ինչպես,./ngrok http 1880 կամ ngrok http 1880 ՝ կախված ձեր օպերացիոն համակարգից:
  4. Նշեք այն http հասցեն, որը կտեսնեք ձեր հրամանի տողում. Դա մեզ պետք կգա հետագայում: Տեսեք պատկերը օրինակով:

Քայլ 3: Node-RED

Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ

Տեղադրում և կազմաձևում

Theրագրի հիմնական տրամաբանական վերահսկիչը ՝ Node-RED- ը, տեսողական ծրագրավորման միջավայր է, որը թույլ է տալիս միացնել տարբեր ծրագրային (և ապարատային) ծառայություններ ՝ միասնական ծրագիր ստեղծելու համար: Որպես բոնուս, այն թույլ է տալիս ստեղծել գեղեցիկ վահանակներ, որոնք կարող են տեղեկատվություն ստանալ և նույնիսկ վերահսկել տարբեր ծառայություններ:

Եթե ծանոթ եք Node-RED- ին, պարզապես ստացեք մեր հոսքը այս Gist- ից և ավելացրեք ձեր ngrok id- ն ստորև բերված 8-րդ քայլից:

Եթե դուք ծանոթ չեք Node-RED- ին կամ այն տեղադրված չեք, հետևեք հետևյալ քայլերին ՝ ձեր Node-RED հոսքը ձեր տեղական համակարգչում բեռնելու համար.

  1. Node-RED- ը պահանջում է Node.js, որը ծրագրավորման լեզու է `իր զարգացման հատուկ միջավայրով: Այստեղից վերցրեք ձեր օպերացիոն համակարգին համապատասխան տեղադրիչը, այնուհետև հետևեք հրահանգներին:
  2. Այժմ կարող եք տեղադրել Node-RED- ը ՝ օգտագործելով այստեղ տրված հրահանգները: Խնդրում ենք նկատի ունենալ, թե որտեղ է տեղադրված Node-RED- ը, քանի որ դա ձեզ անհրաժեշտ կլինի հաջորդ քայլի համար:
  3. Այժմ, երբ դուք տեղադրել եք Node-RED- ը, գործարկեք այն ՝ օգտագործելով վերը նշված քայլին տրված հրահանգները և հաստատեք, կարող եք տեսնել դատարկ կտավի էջ: Այն պետք է տեղակայված լինի https://127.0.0.1:1880 հասցեում:
  4. Այժմ ձեզ հարկավոր է տեղադրել մի քանի լրացուցիչ հանգույց (այն, ինչ Node-RED- ն անվանում է իր ընդարձակումներ կամ մոդուլներ), որոնք օգտագործվում են այս նախագծում: Հետևեք հրահանգներին այստեղ և այստեղ և տեղադրեք այս երկու մոդուլները:
  5. Այժմ, երբ հանգույցները տեղադրված են, վերագործարկեք կարմիր հանգույցի սերվերը (պարզապես սպանելով ծառայությունը և այն նորից գործարկելը պետք է անի հնարքը): Այժմ դուք պետք է ձեր հոսքի մեջ ունենաք երկու հանգույց:
  6. Ներբեռնեք այս նախագծի Node-RED հոսքը այստեղից և հետևեք այստեղ տրված հրահանգներին ՝ այն ձեր Node-RED տեղադրման մեջ ներմուծելու համար:
  7. Համոզվեք, որ կարող եք տեսնել հոսքի պատկերը, ինչպես այն վերևում է ձեր էկրանին:
  8. Հիշու՞մ եք ngrok URL- ն վերջին քայլից: Մուտքագրեք այն Build Push Notification հանգույց: Սա թույլ կտա մեզ տեսնել վահանակի ուղիղ միացում (այն աշխատում է մեր տեղական մեքենայի վրա) ցանկացած սարքում, որը մենք օգտագործում ենք ծանուցումներ ստանալու համար:

Flow- ի բացատրություն

Ուշադրություն դարձրեք, որ հոսքը բաժանված է երկու մասի. Վերևը հիմնական տրամաբանությունն է, իսկ ստորինը `բաղադրիչ տրամաբանությունը:

Հիմնական տրամաբանությունը հոգ է տանից դուրս գալու մասին (ստանալով GET հարցում Integromat- ից Integromat WiFi Leave Endpoint հանգույցում), հետ ուղարկելով հաջողության պատասխանը (այնպես որ Integromat- ը չի կախված, Ինտեգրոմատին ուղարկեք հաջողության հաղորդագրություն)), այնուհետև անցկացնել բոլոր սենսորների և ակտիվացուցիչների ստուգում `ներկայիս կարգավիճակը ստուգելու համար (դա տեղի է ունենում Build Push Notification գործառույթի հանգույցի ներսում ՝ տեղեկատվությունը ստանալու համար օգտագործելով համատեքստային գլոբալ խանութը): Եթե այդ չեկը հայտնաբերում է, որ ինչ-որ բան միացված է կամ բաց, այն միացնում է PushBullet հրահանգի ծանուցումը (Ուղարկի ծանուցման ուղարկման վերին մասում): Ստորին ամենաուղղորդվող հրում ծանուցման հանգույցը հոգ է տանում ուշ ծանուցումներ ուղարկելու մասին (տիեզերական տաքացուցիչի համար. Տե՛ս դրա քայլը ՝ դրա հետևում գտնվող տրամաբանության մասին լրացուցիչ տեղեկությունների համար): Նկատի ունեցեք, որ այնտեղ կա նաև վրիպազերծման հանգույց (կոչվում է Get Request), որը գրանցում է եկող բոլոր հարցումները, այնպես որ մենք կարող ենք որսալ ցանկացած խնդիր ՝ Integromat- ի ցանկապատի կողմից:

Բաղադրիչ տրամաբանական հոսքը հոգ է տանում գլոբալ համատեքստային խանութը թարմացնելու յուրաքանչյուր ակտիվացնողի/սենսորի վիճակով, այնպես որ մենք կարող ենք որոշել, թե ինչ (եթե որևէ) տեղեկատվություն պետք է ուղարկենք մեր push ծանուցման մեջ: Նկատի ունեցեք, որ այս հոսքերի երկու տարբերակ կա.

Ակտիվացնողի հոսքեր (անջատիչ մամուլ/ դուռ/ խելացի ելք) - դրանք հոսքեր են, որոնք պետք է թարմացնեն տախտակի վահանակը, երբ անջատիչը պտտվի վահանակում + որոշակի ակտիվություն առաջացնի իրական աշխարհում: Մասնավորապես, երկուսն էլ սպասում են, որ ինչ -որ գործողություն կատարվի վահանակի վրա (անջատիչի հանգույցներում), այնուհետև շրջում է վիճակը «Պետական տրամաբանություն» գործառույթի հանգույցների ներսում և թարմացնում վահանակը ՝ ըստ շրջված անջատիչի (միացրեք/անջատեք LED- ը Պետական LED հանգույցներ և տեքստի փոփոխություն պետական ցուցիչի հանգույցներում): Բացի այդ, անջատիչը շրջվելուց հետո MQTT հաղորդագրություն է ուղարկվում WeMos վերահսկիչներին, որոնք վերահսկում են ակտիվացուցիչները (օգտագործելով MQTT-out Activator հանգույցները) ՝ ֆիզիկական աշխարհում գործողություն ստեղծելու համար (այսինքն ՝ դուռը բացել/փակել կամ սպանել/միացնել Smart- ը) Ելք):

Սենսորային հոսքեր (Լույս/պատուհան/Տաքացուցիչ) - Սրանք հոսքեր են, որոնք պետք է թարմացնեն վահանակը ՝ MQTT- ով սենսորային հաղորդագրություն ստանալուց հետո: Մասնավորապես, երկուսն էլ սպասում են MQTT հաղորդագրության մուտքին (օգտագործելով MQTT-in Sensor հանգույցները), այնուհետև վերլուծում է տեղեկատվությունը և շրջում վիճակը Տրամաբանության գործառույթի հանգույցների ներսում: Դրանից հետո նրանք թարմացնում են վահանակը ՝ ըստ մուտքային հաղորդագրության (միացրեք/անջատեք LED- ն Պետական LED հանգույցներում և տեքստը փոխեք Պետական ցուցիչի հանգույցներում):

Տեսնու՞մ եք յուրաքանչյուր բաղադրիչին ամրացված ներարկիչի հանգույցները: Սրանք հոգ են տանում սեղանի համար ողջամիտ կանխադրված պայմաններ ապահովելիս, երբ այն առաջին անգամ պտտվում է, որպեսզի ապահովվի, որ առաջին բեռի դեպքում ոչ մի զվարճալի գործ տեղի չունենա:

Նշում. Node-RED- ն ունի երկու «ռեժիմ» ՝ կտավ և UI: Կտավն այն վայրն է, որտեղ դուք ստեղծում և խմբագրում եք հանգույցները (այն գտնվում է https://127.0.0.1:1880 կամ https://YOUR_NGROK_ID.ngrok.io հասցեներում), իսկ միջերեսի միջավայրը ՝ ձեր վահանակները (այն գտնվում է https://127.0.0.1 կայքում): ՝ 1880/ui կամ

Քայլ 4: Ինտեգրոմատ

Ինտեգրոմատ
Ինտեգրոմատ
Ինտեգրոմատ
Ինտեգրոմատ
Ինտեգրոմատ
Ինտեգրոմատ

Գրանցվել

Ինտեգրոմատը, որն ինքն իրեն բնութագրում է որպես «Ինտերնետի սոսինձ», ծառայություն է, որը միացնում է ծրագրակազմի տարբեր կտորները հետաքրքիր ձևերով: Մեր դեպքում, մենք օգտագործում ենք նրա Android ծրագիրը `ստուգելու, թե երբ եք անջատված ձեր տան WiFi- ից, այնուհետև HTTP հարցումը միացնում մեր Node-Red սերվերին: Այս խնդրանքը կհանգեցնի նախորդ քայլին պատկերված ամբողջ հոսքին:

  1. Գրանցվեք Integromat հաշվի համար այստեղ:
  2. Ներբեռնեք Android ծրագիրը այստեղից:
  3. Integromat վեբ վահանակում (այն պետք է տեսնեք Integromat- ին գրանցվելուց հետո), բացեք Սարքեր ներդիրը ձախ կողմում, մեջտեղում:
  4. Ավելացրեք ձեր սարքը ՝ սեղմելով «Ավելացնել սարք» վերևի ձախ մասում և հետևելով ցուցադրված քայլերին:
  5. Վեբ վահանակով հավելվածի թույլտվությունն ավարտելուց հետո բացեք այն և անցեք ներքևի աջ մասի կարգավորումներ:
  6. Կտտացրեք WiFi, այնուհետև նշեք (իրադարձությունների ներքո) WiFi անջատված իրադարձության վանդակը: Սա թույլ կտա հավելվածին տեսնել, երբ ձեր հեռախոսն անջատված է WiFi ցանցից:

Ստեղծելով մեր սցենարը

Integromat- ում գործողությունների հոսքերը կոչվում են սցենարներ: Մենք ստեղծելու ենք մի սցենար, որը սպասում է WiFi ցանցի անջատմանը, այնուհետև զտում ենք միայն այն դեպքերը, որոնք համապատասխանում են մեր տան WiFi ցանցին:

  1. Սցենարի նկարագրության համար տես վերևի պատկերը:
  2. Ստեղծեք հանգույցներից յուրաքանչյուրը («փուչիկները») ՝ սեղմելով «Սիրվածների» ներքևի ներքևի «+» նշանի վրա և ավելացնելով պահանջվող երեք հանգույցները ՝ Android (WiFi անջատում), JSON (Ստեղծել JSON) և HTTP (Հարցում կատարել):
  3. Միացրեք Android հանգույցը JSON հանգույցին, իսկ JSON հանգույցը HTTP հանգույցին:
  4. Կարգավորեք զտիչը Android- ի և JSON հանգույցների միջև ՝ ըստ վերը նշված պատկերի:
  5. Կարգավորեք յուրաքանչյուր հանգույց ըստ վերը նշված պատկերների: Նշեք HTTP հանգույցի համար նախորդ քայլում ստեղծված ngrok URL- ի օգտագործումը: Եթե ձեր ngrok URL- ն է https://ac72hs.ngrok.io, ապա ձեր ngrok id- ն ac72hs է:

Քայլ 5: Մժեղ

Մժեղ
Մժեղ

Քանի որ Node-RED- ը չունի իր MQTT միջնորդը, և մենք պետք է շփվենք մեր տվիչների և ակտիվացնողների հետ MQTT- ի միջոցով, մենք կօգտագործենք նվիրված MQTT բրոքեր: Քանի որ Node-RED- ը խորհուրդ է տալիս Mosquitto- ին, սա այն է, ինչ մենք կօգտագործենք: MQTT- ի և այն մասին, թե ինչու է այն հաճախ օգտագործվում IoT նախագծում, տես այստեղ:

Տեղադրում և կազմաձևում

  1. Ներբեռնեք Mosquitto- ն այստեղից և տեղադրեք այն ՝ ըստ ձեր օպերացիոն համակարգի:
  2. Սովորաբար, դուք պետք է հետևեք այստեղ տրված հրահանգներին ՝ Node-RED- ը Mosquitto- ին միացնելու համար: Այնուամենայնիվ, եթե դուք օգտագործել եք մեր հոսքը, այն արդեն նախապես կազմաձևված է ձեզ համար: Քանի դեռ հոսքը և Mosquitrro- ն ճիշտ եք տեղադրում, և Mosquitto- ն աշխատում է 1883 նավահանգստում (որի վրա այն լռելյայն աշխատում է), այն պետք է աշխատի տուփից դուրս:
  3. Նկատի ունեցեք, որ սա նշանակում է, որ MQTT բրոքերը և ձեր Node-RED սերվերը աշխատում են նույն մեքենայի վրա: Սա օգտակար է համակարգի ներսում հաղորդակցությունը պարզեցնելու համար: Լրացուցիչ տեղեկությունների համար տե՛ս ստորև բերված գրառումը:

Նշում տեղական ցանցերի մասին

Որպեսզի ձեր սարքերը նորմալ գործեն Node-RED- ի հետ, ձեզ հարկավոր է, որ նրանք մուտք ունենան բրոքերին: Թեև մենք կարող էինք վստահված անձ սահմանել և օգտագործել այն Mosquitto- ի հետ հաղորդակցվելու համար, բարդ բարդությունների դեպքում առաջարկում ենք պարզ լուծում. Համոզվեք, որ ձեր համակարգիչը (աշխատում է Node-RED և Mosquitto) և ձեր ESP8266 տախտակները միացված են նույն WiFi- ին: Այդ կերպ ձեր սարքերը կարող են անմիջականորեն շփվել ձեր միջնորդի հետ ՝ առանց որևէ միջնորդի:

Ինչ -որ մեկը կարող է հարցնել, թե ինչու չօգտագործել ngrok- ը դրա համար, այնպես, ինչպես մենք այն օգտագործում ենք մեկ այլ սարքից վահանակը դիտելու համար: Պարզ պատասխանը այն է, որ դուք կարող եք, բայց ngrok- ը սահմանափակված է (անվճար տարբերակով) յուրաքանչյուր օգտագործողից մեկ թունելով: Սա նշանակում է, որ դուք կարող եք միայն մեկ նավահանգիստ բացել արտաքին աշխարհի համար, որը մեր դեպքում օգտագործվում է Node-RED- ի բացահայտման համար: Այսպիսով, փոխարենը, մենք օգտագործում ենք տեղական ցանցեր ՝ դա շրջանցելու համար:

Սա նշանակում է, որ յուրաքանչյուր ուրվագծում դուք պետք է փոփոխեք բրոքերի IP հասցեն `ձեր համակարգչի IP հասցեն տեղայնացնելու համար: Այս հասցե կարելի է մուտք գործել ՝ գործարկելով ipconfig (Windows- ում) և ifconfig (Mac / Linux) և համապատասխան WiFi միջերես փնտրելու միջոցով: Այն պետք է նշված լինի ներածված հասցեի տակ:

Այնուամենայնիվ, ճանապարհին դեռ կարող եք բախվել MQTT- ի որոշ խնդիրների: Այդ իսկ պատճառով օգտակար է վերահսկել բոլոր մուտքային և ելքային MQTT տրաֆիկները:

MQTT տրաֆիկի մոնիտորինգ

Մինչ Mosquitto- ն այս գործառույթն ապահովում է տուփից mosuitto_sub- ի միջոցով, GUI- ով առավել կողմնորոշված մարդկանց համար գրաֆիկական ինտերֆեյսով հաճախորդը կարող է ավելի հեշտ օգտագործել: MQTTfx- ը հիանալի գործիք է, որը մենք լայնորեն օգտագործել ենք այս նախագծի վրա աշխատելիս, և խորհուրդ ենք տալիս այն մեր սրտերից: Շնորհակալություն Jens Deters այս հիանալի գործիքի համար:

Քայլ 6: Pushbullet

Պուշբուլետ
Պուշբուլետ
Պուշբուլետ
Պուշբուլետ

Pushbullet- ը push ծանուցման ծառայություն է: Այն թույլ է տալիս բաժանորդագրվել ձեր սարքին ծառայությանը, այնուհետև դրան մղված ծանուցումները ՝ մի քանի հնարավոր ինտեգրման հիման վրա: Մենք կօգտագործենք այն, որպեսզի տեղեկացնենք մեր սարքին, երբ տան բաներից մեկը բաց կամ մնացել է, և հղում ավելացնենք վահանակին, որպեսզի կարողանանք փակել կամ անջատել այն իրերը, որոնց մասին մոռացել ենք խնամել տնից դուրս գալուց առաջ:

Գրանցում և կազմաձևում

  1. Գրանցվեք Pushbullet հաշվի համար ՝ օգտագործելով ձեր Google հաշիվը:
  2. Ներբեռնեք Pushbullet Android ծրագիրը այստեղից:
  3. Pusbullet- ին մուտք գործելուց հետո կտտացրեք այստեղ և ավելացրեք ձեր սարքը ՝ օգտագործելով ձախ կողմում գտնվող կոճակը:
  4. Այնուհետեւ գնացեք այստեղ եւ ընտրեք Ստեղծել մուտքի նշան: Նշեք այս նշանը, այն մեզ անհրաժեշտ կլինի հաջորդ քայլին:
  5. Գնացեք Node-RED և կտտացրեք Send Push Notification հանգույցին:
  6. Կողքի տողում (տես նկարը) ընտրեք «PushBullet Config», այնուհետև մատիտի պատկերակը:
  7. Ավելացրեք Մուտքի նշանը 4 -րդ քայլից «API բանալի» դաշտում:
  8. Այժմ դուք պետք է կարողանաք ստանալ push ծանուցումներ ձեր հեռախոսի վրա:

Քայլ 7: Arduino IDE

Arduino IDE
Arduino IDE

Այս ձեռնարկում մենք օգտագործում ենք ESP8266 տախտակները `մեր օգտագործած տարբեր սարքավորումները վերահսկելու համար: Մեր ծրագրակազմը տախտակներին վերբեռնելու համար մենք պետք է դրանք ցայտենք USB մալուխի միջոցով:Գործընթացը շատ պարզ է. Դուք միացնում եք տախտակը ձեր համակարգչին, այնուհետև սեղմում եք մի կոճակ: Այնուամենայնիվ, այնտեղ հասնելու համար մեզ հարկավոր է նախնական կարգավորում կատարել:

Տեղադրում և կազմաձևում

  1. Հետևեք ուղեցույցին այստեղ ՝ Arduino IDE- ն տեղադրելու համար:
  2. Հետևեք այստեղ ուղեցույցին ՝ ESP8266 տախտակների համապատասխան «վարորդները» ձեր Arduino IDE- ին տեղադրելու համար:
  3. Էսքիզները (.ino ֆայլերը) ձեր տախտակներին վերբեռնելիս համոզվեք, որ օգտագործում եք համապատասխան USB մալուխ (ոչ թե հզոր, այլ տվյալների):

Էսքիզների տեղադրում տախտակներին

Հաջորդ քայլերում, որոնք առնչվելու են ապարատը մեր առկա ծրագրային ինտերֆեյսի հետ, մենք պարզապես կասենք «էսքիզը վերբեռնեք տախտակին»: Հետևյալ քայլերից յուրաքանչյուրը ավելի շատ ապարատային և ավելի քիչ ծրագրային ապահովման մասին պահելու համար մենք մեկ անգամ մանրամասնում ենք բեռնման հոսքը այստեղ ՝

  1. Միացրեք տախտակը ձեր համակարգչին `օգտագործելով USB մալուխը:
  2. Բացեք Arudiono IDE- ն:
  3. Բացեք համապատասխան քայլի համար ներբեռնված ուրվագիծը:
  4. «Գործիքներ» ցանկում «Տախտակ» տարբերակի ներքո ընտրեք համապատասխան տախտակը:
  5. Նույն ընտրացանկում համոզվեք, որ «Պորտ» տարբերակը ընտրում է այն նավահանգիստը, որին միացված է ձեր տախտակը: այն պետք է դա անի լռելյայն, բայց եթե ոչ, պարզապես ապահովի, որ դա անում է: Եթե վստահ չեք, որ համակարգչի որ նավահանգիստն է, տեսեք հաջորդ քայլը:
  6. Էսքիզը վերբեռնեք գրատախտակին ՝ կտտացնելով էկրանի վերևի աջ մասում գտնվող սլաքի կոճակին (անմիջապես նշման նշանի պատկերակի կողքին): Սա կհավաքի և կփորձի էսքիզը վերբեռնել գրատախտակին:
  7. Եթե հաջորդ քայլը ձախողվեց, փորձեք գործիքների ցանկում ընտրել մեկ այլ նավահանգիստ կամ մեկ այլ տախտակ:
  8. Եթե դեռ խրված եք, փորձեք հետևել Quora- ի այս պատասխանին `հետագա քայլերի համար:

Քայլ 8: Գործիքային վահանակ

Գործիքային վահանակ
Գործիքային վահանակ

Վերևի պատկերը ցույց է տալիս, թե ինչ տեսք կունենա վերջնական վահանակը: Նշե՞լ անջատիչները: Նրանք ակտիվացնում են տարբեր սարքավորումներ, որոնք մենք կստեղծենք հաջորդ քայլերում: LED- ները կարգավիճակի ցուցիչներ են, որոնք փոխվում են, երբ սենսորը զգում է ինչ -որ փոփոխություն, ինչպես նաև այն ժամանակ, երբ մենք շրջում ենք անջատիչները:

Քայլ 9: Լույսի ցուցիչ

Լույսի ցուցիչ
Լույսի ցուցիչ
Լույսի ցուցիչ
Լույսի ցուցիչ
Լույսի ցուցիչ
Լույսի ցուցիչ

Լույսի այս ցուցիչը թույլ կտա ձեզ իմանալ ՝ լույսը միացրե՞լ եք, թե՞ անջատել ձեր տան սենյակներից մեկում: Երբ պատշաճ կերպով փակված է տուփի մեջ և տեղադրվում է լույսին մոտ, այն չի կարող լինել ավելի մեծ, քան երկու լուցկու տուփ ՝ միասին խրված:

Assmebly + կազմաձևում

  1. Հաղորդալար միացրեք ըստ ներառված Fritzing սխեմայի:
  2. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.

    • mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
    • ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
    • գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  3. Ներառված ուրվագիծը վերբեռնեք ձեր տախտակին:
  4. Փորձարկեք այն վահանակի վրա:

Գործիքային վահանակ Նայեք «Լույս» ներդիրի LED- ին - այն ցույց կտա լույսը միացված է կամ անջատված:

Քայլ 10: Smart Outlet Activator

Smart Outlet Activator
Smart Outlet Activator
Smart Outlet Activator
Smart Outlet Activator
Smart Outlet Activator
Smart Outlet Activator

Smart Outlet- ը վերցնում է սովորական էլեկտրահաղորդիչ (պատշաճ երկարության երկարացման լարով) և այն վերածում է Smart Object- ի, այն է ՝ WiFi- ով միացված ռելեն հոգում է այն միացնելու և անջատելու համար ՝ Node-RED կոճակի սեղմումով: վահանակ Այդ կերպ, եթե մոռացել եք անջատել վարդակից միացված մի բան, ապա կկարողանաք այն ձեռքով անջատել:

Համագումար + կազմաձևում

  1. Կտրեք հոսանքի լարը մեջտեղում և կտրեք լարերը:
  2. Տեղադրեք մերկացված լարերը պտուտակավոր տերմինալի մեջ `ըստ Fritzing Schematic- ի:
  3. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
  4. mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
  5. ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
  6. գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  7. Էսքիզը վերբեռնեք գրատախտակին:
  8. Միացրեք ռելեի վահանը տախտակին:
  9. Հավաքեք սխեման ըստ Fritzing սխեմայի:
  10. Փորձարկեք այն վահանակի վրա:

Բոնուսային միավորներ - պատյաններ

  1. Եթե կարող եք, լազերային կտրեք պատյանը ՝ կցված SmartOutletCasing պատկերով: Եթե լազերային դանակները քիչ են, վերցրեք ստվարաթղթե տուփ, կպցրեք պատկերը դրա մի կողմում և կտրեք կտորները:
  2. Կտրեք երկու անցք տուփի կողքին և սահեցրեք հոսանքի գոտում, ինչպես կցված պատկերում:
  3. Կապեք շերտի ծայրերը տուփի ներսում ՝ ապահովելու համար, որ շղթան չի անցնի անցքերի միջով:

Վահանակ

Նայեք «Smart Outlet» ներդիրի LED- ին ՝ այն ցույց կտա ՝ Smart Outlet- ը միացված է, թե անջատված: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:

Քայլ 11: Դռների ակտիվացուցիչ

Դռների ակտիվացուցիչ
Դռների ակտիվացուցիչ
Դռների ակտիվացուցիչ
Դռների ակտիվացուցիչ
Դռների ակտիվացուցիչ
Դռների ակտիվացուցիչ

Այս գեղեցիկ մեխանիզմը պտտում է բանալին այս ու այն կողմ ՝ հնարավորություն տալով կողպել և բացել դուռը: Մասնավորապես, եթե ձեր տունը լքելիս դուռը բաց եք թողել, կարող եք այն կողպել հեռակա կարգով::)

Համագումար + կազմաձևում

  1. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
  2. mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
  3. ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
  4. գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  5. Էսքիզը վերբեռնեք ESP8266 տախտակին:
  6. Հավաքեք սխեման ըստ սխեմատիկ: Նկատի ունեցեք, որ մենք օգտագործել ենք արտաքին էներգիայի աղբյուր `վերահսկելու (համեմատաբար ուժեղ) DC շարժիչը: Դրա համար անհրաժեշտ էր L298-N HBridge և էներգիայի արտաքին աղբյուր: Մենք որևէ զոդման կարիք չունեինք, քանի որ և՛ տակառների, և՛ HBridge- ի մոտ կար գեղեցիկ պտուտակավոր տերմինալներ, որոնք մենք կարող էինք օգտագործել. Թող նրանք հանգստանան խաղաղությամբ:
  7. Փորձարկեք այն վահանակի վրա:

Բոնուսային միավորներ - պատյաններ

Մենք օգտագործեցինք Jackեք Լյուի գոյություն ունեցող դիզայնը: Եթե Ձեզ հասանելի է 3D տպիչ, ապա դա հիանալի պատյան է, որը կարող եք կպչել ձեր դռանը և ամրացնել պտուտակներով կամ տաք սոսինձով:

Գործիքային վահանակ Նայեք «Դուռ» ներդիրի LED- ին `այն ցույց կտա դուռը բաց է, թե փակ: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:

Քայլ 12: Պատուհանի ցուցիչ

Պատուհանի ցուցիչ
Պատուհանի ցուցիչ
Պատուհանի ցուցիչ
Պատուհանի ցուցիչ
Պատուհանի ցուցիչ
Պատուհանի ցուցիչ

Թույլ մի տվեք, որ կատուն դուրս գա: Այս սենսորը օգտագործում է Reed Relay ՝ ստուգելու պատուհանի բաց կամ փակ լինելը: Նկատի ունեցեք, որ մենք պատուհան ենք ընտրել միայն հանուն օրինակի. Այն կարող է օգտագործվել շատ այլ բաների համար, ներառյալ ՝ դուռը բաց է, թե ոչ, ներառյալ տան, սենյակի և սառնարանի դռները:

Հավաքում և կազմաձևում

  1. Հավաքեք շղթան ըստ վերը նշված Ֆրիտզինգի սխեմայի:
  2. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
  3. mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
  4. ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
  5. գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  6. Վերբեռնեք ձեր ուրվագիծը գրատախտակին:
  7. Reed Relay- ի մի մասը ամրացրեք պատուհանագոգին, իսկ մյուսը `հենց պատուհանին (կամ ինչ բացման վրա էլ որոշեցիք սենսորը կցել):
  8. Փորձարկեք վահանակի վրա:

Վահանակ

Նայեք «Պատուհան» ներդիրի LED- ին `այն ցույց կտա պատուհանը բաց է, թե փակ:

Քայլ 13: Տիեզերական ջեռուցիչի ցուցիչ

Տիեզերական տաքացուցիչի ցուցիչ
Տիեզերական տաքացուցիչի ցուցիչ
Տիեզերական տաքացուցիչի ցուցիչ
Տիեզերական տաքացուցիչի ցուցիչ
Տիեզերական տաքացուցիչի ցուցիչ
Տիեզերական տաքացուցիչի ցուցիչ

Տաքացուցիչը միացված թողնելը հրդեհի վտանգ է: Եղեք ապահով և վերահսկեք ձեր տարածքի ջեռուցիչը հեռվից ՝ օգտագործելով այս սխեման: Մասնավորապես, շղթայի վրա գտնվող ջերմային տվիչը վերահսկում է ջերմությունը երկար ժամանակով ՝ կոշտ կոդավորված մինչև 5 րոպե նորմալ կանխատեսման դեպքում, և այդ ժամանակահատվածից հետո այն դեռ գոլորշիանում է: Դա արվում է, որպեսզի ջերմությունը չծախսվի (ինչպես ջեռուցիչն անջատելուց հետո) պատահաբար LED- ը միացնելուց:

Հավաքում և կազմաձևում

  1. Հավաքեք շղթան `կցված Fritzing սխեմայի համաձայն:
  2. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
  3. mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
  4. ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
  5. գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  6. Վերբեռնեք կցված ուրվագիծը ձեր տախտակին:
  7. Տեղադրեք տաքացուցիչի մոտ, սպասեք 5 րոպե և ստուգեք կառավարման վահանակը:

Վահանակ

Նայեք «Տիեզերական տաքացուցիչ» ներդիրի LED- ին ՝ այն ցույց կտա ՝ ջեռուցիչը միացված է, թե անջատված:

Քայլ 14. Փոխել Press Activator- ը

Փոխել Press Activator- ը
Փոխել Press Activator- ը
Փոխել Press Activator- ը
Փոխել Press Activator- ը

Սա շատ պարզ Servo շարժիչ է, որը կարող է շրջել կամ անջատել ֆիզիկական անջատիչը (լույսի անջատիչ, ջրի կաթսայի անջատիչ, հոսանքի անջատիչ և այլն): Եթե ձեր տանը միացրել եք անջատիչով կառավարվող իրերից մեկը, օրինակ `լույսը կամ ջրի կաթսան, կարող եք այն անջատել հեռակա կարգով:

Հավաքում և կազմաձևում

  1. Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
  2. mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
  3. ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
  4. գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
  5. Վերբեռնեք ուրվագիծը ձեր տախտակին:
  6. Հավաքեք սխեման ըստ Fritzing սխեմատիկայի:
  7. Կցեք Servo- ն համապատասխան անջատիչին ՝ օգտագործելով տաք սոսինձ կամ ձեր իսկ պատրաստած պատյանը: Ուղարկեք մեզ նկար, եթե այն պատրաստել եք:
  8. Փորձարկեք վահանակը:

Վահանակ

Նայեք «Փոխել մամուլ» ներդիրի LED- ին `այն ցույց կտա անջատիչի սեղմումը միացված է, թե անջատված: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:

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