Բովանդակություն:
- Պարագաներ
- Քայլ 1: Հասկացեք հոսքը
- Քայլ 2: Ngrok
- Քայլ 3: Node-RED
- Քայլ 4: Ինտեգրոմատ
- Քայլ 5: Մժեղ
- Քայլ 6: Pushbullet
- Քայլ 7: Arduino IDE
- Քայլ 8: Գործիքային վահանակ
- Քայլ 9: Լույսի ցուցիչ
- Քայլ 10: Smart Outlet Activator
- Քայլ 11: Դռների ակտիվացուցիչ
- Քայլ 12: Պատուհանի ցուցիչ
- Քայլ 13: Տիեզերական ջեռուցիչի ցուցիչ
- Քայլ 14. Փոխել Press Activator- ը
Video: ForgetMeNot - Smart Home Notification հարթակ. 14 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Որպես քոլեջի զբաղված ուսանողներ, որոնք վազում են դասերի, աշխատանքի և ընտանեկան պարտավորությունների միջև, մենք հակված ենք մոռանալ մանրուքները: 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: Հասկացեք հոսքը
Համակարգի ցուցադրման համար խորհրդակցեք վերը նշված տեսանյութի հետ: Նշենք, որ համակարգի ընդհանուր հոսքը (որից հետո կառուցվում է Node-RED հոսքը) հետևյալն է.
- Դուք լքում եք ձեր տունը
- Ձեր հեռախոսն անջատվում է ձեր տան WiFi- ից
- Integromat- ը ստանում է բառ և տեղեկացնում է Node-RED- ին
- Node-RED- ը ստուգում է, թե ինչ վիճակում են սենսորները ձեր տանը և անջատիչները ձեր վահանակում
- Եթե ինչ -որ բան մնացել է կամ բաց է, ապա դա տեղեկացնում է PushBullet- ին
- PushBullet- ը ծանուցում է ուղարկում ձեր հեռախոսին ՝ հղումով ՝ Node-RED վահանակով
- Կարող եք գնալ Գործիքային վահանակ և փակել/անջատել համապատասխան իրերը
Ըստ էության, մենք առաջարկում ենք կենտրոնացված մոտեցում ՝ ձեր տան տարբեր օբյեկտների կառավարման և վավերացնելու, որ դրանք ճիշտ կարգավիճակում են ձեր տնից դուրս գալու ժամանակ:
Գործնականում այս նախագծում մենք ունենք հետևյալ հնարավորությունները.
- Պատուհանի կարգավիճակը `բաց/փակ (նշված է Reed Relay կարգավիճակով)
- Լույսի կարգավիճակը `միացված/անջատված (նշված է LDR կարգավիճակով)
- Տիեզերական ջեռուցիչի կարգավիճակը `միացված/անջատված (նշված է DHT ջերմաստիճանի տվիչով)
- Դռների ակտիվացուցիչ-բաց/փակ (DC- շարժիչի համար պատրաստված 3D պատյան)
- Smart Outlet Activator - միացում/անջատում (էլեկտրահաղորդիչին միացված D1 ռելե)
- Switch Press Activator - միացնել/անջատել (տախտակին միացված Servo)
Սա մեր գրքում բավական է ՝ հարթակի հնարավորությունները ցույց տալու համար: Անհրաժեշտության դեպքում այն կարող է հեշտությամբ ընդարձակվել (օգտագործելով Node-RED) `ավելի շատ կարգավիճակի ցուցիչներ / ակտիվացուցիչներ ավելացնելու համար:
Քայլ 2: Ngrok
ngrok- ը թունելային ծառայություն է: Այն թույլ է տալիս արտաքին աշխարհին ենթարկել տեղական գործող ծառայությունը (մեր դեպքում ՝ Node -RED) ՝ առանց սերվերի ստեղծման կամ DNS գրառումների հետ աշխատելու դժվարությունների: Դուք պարզապես գործարկում եք Node-RED- ը ձեր համակարգչի վրա, այնուհետև աշխատում եք ngrok- ով նույն նավահանգստում, որի վրա գործում է Node-RED- ը: Վերջ, դուք կստանաք URL, որը կարող եք օգտագործել աշխարհի ցանկացած կետից Node -RED մուտք գործելու համար ՝ անկախ նրանից, թե որ ցանցին է այն միացված:
Տեղադրում և կազմաձևում
- Ներբեռնեք ngrok ձեր օպերացիոն համակարգի համար այստեղից:
- Հետևեք ներբեռնման էջի քայլին ՝ մինչև «Կրակել այն» քայլը:
- «Fire it up step» - ում փոխանակեք 80 -ը 1880 -ով ՝ ինչպես,./ngrok http 1880 կամ ngrok http 1880 ՝ կախված ձեր օպերացիոն համակարգից:
- Նշեք այն http հասցեն, որը կտեսնեք ձեր հրամանի տողում. Դա մեզ պետք կգա հետագայում: Տեսեք պատկերը օրինակով:
Քայլ 3: Node-RED
Տեղադրում և կազմաձևում
Theրագրի հիմնական տրամաբանական վերահսկիչը ՝ Node-RED- ը, տեսողական ծրագրավորման միջավայր է, որը թույլ է տալիս միացնել տարբեր ծրագրային (և ապարատային) ծառայություններ ՝ միասնական ծրագիր ստեղծելու համար: Որպես բոնուս, այն թույլ է տալիս ստեղծել գեղեցիկ վահանակներ, որոնք կարող են տեղեկատվություն ստանալ և նույնիսկ վերահսկել տարբեր ծառայություններ:
Եթե ծանոթ եք Node-RED- ին, պարզապես ստացեք մեր հոսքը այս Gist- ից և ավելացրեք ձեր ngrok id- ն ստորև բերված 8-րդ քայլից:
Եթե դուք ծանոթ չեք Node-RED- ին կամ այն տեղադրված չեք, հետևեք հետևյալ քայլերին ՝ ձեր Node-RED հոսքը ձեր տեղական համակարգչում բեռնելու համար.
- Node-RED- ը պահանջում է Node.js, որը ծրագրավորման լեզու է `իր զարգացման հատուկ միջավայրով: Այստեղից վերցրեք ձեր օպերացիոն համակարգին համապատասխան տեղադրիչը, այնուհետև հետևեք հրահանգներին:
- Այժմ կարող եք տեղադրել Node-RED- ը ՝ օգտագործելով այստեղ տրված հրահանգները: Խնդրում ենք նկատի ունենալ, թե որտեղ է տեղադրված Node-RED- ը, քանի որ դա ձեզ անհրաժեշտ կլինի հաջորդ քայլի համար:
- Այժմ, երբ դուք տեղադրել եք Node-RED- ը, գործարկեք այն ՝ օգտագործելով վերը նշված քայլին տրված հրահանգները և հաստատեք, կարող եք տեսնել դատարկ կտավի էջ: Այն պետք է տեղակայված լինի https://127.0.0.1:1880 հասցեում:
- Այժմ ձեզ հարկավոր է տեղադրել մի քանի լրացուցիչ հանգույց (այն, ինչ Node-RED- ն անվանում է իր ընդարձակումներ կամ մոդուլներ), որոնք օգտագործվում են այս նախագծում: Հետևեք հրահանգներին այստեղ և այստեղ և տեղադրեք այս երկու մոդուլները:
- Այժմ, երբ հանգույցները տեղադրված են, վերագործարկեք կարմիր հանգույցի սերվերը (պարզապես սպանելով ծառայությունը և այն նորից գործարկելը պետք է անի հնարքը): Այժմ դուք պետք է ձեր հոսքի մեջ ունենաք երկու հանգույց:
- Ներբեռնեք այս նախագծի Node-RED հոսքը այստեղից և հետևեք այստեղ տրված հրահանգներին ՝ այն ձեր Node-RED տեղադրման մեջ ներմուծելու համար:
- Համոզվեք, որ կարող եք տեսնել հոսքի պատկերը, ինչպես այն վերևում է ձեր էկրանին:
- Հիշու՞մ եք 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 սերվերին: Այս խնդրանքը կհանգեցնի նախորդ քայլին պատկերված ամբողջ հոսքին:
- Գրանցվեք Integromat հաշվի համար այստեղ:
- Ներբեռնեք Android ծրագիրը այստեղից:
- Integromat վեբ վահանակում (այն պետք է տեսնեք Integromat- ին գրանցվելուց հետո), բացեք Սարքեր ներդիրը ձախ կողմում, մեջտեղում:
- Ավելացրեք ձեր սարքը ՝ սեղմելով «Ավելացնել սարք» վերևի ձախ մասում և հետևելով ցուցադրված քայլերին:
- Վեբ վահանակով հավելվածի թույլտվությունն ավարտելուց հետո բացեք այն և անցեք ներքևի աջ մասի կարգավորումներ:
- Կտտացրեք WiFi, այնուհետև նշեք (իրադարձությունների ներքո) WiFi անջատված իրադարձության վանդակը: Սա թույլ կտա հավելվածին տեսնել, երբ ձեր հեռախոսն անջատված է WiFi ցանցից:
Ստեղծելով մեր սցենարը
Integromat- ում գործողությունների հոսքերը կոչվում են սցենարներ: Մենք ստեղծելու ենք մի սցենար, որը սպասում է WiFi ցանցի անջատմանը, այնուհետև զտում ենք միայն այն դեպքերը, որոնք համապատասխանում են մեր տան WiFi ցանցին:
- Սցենարի նկարագրության համար տես վերևի պատկերը:
- Ստեղծեք հանգույցներից յուրաքանչյուրը («փուչիկները») ՝ սեղմելով «Սիրվածների» ներքևի ներքևի «+» նշանի վրա և ավելացնելով պահանջվող երեք հանգույցները ՝ Android (WiFi անջատում), JSON (Ստեղծել JSON) և HTTP (Հարցում կատարել):
- Միացրեք Android հանգույցը JSON հանգույցին, իսկ JSON հանգույցը HTTP հանգույցին:
- Կարգավորեք զտիչը Android- ի և JSON հանգույցների միջև ՝ ըստ վերը նշված պատկերի:
- Կարգավորեք յուրաքանչյուր հանգույց ըստ վերը նշված պատկերների: Նշեք HTTP հանգույցի համար նախորդ քայլում ստեղծված ngrok URL- ի օգտագործումը: Եթե ձեր ngrok URL- ն է https://ac72hs.ngrok.io, ապա ձեր ngrok id- ն ac72hs է:
Քայլ 5: Մժեղ
Քանի որ Node-RED- ը չունի իր MQTT միջնորդը, և մենք պետք է շփվենք մեր տվիչների և ակտիվացնողների հետ MQTT- ի միջոցով, մենք կօգտագործենք նվիրված MQTT բրոքեր: Քանի որ Node-RED- ը խորհուրդ է տալիս Mosquitto- ին, սա այն է, ինչ մենք կօգտագործենք: MQTT- ի և այն մասին, թե ինչու է այն հաճախ օգտագործվում IoT նախագծում, տես այստեղ:
Տեղադրում և կազմաձևում
- Ներբեռնեք Mosquitto- ն այստեղից և տեղադրեք այն ՝ ըստ ձեր օպերացիոն համակարգի:
- Սովորաբար, դուք պետք է հետևեք այստեղ տրված հրահանգներին ՝ Node-RED- ը Mosquitto- ին միացնելու համար: Այնուամենայնիվ, եթե դուք օգտագործել եք մեր հոսքը, այն արդեն նախապես կազմաձևված է ձեզ համար: Քանի դեռ հոսքը և Mosquitrro- ն ճիշտ եք տեղադրում, և Mosquitto- ն աշխատում է 1883 նավահանգստում (որի վրա այն լռելյայն աշխատում է), այն պետք է աշխատի տուփից դուրս:
- Նկատի ունեցեք, որ սա նշանակում է, որ 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 ծանուցման ծառայություն է: Այն թույլ է տալիս բաժանորդագրվել ձեր սարքին ծառայությանը, այնուհետև դրան մղված ծանուցումները ՝ մի քանի հնարավոր ինտեգրման հիման վրա: Մենք կօգտագործենք այն, որպեսզի տեղեկացնենք մեր սարքին, երբ տան բաներից մեկը բաց կամ մնացել է, և հղում ավելացնենք վահանակին, որպեսզի կարողանանք փակել կամ անջատել այն իրերը, որոնց մասին մոռացել ենք խնամել տնից դուրս գալուց առաջ:
Գրանցում և կազմաձևում
- Գրանցվեք Pushbullet հաշվի համար ՝ օգտագործելով ձեր Google հաշիվը:
- Ներբեռնեք Pushbullet Android ծրագիրը այստեղից:
- Pusbullet- ին մուտք գործելուց հետո կտտացրեք այստեղ և ավելացրեք ձեր սարքը ՝ օգտագործելով ձախ կողմում գտնվող կոճակը:
- Այնուհետեւ գնացեք այստեղ եւ ընտրեք Ստեղծել մուտքի նշան: Նշեք այս նշանը, այն մեզ անհրաժեշտ կլինի հաջորդ քայլին:
- Գնացեք Node-RED և կտտացրեք Send Push Notification հանգույցին:
- Կողքի տողում (տես նկարը) ընտրեք «PushBullet Config», այնուհետև մատիտի պատկերակը:
- Ավելացրեք Մուտքի նշանը 4 -րդ քայլից «API բանալի» դաշտում:
- Այժմ դուք պետք է կարողանաք ստանալ push ծանուցումներ ձեր հեռախոսի վրա:
Քայլ 7: Arduino IDE
Այս ձեռնարկում մենք օգտագործում ենք ESP8266 տախտակները `մեր օգտագործած տարբեր սարքավորումները վերահսկելու համար: Մեր ծրագրակազմը տախտակներին վերբեռնելու համար մենք պետք է դրանք ցայտենք USB մալուխի միջոցով:Գործընթացը շատ պարզ է. Դուք միացնում եք տախտակը ձեր համակարգչին, այնուհետև սեղմում եք մի կոճակ: Այնուամենայնիվ, այնտեղ հասնելու համար մեզ հարկավոր է նախնական կարգավորում կատարել:
Տեղադրում և կազմաձևում
- Հետևեք ուղեցույցին այստեղ ՝ Arduino IDE- ն տեղադրելու համար:
- Հետևեք այստեղ ուղեցույցին ՝ ESP8266 տախտակների համապատասխան «վարորդները» ձեր Arduino IDE- ին տեղադրելու համար:
- Էսքիզները (.ino ֆայլերը) ձեր տախտակներին վերբեռնելիս համոզվեք, որ օգտագործում եք համապատասխան USB մալուխ (ոչ թե հզոր, այլ տվյալների):
Էսքիզների տեղադրում տախտակներին
Հաջորդ քայլերում, որոնք առնչվելու են ապարատը մեր առկա ծրագրային ինտերֆեյսի հետ, մենք պարզապես կասենք «էսքիզը վերբեռնեք տախտակին»: Հետևյալ քայլերից յուրաքանչյուրը ավելի շատ ապարատային և ավելի քիչ ծրագրային ապահովման մասին պահելու համար մենք մեկ անգամ մանրամասնում ենք բեռնման հոսքը այստեղ ՝
- Միացրեք տախտակը ձեր համակարգչին `օգտագործելով USB մալուխը:
- Բացեք Arudiono IDE- ն:
- Բացեք համապատասխան քայլի համար ներբեռնված ուրվագիծը:
- «Գործիքներ» ցանկում «Տախտակ» տարբերակի ներքո ընտրեք համապատասխան տախտակը:
- Նույն ընտրացանկում համոզվեք, որ «Պորտ» տարբերակը ընտրում է այն նավահանգիստը, որին միացված է ձեր տախտակը: այն պետք է դա անի լռելյայն, բայց եթե ոչ, պարզապես ապահովի, որ դա անում է: Եթե վստահ չեք, որ համակարգչի որ նավահանգիստն է, տեսեք հաջորդ քայլը:
- Էսքիզը վերբեռնեք գրատախտակին ՝ կտտացնելով էկրանի վերևի աջ մասում գտնվող սլաքի կոճակին (անմիջապես նշման նշանի պատկերակի կողքին): Սա կհավաքի և կփորձի էսքիզը վերբեռնել գրատախտակին:
- Եթե հաջորդ քայլը ձախողվեց, փորձեք գործիքների ցանկում ընտրել մեկ այլ նավահանգիստ կամ մեկ այլ տախտակ:
- Եթե դեռ խրված եք, փորձեք հետևել Quora- ի այս պատասխանին `հետագա քայլերի համար:
Քայլ 8: Գործիքային վահանակ
Վերևի պատկերը ցույց է տալիս, թե ինչ տեսք կունենա վերջնական վահանակը: Նշե՞լ անջատիչները: Նրանք ակտիվացնում են տարբեր սարքավորումներ, որոնք մենք կստեղծենք հաջորդ քայլերում: LED- ները կարգավիճակի ցուցիչներ են, որոնք փոխվում են, երբ սենսորը զգում է ինչ -որ փոփոխություն, ինչպես նաև այն ժամանակ, երբ մենք շրջում ենք անջատիչները:
Քայլ 9: Լույսի ցուցիչ
Լույսի այս ցուցիչը թույլ կտա ձեզ իմանալ ՝ լույսը միացրե՞լ եք, թե՞ անջատել ձեր տան սենյակներից մեկում: Երբ պատշաճ կերպով փակված է տուփի մեջ և տեղադրվում է լույսին մոտ, այն չի կարող լինել ավելի մեծ, քան երկու լուցկու տուփ ՝ միասին խրված:
Assmebly + կազմաձևում
- Հաղորդալար միացրեք ըստ ներառված Fritzing սխեմայի:
-
Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Ներառված ուրվագիծը վերբեռնեք ձեր տախտակին:
- Փորձարկեք այն վահանակի վրա:
Գործիքային վահանակ Նայեք «Լույս» ներդիրի LED- ին - այն ցույց կտա լույսը միացված է կամ անջատված:
Քայլ 10: Smart Outlet Activator
Smart Outlet- ը վերցնում է սովորական էլեկտրահաղորդիչ (պատշաճ երկարության երկարացման լարով) և այն վերածում է Smart Object- ի, այն է ՝ WiFi- ով միացված ռելեն հոգում է այն միացնելու և անջատելու համար ՝ Node-RED կոճակի սեղմումով: վահանակ Այդ կերպ, եթե մոռացել եք անջատել վարդակից միացված մի բան, ապա կկարողանաք այն ձեռքով անջատել:
Համագումար + կազմաձևում
- Կտրեք հոսանքի լարը մեջտեղում և կտրեք լարերը:
- Տեղադրեք մերկացված լարերը պտուտակավոր տերմինալի մեջ `ըստ Fritzing Schematic- ի:
- Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Էսքիզը վերբեռնեք գրատախտակին:
- Միացրեք ռելեի վահանը տախտակին:
- Հավաքեք սխեման ըստ Fritzing սխեմայի:
- Փորձարկեք այն վահանակի վրա:
Բոնուսային միավորներ - պատյաններ
- Եթե կարող եք, լազերային կտրեք պատյանը ՝ կցված SmartOutletCasing պատկերով: Եթե լազերային դանակները քիչ են, վերցրեք ստվարաթղթե տուփ, կպցրեք պատկերը դրա մի կողմում և կտրեք կտորները:
- Կտրեք երկու անցք տուփի կողքին և սահեցրեք հոսանքի գոտում, ինչպես կցված պատկերում:
- Կապեք շերտի ծայրերը տուփի ներսում ՝ ապահովելու համար, որ շղթան չի անցնի անցքերի միջով:
Վահանակ
Նայեք «Smart Outlet» ներդիրի LED- ին ՝ այն ցույց կտա ՝ Smart Outlet- ը միացված է, թե անջատված: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:
Քայլ 11: Դռների ակտիվացուցիչ
Այս գեղեցիկ մեխանիզմը պտտում է բանալին այս ու այն կողմ ՝ հնարավորություն տալով կողպել և բացել դուռը: Մասնավորապես, եթե ձեր տունը լքելիս դուռը բաց եք թողել, կարող եք այն կողպել հեռակա կարգով::)
Համագումար + կազմաձևում
- Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Էսքիզը վերբեռնեք ESP8266 տախտակին:
- Հավաքեք սխեման ըստ սխեմատիկ: Նկատի ունեցեք, որ մենք օգտագործել ենք արտաքին էներգիայի աղբյուր `վերահսկելու (համեմատաբար ուժեղ) DC շարժիչը: Դրա համար անհրաժեշտ էր L298-N HBridge և էներգիայի արտաքին աղբյուր: Մենք որևէ զոդման կարիք չունեինք, քանի որ և՛ տակառների, և՛ HBridge- ի մոտ կար գեղեցիկ պտուտակավոր տերմինալներ, որոնք մենք կարող էինք օգտագործել. Թող նրանք հանգստանան խաղաղությամբ:
- Փորձարկեք այն վահանակի վրա:
Բոնուսային միավորներ - պատյաններ
Մենք օգտագործեցինք Jackեք Լյուի գոյություն ունեցող դիզայնը: Եթե Ձեզ հասանելի է 3D տպիչ, ապա դա հիանալի պատյան է, որը կարող եք կպչել ձեր դռանը և ամրացնել պտուտակներով կամ տաք սոսինձով:
Գործիքային վահանակ Նայեք «Դուռ» ներդիրի LED- ին `այն ցույց կտա դուռը բաց է, թե փակ: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:
Քայլ 12: Պատուհանի ցուցիչ
Թույլ մի տվեք, որ կատուն դուրս գա: Այս սենսորը օգտագործում է Reed Relay ՝ ստուգելու պատուհանի բաց կամ փակ լինելը: Նկատի ունեցեք, որ մենք պատուհան ենք ընտրել միայն հանուն օրինակի. Այն կարող է օգտագործվել շատ այլ բաների համար, ներառյալ ՝ դուռը բաց է, թե ոչ, ներառյալ տան, սենյակի և սառնարանի դռները:
Հավաքում և կազմաձևում
- Հավաքեք շղթան ըստ վերը նշված Ֆրիտզինգի սխեմայի:
- Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Վերբեռնեք ձեր ուրվագիծը գրատախտակին:
- Reed Relay- ի մի մասը ամրացրեք պատուհանագոգին, իսկ մյուսը `հենց պատուհանին (կամ ինչ բացման վրա էլ որոշեցիք սենսորը կցել):
- Փորձարկեք վահանակի վրա:
Վահանակ
Նայեք «Պատուհան» ներդիրի LED- ին `այն ցույց կտա պատուհանը բաց է, թե փակ:
Քայլ 13: Տիեզերական ջեռուցիչի ցուցիչ
Տաքացուցիչը միացված թողնելը հրդեհի վտանգ է: Եղեք ապահով և վերահսկեք ձեր տարածքի ջեռուցիչը հեռվից ՝ օգտագործելով այս սխեման: Մասնավորապես, շղթայի վրա գտնվող ջերմային տվիչը վերահսկում է ջերմությունը երկար ժամանակով ՝ կոշտ կոդավորված մինչև 5 րոպե նորմալ կանխատեսման դեպքում, և այդ ժամանակահատվածից հետո այն դեռ գոլորշիանում է: Դա արվում է, որպեսզի ջերմությունը չծախսվի (ինչպես ջեռուցիչն անջատելուց հետո) պատահաբար LED- ը միացնելուց:
Հավաքում և կազմաձևում
- Հավաքեք շղթան `կցված Fritzing սխեմայի համաձայն:
- Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Վերբեռնեք կցված ուրվագիծը ձեր տախտակին:
- Տեղադրեք տաքացուցիչի մոտ, սպասեք 5 րոպե և ստուգեք կառավարման վահանակը:
Վահանակ
Նայեք «Տիեզերական տաքացուցիչ» ներդիրի LED- ին ՝ այն ցույց կտա ՝ ջեռուցիչը միացված է, թե անջատված:
Քայլ 14. Փոխել Press Activator- ը
Սա շատ պարզ Servo շարժիչ է, որը կարող է շրջել կամ անջատել ֆիզիկական անջատիչը (լույսի անջատիչ, ջրի կաթսայի անջատիչ, հոսանքի անջատիչ և այլն): Եթե ձեր տանը միացրել եք անջատիչով կառավարվող իրերից մեկը, օրինակ `լույսը կամ ջրի կաթսան, կարող եք այն անջատել հեռակա կարգով:
Հավաքում և կազմաձևում
- Բացեք ուրվագիծը և փոխեք հետևյալ փոփոխականները.
- mqtt_server - Ձեր համակարգչի տեղական IP հասցեն (որպես գործարկվող Mosquitto, MQTT բրոքեր)
- ssid - WiFi ցանցի անունը, որին միացված է ձեր համակարգիչը, և ցանկանում եք, որ ձեր տախտակը միացված լինի
- գաղտնաբառ - նշված WiFi ցանցի գաղտնաբառը
- Վերբեռնեք ուրվագիծը ձեր տախտակին:
- Հավաքեք սխեման ըստ Fritzing սխեմատիկայի:
- Կցեք Servo- ն համապատասխան անջատիչին ՝ օգտագործելով տաք սոսինձ կամ ձեր իսկ պատրաստած պատյանը: Ուղարկեք մեզ նկար, եթե այն պատրաստել եք:
- Փորձարկեք վահանակը:
Վահանակ
Նայեք «Փոխել մամուլ» ներդիրի LED- ին `այն ցույց կտա անջատիչի սեղմումը միացված է, թե անջատված: Բացի այդ, զվարճանքի և շահույթի համար միացրեք և անջատեք անջատիչը:
Խորհուրդ ենք տալիս:
Gyroscope հարթակ/ Camera Gimbal: 5 քայլ (նկարներով)
Գիրոսկոպի հարթակ/ Տեսախցիկ Gimbal. Այս հրահանգը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com)
Անսահման մակարդակներով հարթակ GameGo With Makecode Arcade: 5 քայլ (նկարներով)
GameGo- ն անսահմանափակ մակարդակներով GameGo With Makecode Arcade- ով. GameGo- ն Microsoft Makecode- ի հետ համատեղելի ռետրո խաղային շարժական վահանակ է, որը մշակվել է TinkerGen STEM կրթության կողմից: Այն հիմնված է STM32F401RET6 ARM Cortex M4 չիպի վրա և պատրաստված է STEM մանկավարժների կամ պարզապես այն մարդկանց համար, ովքեր սիրում են զվարճանալ ՝ ստեղծելով ռետրո տեսախաղ
Telepresence ռոբոտ. Հիմնական հարթակ (մաս 1). 23 քայլ (նկարներով)
Telepresence Robot: Հիմնական հարթակ (Մաս 1). Հեռուստատեսային ռոբոտը ռոբոտի տեսակ է, որը կարող է հեռակա կարգով կառավարվել ինտերնետով և որպես փոխնակ գործել մեկ ուրիշի համար: Օրինակ, եթե դուք Նյու Յորքում եք, բայց ցանկանում եք ֆիզիկապես շփվել Կալիֆորնիայի մարդկանց թիմի հետ
Ինչպես պատրաստել հարթակ քերծվածքների վրա. 6 քայլ (նկարներով)
Ինչպես կատարել հարթակ քերծվածքների վրա. Scratch- ը կայք է, որտեղ մարդիկ ստեղծում են խաղեր և այլ ծրագրեր ՝ օգտագործելով նախապես պատրաստված բլոկներ, որոնք քաշում և գցում եք աշխատանքային տարածք: Այսօր ես ձեզ ցույց կտամ, թե ինչպես ստեղծել հարթակ խաղ զրոյից
Սեղանի սեղանի Pinball մեքենա ՝ օգտագործելով Evive- Arduino- ի վրա հիմնված ներկառուցված հարթակ ՝ 18 քայլ (նկարներով)
Սեղանի Pinball մեքենա ՝ օգտագործելով Evive- Arduino- ի վրա հիմնված ներկառուցված պլատֆորմ. Եվս մեկ հանգստյան օր, ևս մեկ հետաքրքիր խաղ: Եվ այս անգամ, դա ոչ այլ ոք է, քան բոլորի սիրած արկադային խաղը `Pinball! Այս նախագիծը ցույց կտա ձեզ, թե ինչպես կարելի է ձեր սեփական Pinball մեքենան հեշտությամբ պատրաստել տանը: Այն, ինչ ձեզ հարկավոր կլինի, բաղադրիչներն են ՝ արկածախնդրությունից