Բովանդակություն:
- Քայլ 1: Express- ի ներբեռնում Pi- ի համար
- Քայլ 2: Pi սերվերի տեղադրում
- Քայլ 3: IFTTT կարգավորում (գործարկիչ)
- Քայլ 4: IFTTT կարգավորում (գործողություն)
- Քայլ 5. Նավահանգստի փոխանցում
- Քայլ 6: Մինչ այժմ ստուգեք ձեր աշխատանքը
- Քայլ 7: Շղթայի կառուցում
- Քայլ 8: Փորձարկիր այն:
Video: Google Home վերահսկվող լուսադիոդներ ՝ 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Վերջերս ես շատ ազատ ժամանակ ունեի ձեռքերիս վրա, ուստի աշխատում էի մի շարք նախագծերի վրա:
Այս նախագիծը թույլ կտա Ձեզ վերահսկել RGB LED- ները Google Home- ի միջոցով ՝ օգտագործելով Raspberry Pi- ն: Այժմ նախագծի 3 մաս կա ՝ Raspberry Pi- ի ստեղծում, IFTTT- ի միջոցով անհատական հրամանով Google Home- ի ստեղծում, այնուհետև լույսերի համար միացում ստեղծելը: Ես ինքս արեցի շրջանը, բայց գրազ եմ գալիս, որ դուք կարող եք ինչ -որ բան ստանալ Adafruit- ից, որն անում է այն, ինչ անհրաժեշտ է:
Նյութեր ազնվամորի Պի մասի համար
- Ազնվամորի Պի - ցանկացածը կաշխատի, բայց ես օգտագործում եմ eroրո
- Անլար Dongle - եթե Pi- ն չի ներկառուցված Wifi- ում
- Google Home - Լրացուցիչ, եթե ձեր հեռախոսում ունեք Google Assistant
Շրջանակային մասի նյութեր. Թույլ մի տվեք, որ դա ձեզ հետ պահի … Դա բավականին պարզ է
- Նախատախտակ
- Մետաղալար
- LED ժապավեն
- 12 Վ էլեկտրամատակարարում - 2 ամպից բարձր ցանկացած բան պետք է լավ լինի
- DC Barrel Jack - Նույն չափսը, ինչ ձեր էներգիայի աղբյուրը
- NPN BJT հզորության տրանզիստորներ (x3) - Ես օգտագործում եմ TIP31C- ը
-
Արական և իգական կապի վերնագրեր - ըստ ցանկության, բայց խորհուրդ է տրվում
Քայլ 1: Express- ի ներբեռնում Pi- ի համար
Ես չեմ պատրաստվում շատ մանրամասնել Pi- ի ստեղծման մասին, քանի որ այնտեղ տեղադրելու համար շատ ձեռնարկներ կան:
Այն, ինչ ձեզ հարկավոր է անել, որը ես չեմ լուսաբանում…
- Pրամեկուսացման Raspberry Pi նորագույն Raspbian- ով
- Կարգավորեք ցանցային քարտը, որպեսզի կարողանաք Pi- ից ինտերնետ մուտք գործել
- Սահմանեք ստատիկ IP Raspberry Pi- ի վրա
Այժմ այստեղ է, որտեղ սկսվում է զվարճանքը: Մենք պետք է տեղադրենք nodeJS, npm, express և express-generator:
sudo apt-get թարմացում
sudo apt-get տեղադրել nodejs npm
Տեղադրվելուց հետո գործարկեք հետևյալը
npm տեղադրել էքսպրես-գեներատոր
Express- ը թույլ է տալիս ստեղծել շատ հիմնական վեբ սերվեր ՝ ձեր Raspberry Pi- ի օգտագործման համար: Express-generator- ը պարզապես ավտոմատ կերպով ֆայլեր է ստեղծում էքսպրես սերվերի համար:
Ստեղծեք տեղեկատու և cd գրացուցակում: Ես իմ անունը դրեցի piWebpage: Այժմ գործարկեք հետևյալը (տես նաև նկարում)
mkdir piWebpage
cd piWebpage express --view = ejs webApp
Սա կստեղծի webApp անունով թղթապանակ ՝ դրանում առկա բոլոր էքսպրես ֆայլերով: Եթե հետագայում պլանավորում եք ավելին անել այս վեբ էջի հետ և ձեզ դուր է գալիս PUG- ը, --view = ejs- ը փոխարինեք --view = pug- ով: Մենք չենք շոշափի վեբ էջը, այնպես որ այս հավելվածի համար կարևոր չէ, թե ինչ ենք օգտագործում:
Քայլ 2: Pi սերվերի տեղադրում
Տեղափոխվեք նոր webApp գրացուցակում:
cd webApp
npm տեղադրում
npm- ի տեղադրումը որոշ ժամանակ կպահանջի, քանի որ այն տեղադրում է express- ի բոլոր կախվածությունները:
Տեղադրեք setColor.py- ն webApp պանակում: Այս ֆայլում կան որոշ նախադրյալներ հիմնական գույների համար: Ազատորեն ավելացրեք ավելին, ինչպես ցանկանում եք: Միջակայքը 0 -ից 255 -ն է, որտեղ 255 -ը լիարժեք է: Ինչ -որ պահի, ամենայն հավանականությամբ, ես կավելացնեմ լույսերը մարելու ունակությունը, բայց առայժմ դրանք լիովին պայծառ են:
Տեղափոխվեք երթուղիների մեջ
cd երթուղիներ
Այժմ փոխարինեք index.js- ը կցված ֆայլով: Սա կավելացնի որոշ տողեր `POST հրահանգ ստանալու համար, ինչը կուղարկի Google Home- ը: Այդ POST- ից մենք կստանանք ընտրված գույնը և Pi- ին կասենք, որ գործարկի setColor python սցենարը `լույսերը կարգավորելու համար:
Մի վերջին բան … Վերադառնալ webApp պանակ:
cd ~/piWebpage/webApp
Օգտագործելով ձեր նախընտրած խմբագիրը, տեղադրեք և պահեք ներքևի ծածկագիրը ձեր webApp.js- ում: Whereանկացած տեղ լավ է, քանի դեռ «module.exports = app» - ից առաջ է:
// Կարգավորել LED ապարատային վարորդի կոնստրուկտոր {exec} = պահանջել ('child_process'); exec ('sudo pigpiod', (err, stdout, stderr) => {if (err) {console.log ('LED Driver- ը սխալ է բեռնում'); վերադառնալ;} else console.log ('LED վարորդը հաջողությամբ բեռնվել է'); });
Ինչպես ասում է մեկնաբանությունը, pigpiod- ը PWM ազդանշանների ապարատային շարժիչն է, որը մենք կօգտագործենք LED գույնը կարգավորելու համար: Կարծում եմ, որ այն արդեն տեղադրված է Raspbian- ում, բայց եթե ոչ…
sudo apt-get install pigpiod
Հիմա իսկական փորձության համար: Սերվերը գործարկվում է:
DEBUG = webapp:* npm սկիզբ
Քայլ 3: IFTTT կարգավորում (գործարկիչ)
IFTTT- ն շատ բան կարող է անել, և ես խորհուրդ կտայի շուրջը նայել որոշ ծրագրեր:
Նախ, դուք պետք է հաշիվ ստեղծեք: Օգտագործեք նույն Google հաշիվը, որը կապված է ձեր Google Home- ի հետ, հակառակ դեպքում դրանք չեն համաժամեցվի միասին: Ամբողջական լինելուց և մուտք գործելուց հետո կտտացրեք IFTTT էջի վերին աջ կողմում, որտեղ այն ցույց է տալիս ձեր անունը և ավատարը: Այնուհետև բացվող պատուհանից կտտացրեք «Նոր հավելված»:
Եթե հետաքրքրասեր եք, IFTTT- ը նշանակում է IF This Then That, եթե չնկատեք բացվող էկրանին: Այսպիսով, այն, ինչ մենք ուզում ենք, եթե Google Assistant- ն է, ապա Webhook- ը ՝ որպես մեր ընտրանքներ:
Շարունակեք ՝ կտտացնելով +սա, որը կբեռնի որոնման տողը: Որոնման մեջ մուտքագրեք Google Assistant և կտտացրեք որոնման ներքևի պատկերակին:
Ընտրեք ձգան, ընտրեք 3 -րդ տարբերակը, որը կոչվում է Ասեք արտահայտություն տեքստային բաղադրիչով: Այժմ սա թույլ է տալիս ունենալ 3 հրաման, որոնք կկատարեն նույն գործողությունը: Դուք ավելացնում եք $ արտահայտությունը, որտեղ նշեք գույնը: Օրինակ, եթե ես բնականաբար ասեի Hey Google, Set LEDs Blue (որքան բնական է սարքի վրա բղավելը), ապա դաշտում մուտքագրեմ Set LEDs $: Դա արեք հրամանի տարբեր տարբերակներով բոլոր 3 դաշտերի համար:
Իմ օգտագործած 3 -ն էին
Լուսադիոդներ $
Սահմանեք LED- ները $
Սահմանեք LED գույնը $
Վերջին դաշտը այն է, ինչ կցանկանայիք, որ ձեր Google Home- ը պատասխաներ ձեր հրամանը ասելուց հետո: Դա կարող է լինել այն, ինչ ցանկանում եք, բայց ես օգտագործել եմ գույնը $ սահմանելը: $ -Ը նշանակում է, որ նա կվերադառնա գույնը:
Կտտացրեք Ստեղծեք ձգան
Քայլ 4: IFTTT կարգավորում (գործողություն)
Ստեղծել ձգան սեղմելուց հետո դուք կվերաբեռնեք այն, եթե այն այն դեպքում, բայց այն փոխարինվել է Google Օգնականի պատկերանշանով: Շարունակեք ՝ կտտացնելով +այն
Նույնը, ինչ նախկինում, որտեղ ձեզ բերում է որոնման տող: Մուտքագրեք Webhooks և կտտացրեք որոնման տողից ներքև գտնվող webhook պատկերակին: Ընտրեք գործողություն վեբ -կեռիկների համար, միայն մեկ տարբերակ կա, այնպես որ կտտացրեք Կատարել վեբ հարցում:
Ահա այստեղ ամեն ինչ մի փոքր խճճված է դառնում: Քանի որ Google- ը ձեր տանը այլ համակարգիչ չէ, ձեզ հարկավոր կլինի ձեր արտաքին IP հասցեն: Սա կպահանջի նավահանգստի որոշակի փոխանցում, բայց մենք դրան կանդրադառնանք ավելի ուշ: Ձեր արտաքին IP հասցեն ստանալու համար այցելեք
URL- ի դաշտում մուտքագրեք https://xxx.xxx.xxx.xxx:3000/{{TextField}} (x- ը ձեր արտաքին IP հասցեն է): Եթե դուք հետաքրքրասեր եք, TextField- ը կունենա ձեր ընտրած գույնը հրաման կատարելիս: 3000 -ի օգտագործման պատճառն այն է, որ դա այն նավահանգիստն է, որով աշխատում է Raspberry Pi Express սերվերը: (Դուք կարող եք փոխել նավահանգիստը կոդի մեջ, բայց մենք պարզապես օգտագործում ենք Express- ի կանխադրված կարգավորումները)
Մեթոդի համար ընտրեք POST:
Բովանդակության տիպի համար ընտրեք տեքստ/պարզ:
Մարմնի համար մուտքագրեք {{TextField}}
Ձեզանից նրանք, ովքեր գիտեն, թե ինչպես է աշխատում POST հրահանգը, կմտածեք, որ եթե դուք վերլուծեք խնդրի մարմնի հատկությունը, ապա կստանաք գույնը: Ինչ -ինչ պատճառներով, երբեք ոչինչ չի դրվում հարցման հիմնական դաշտում, ուստի ես իրականում վերլուծում եմ URL- ի գույնը: Հուսով եմ, որ շուտով շտկվում է, քանի որ դա կպարզեցնի իմ կոդը index.js երթուղում: Բայց ես շեղվում եմ:
Վերջապես, կտտացրեք Ստեղծել գործողություն, այնուհետև Ավարտել հաջորդ էջում: (Ես անջատել եմ ծանուցումները, բայց դա նախապատվությունն է)
Քայլ 5. Նավահանգստի փոխանցում
Այստեղ ամեն ինչ դժվար է բացատրել, քանի որ բոլոր երթուղիչները տարբեր են…
Այժմ մենք ունենք Google, որը հրաման է ուղարկում մեր տուն ՝ օգտագործելով 3000 պորտը, բայց չգիտի, թե LAN- ի որ սարքին պետք է գնալ: Դա շտկելու համար մենք պետք է 3000 նավահանգիստը փոխանցենք ձեր Raspberry Pi- ի տեղական IP հասցեին:
Մուտք գործեք ձեր երթուղիչ ՝ օգտագործելով 10.0.0.1 կամ 192.168.1.1 (ես նաև տեսել եմ այն, որտեղ վերջին թվանշանը 254 է) և գտեք նավահանգստի փոխանցում: Նավահանգստի փոխանցման մեջ, ինչպես պատկերը, դուք կնշեք նոր սարք (IFTTT) և նավահանգիստը (3000) կուղարկեք Pi- ի IP հասցեին (իմ դեպքում `10.0.0.11):
Պահպանեք ձեր նոր կարգավորումը, վերագործարկեք ձեր երթուղիչը և ստուգեք ՝ համոզվելու համար, որ ձեր Raspberry Pi սերվերը դեռ աշխատում է: Եթե այն չի աշխատում, նորից գործարկեք:
Վերադարձեք այդ օգտակար կայք https://canyouseeme.org/: Ձեր IP հասցեից ներքև այն ունի նավահանգստի ստուգիչ: Ենթադրելով, որ նավահանգստի փոխանցումը ճիշտ է, մուտքագրեք 3000 և սեղմեք ստուգման նավահանգիստը: Այն պետք է վերադառնա հաջողությամբ:
Քայլ 6: Մինչ այժմ ստուգեք ձեր աշխատանքը
Այժմ… այն պահը, որին դուք սպասում էիք… Տեղեկացրեք Google- ին այնպիսի հրաման, ինչպիսին է LED- ները ՝ կապույտով (եթե հետևեիք իմ օրինակին):
Ենթադրելով, որ ամեն ինչ ճիշտ է ընթանում, դուք կստանաք նկարում տեսանելի արդյունքը: Մենք դեռ միացում չունենք, ուստի այն ամենը, ինչ կտեսնեք, տեքստ է էկրանին: Սովորաբար կա երկրորդ կամ 2 ուշացում, մինչև այն մշակվի Google- ից և հայտնվի Pi- ում:
(Անցեք հաջորդ քայլին, եթե սա նկարի նման է ստացվել)
Այժմ կան մի քանի բաներ, որոնց պետք է ուշադրություն դարձնել, եթե այն չաշխատի…
Նկարում կա մի տող, որն ասում է
POST /գույն /կապույտ 200 250.458 մվ - 2
200 -ը կարևոր մասն է: Եթե դուք չեք տեսնում 200, ապա այնտեղ կար վատ POST, ինչը նշանակում էր, որ ձեր սերվերը չգիտեր, թե ինչ անել տվյալների հետ: Վերադարձեք Քայլ 2 և ստուգեք ձեր index.js ֆայլը:
Նաև նկարում
stdout: կապույտ
stderr:
Սա պիտոնի ֆայլի ելքն է, որն աշխատում է LED- ները: Եթե այնտեղ սխալ եք տեսնում, գուցե այն է, որ 2 -րդ քայլում վարորդը տեղադրված չէ:
Վերջապես, եթե ընդհանրապես ոչինչ չհայտնվեր … ձեր IFTTT- ը կարող էր ճիշտ տեղադրված չլինել կամ չհաջողվեր միանալ սերվերին: Վերադարձեք IFTTT էջ և վերևի նավարկության վահանակում կտտացրեք Գործունեություն: Այնտեղ դուք կարող եք տեսնել ամեն անգամ, երբ ձեր ծրագիրն աշխատում է, և եթե սխալ է եղել, կարող եք տեսնել, թե ինչ է դա եղել: Ես Google հրամանը կատարեցի Pi սերվերի հետ և ստացա նկարի սխալը:
Քայլ 7: Շղթայի կառուցում
Պատճառը, թե ինչու մենք պետք է դա անենք, այն է, որ Raspberry Pi- ն չունի բավարար ուժ… Այսպիսով, լուծումը… ԱՎԵԼԻ ԻՇԽԱՆՈԹՅՈ (Ն (Թիմը, ով գործիք Թեյլորն է հեռվում հռհռում): AKA մեկ այլ էլեկտրամատակարարում (12V 2A)
Շրջանակային մասի նյութեր
- Նախատախտակ
- Մետաղալար
- RGB LED ժապավեն
- 12 Վ էլեկտրամատակարարում - 2 ամպից բարձր ցանկացած բան պետք է լավ լինի
- DC Barrel Jack - Նույն չափսը, ինչ ձեր էներգիայի աղբյուրը
- NPN BJT հզորության տրանզիստորներ (x3) - Ես օգտագործում եմ TIP31C- ը
- Արական և իգական կապի վերնագրեր
Օգտագործելով այն հարմար պատկերը, որը ես գողացել եմ Pi Zero- ի GPIO- ի միջքաղաքային ցանցերից, կարող եք տեսնել, որ GPIO17- ը, GPIO18- ը և GPIO 27 -ը բոլորը միմյանց կողքին են `GND- ով: Մենք կօգտագործենք 4 քորոցների այդ քառակուսին (կապում 11, 12, 13, 14):
Նախ, ես խորհուրդ կտայի տղամարդկանց վերնագրերը միացնել ձեր LED շերտի վրա, ինչպես երևում է նկարում (ոչ թե իմ լավագույն աշխատանքը): Սա թույլ է տալիս հեշտ անջատում կատարել, եթե երբևէ դրա կարիքը լինի: Ես օգտագործել եմ կանացի վերնագրեր LED շերտի միացման համար իմ նախատախտակին և արական վերնագրեր ՝ նախատախտակից մինչև Raspberry Pi: (Միշտ օգտագործեք կանացի միացումներ էներգիայի/ազդանշանի աղբյուրի համար): Ձեզ անհրաժեշտ չէ, որ Pi- ի բոլոր կապումներն իրար կողքի տեղափոխեք… Ես պարզապես ուզում էի, որ այն մաքուր տեսք ունենար, բայց դա շատ աշխատանք էր:
Շրջանի բացատրություն
Նրանց համար, ովքեր անծանոթ են տրանզիստորներին, տրանզիստորները հիմնականում թվային անջատիչ են: PiI- ից GPIO կապում են երեք անջատիչները (կարմիր, կանաչ և կապույտ): Շրջանակային դիագրամում հատուկ նայելով RED- ին, երբ GPIO_17- ը միացված է, անջատիչը «փակվում» է RED- ին GND- ին միացնելով ՝ առաջացնելով կարմիր լույսերը: Երբ GPIO_17- ն անջատվում է, ապա անջատիչը բաց է, ուստի լույսերն անջատված են:
Հիմք - GPIO- ներ
Կոլեկցիոներ - Գույներ (Կարմիր, Կանաչ, Կապույտ)
Emitter - Ground (ինչպես էլեկտրամատակարարման, այնպես էլ Pi- ի)
Համոզվեք, որ Pi- ի հիմքը միացնում եք սնուցման աղբյուրին: Լույսերը դեռ կաշխատեն, բայց դրանք շատ աղոտ կհայտնվեն, մինչև գետինը միացված լինի:
Ես ունեմ 4 -րդ տրանզիստորին նայող սարք իմ նախատախտակի վրա: Դա L7805CV է, որն օգտագործվում է 12 Վ -ը 5 Վ փոխակերպելու համար, որպեսզի ես կարողանամ Pi- ն սնուցել նույն սխեմայի վրա: Այն աշխատում էր, բայց շարունակում էր տաքանալ, այնպես որ ես հանեցի դրա միացումները:
Քայլ 8: Փորձարկիր այն:
Միացումն ավարտելուց հետո վերագործարկեք ձեր Pi- ն որևէ կապեր կատարելուց առաջ: Դա պայմանավորված է նրանով, որ կապերը հավանաբար դեռ ակտիվ են սերվերի թեստից: Այլապես, դուք կարող եք սպանել սերվերին և խոզուկի ծառայությանը:
Միացրեք LED- ները և թռիչքները նախատախտակից մինչև Pi: Կրկնակի ստուգեք բոլոր միացումները, նախքան էլեկտրաէներգիա մատակարարելը: Եթե այն սխալ եք միացրել, կարող եք տապակել ձեր Pi- ն (առանց ճնշման):
Ստուգաթերթ
- Ստուգեք լարերը
- Power Pi
- Power Circuit
- Սկսել սերվերը (DEBUG = webapp:* npm սկսել մինչ while/piWebpage/webApp գրացուցակում)
- Տեղեկացրեք Google- ին ՝ կատարելու ձեր առաջարկը:
ՇՆՈՐՀԱՎՈՐՈԹՅՈՆ ոչինչ չեք պայթեցրել, և այժմ կարող եք վերահսկել ձեր LED- ները Google Home- ից:
Եթե խնդիրներ ունեք, թողեք մեկնաբանություններ, և ես կանեմ ամեն ինչ, որպեսզի վերադառնամ ձեզ:
Խորհուրդ ենք տալիս:
Arduino- ի վրա հիմնված ձայնով վերահսկվող IOT ռելեի անջատիչ (Google Home & Alexa Supported). 11 քայլ
Arduino- ի վրա հիմնված ձայնով վերահսկվող IOT ռելեի անջատիչ (Google Home & Alexa Supported). Այս նախագիծը նկարագրում է, թե ինչպես կատարել Arduino- ի վրա հիմնված, ձայնով կառավարվող, IOT ռելեի անջատիչ: Սա փոխանցում է, որը կարող եք միացնել և անջատել ՝ օգտագործելով iOS և Android հավելվածներ, ինչպես նաև այն կապել IFTTT- ին և վերահսկել այն ձեր ձայնով ՝ օգտագործելով Goog
Funվարճալի և հեշտ մարտկոցով աշխատող լուսադիոդներ ՝ 6 քայլ
Funվարճալի և հեշտ մարտկոցներով աշխատող լուսադիոդներ. Մինչ մենք կարանտինի մեջ ենք, ես և իմ ռոբոտաշինության թիմը գտել ենք մեր ձանձրույթը ջնջելու միջոց ՝ օգտագործելով մարտկոցներով աշխատող այս գերհեշտ LED- ները: Նրանք հիանալի են երեկույթների, գիտափորձերի և ձանձրույթների համար: Նրանք նաև թույն ֆոտոսեսիաներ են կատարում !! Նրանք գռեհիկ են
Ձայնի ակտիվացված լուսադիոդներ `8 քայլ
Ձայնի ակտիվացված լուսադիոդներ. Webduino- ն օգտագործում է Chrome ինտերնետ դիտարկիչը `վերահսկելու բոլոր տեսակի էլեկտրոնային բաղադրիչները, ուստի մենք պետք է կարողանանք օգտագործել Chrome- ի առաջարկած բոլոր այլ գործառույթները: Այս նախագծի օրինակում մենք կօգտագործենք Chrome- ի խոսքի API- ն: Google- ի ձայնային ճանաչման միջոցով
Ձայնով վերահսկվող տան ավտոմատացում (ինչպես Alexa- ն կամ Google Home- ը, Wifi կամ Ethernet կարիք չկա). 4 քայլ
Ձայնով վերահսկվող տնային ավտոմատացում (ինչպես Alexa- ն կամ Google Home- ը, Wifi կամ Ethernet կարիք չկա). Հիմնականում դա SMS- ի վրա հիմնված arduino ռելեներ են `Google օգնականի կարգավորմամբ` ձայնային հրահանգներով հաղորդագրություններ ուղարկելու համար: Դա շատ հեշտ և էժան է և աշխատում է ինչպես Alexa- ի գովազդները ձեր հետ գոյություն ունեցող էլեկտրական սարքեր (եթե ունեք Moto -X խելացի
DIY ձայնով/ինտերնետով վերահսկվող տան ավտոմատացում և մոնիտորինգ ՝ օգտագործելով ESP8266 և Google Home Mini ՝ 6 քայլ
DIY ձայնով/ինտերնետով վերահսկվող տան ավտոմատացում և մոնիտորինգ ESP8266- ի և Google Home Mini- ի միջոցով. Երկար ընդմիջումից հետո ես այստեղ եմ, քանի որ մենք բոլորս պետք է ձանձրացնող (աշխատանք) ինչ -որ բան անենք: Վաստակելու համար տնային ավտոմատացման բոլոր հոդվածներից հետո ես գրել եմ BLUETOOTH, IR, Local WIFI, Cloud, այսինքն `դժվարին, * ՀԻՄԱ * գալիս է ամենահեշտ, բայց ամենաարդյունավետ