Բովանդակություն:
- Քայլ 1: Նախապատմություն
- Քայլ 2. Գրանցեք գործիքը Alexa Voice Service Developer Console- ում
- Քայլ 3. Ստեղծեք AWS Lambda գործառույթ և հարմարեցված հմտություն
- Քայլ 4. Կարգավորեք ծածկագիրը ձեր ազնվամորի Pi- ի վրա
- Քայլ 5: Փաթեթավորում
Video: Ավելացրեք Custom Alexa Control ՝ Raspberry Pi նախագծին ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս նախագիծը նախատեսված է բոլոր նրանց համար, ովքեր ունեն Raspberry Pi նախագիծ, որն օգտագործում է Python- ը, ով ցանկանում է ձայնային վերահսկողություն ավելացնել իրենց գործող Amazon Echo սարքերի միջոցով: Անհրաժեշտ չէ լինել փորձառու ծրագրավորող, բայց պետք է հարմարավետ լինեք ՝ օգտագործելով հրամանի տողը և հարմարեցնելով առկա կոդը `ձեր կարիքներին համապատասխան:
Սկզբում ես սկսեցի մի նախագիծ, որը հնարավորություն կտար իմ Raspberry Pi- ին ձայնով կառավարել Alexa- ն, որպեսզի այն թեյնիկի մեջ ջուրը տաքացնի որոշակի ջերմաստիճանի: Թեև իմ ուզած փոխազդեցությունը բավականին պարզ էր (Alexa- ից մեկ համար փոխանցեք Raspberry Pi- ին), գոյություն ունեցող ձեռնարկներից այդ վիճակին հասնելու համար մեծ աշխատանք պահանջվեց: Հուսով եմ, որ այս ձեռնարկը հնարավորինս արագ կդարձնի այդ գործընթացը մյուսների համար:
Իմ օրինակում ես սկսում եմ Raspberry Pi Zero W- ով Raspbian- ով: Ես Pi- ի վրա ունեմ Python3 ծրագիր, որն ունակ է տեքստ գրել SPI էկրանին, և ունեմ ջերմաչափի զոնդ, որը կարող եմ կարդալ: Ձեզ համար այս ծրագիրը կարող է լինել գրեթե ամեն ինչ, բայց գաղափարն այն է, որ դուք կարող եք ունենալ որոշ մուտքային սարքեր, որոնք ցանկանում եք կարդալ Alexa- ի միջոցով և/կամ որոշ ելքային սարքեր, որոնք ցանկանում եք վերահսկել Alexa- ի միջոցով:
Նպատակն այն է, որ հիմնական ծրագրից, ինչպիսին է վերը նկարագրվածը, անցնել մի սարքի, որը հեշտությամբ կարող եք կառավարել իմ Echo- ով: Ենթադրելով, որ դուք արդեն ունեք այս ապարատը, այս նախագիծը ձեզ համար ոչ մի գումար չի պահանջում: Ի վերջո, դուք կհասնեք այն կետին, որտեղ կարող եք ասել հետևյալ բաները.
Ես. «Ալեքսա, խնդրիր իմ գործիքից ՝ ստուգել ջերմաստիճանը սենսորի 1 -ի վրա»:
Ալեքսայի պատասխանը. «Theոնդը կարդում է 72,31 աստիճան»:
կամ
Ես. «Ալեքսա, ասա իմ գործիքը գրել Georgeորջ Վաշինգտոն»
Պատասխան. Իմ Raspberry Pi- ի հետ կապված ցուցադրման վրա այժմ գրված է «George Washington»
Հաջորդ բաժնում ես կներկայացնեմ, թե ինչ պետք է տեղի ունենա կուլիսներում `այս աշխատանքը կատարելու համար: Եթե դուք պարզապես ցանկանում եք դա աշխատել ձեր նախագծի վրա և ձեզ չի հետաքրքրում, թե ինչպես է այն աշխատում, ազատ զգացեք այն բաց թողնել (չնայած դա կարող է ավելի դժվարացնել, եթե ինչ -որ բան սխալ է ընթանում):
Քայլ 1: Նախապատմություն
Այս պատկերում (վարկ ՝ https://developer.amazon.com/hy-US/docs/alexa/alex…) մենք կարող ենք տեսնել Alexa գործիքների ընդհանուր ճարտարապետությունը:
Երբ ինչ -որ բան եք ասում ձեր Echo սարքին, այն ձայնը ուղարկում է Alexa Cloud, որտեղ այն մշակվում է և որտեղ ստեղծվում է պատասխան ՝ ձեզ պատասխանելու համար: Երբ հարցնում եք, թե ինչ եղանակ է, շփման մեջ հենց այս երկուսն են: Այժմ ենթադրենք, որ ցանկանում եք ձայնային վերահսկողություն ավելացնել Raspberry Pi- ի ձեր փոքր նախագծերից մեկին: Ինքնաթիռում ամեն ինչ մշակելը կպահանջի զգալի սարքավորում և շատ բարդ կոդ `ամեն ինչ իրագործելու համար: Ավելի լավ լուծում կլինի օգտագործել Alexa Cloud- ը, որը շատ բարդ է և շատ լավ է վարվել խոսքի բարդ ձևերի հետ: Alexa Gadgets- ը ձեզ լավ միջոց է տալիս դա անելու համար:
Alexa գործիքը հաղորդակցվում է Echo սարքի հետ ՝ օգտագործելով bluetooth: Այս կապը հաստատվելուց հետո երկուսը միմյանց փոխանցում են հաղորդագրություններ ՝ օգտագործելով UTF-8 կոդավորումը: Երբ Էխոն ինչ -որ բան փոխանցում է գաջեթին, այն կոչվում է դիրեկտիվ: Մյուս ուղղությունը կոչվում է իրադարձություն: Այս ամենի ճշգրիտ հոսքին անցնելուց առաջ մենք պետք է ներկայացնենք ևս մեկ հիմնական տարր ՝ Alexa- ի հատուկ հմտություններ:
Alexa- ն թույլ է տալիս մշակողներին ստեղծել իրենց անհատական հմտությունները, ինչը թույլ է տալիս նրանց նախագծել իրենց փոխազդեցություններն ու վարքագիծը ՝ Echo բոլոր սարքերում օգտագործելու համար: Օրինակ, մշակողը կարող է ստեղծել յուրահատուկ հմտություն ՝ ձեզ ԱՄՆ -ի երկու օդանավակայանների միջև հեռավորությունը պատմելու համար: Օգտվողը կասեր. «Ալեքսա, հարցրու իմ հեռավոր հաշվիչի անհատական հաշվիչը, թե որքան է LAX- ի և JFK- ի միջև հեռավորությունը», և այն կարող է պատասխանել «2475 մղոն» -ով: Ինչպե՞ս է դա անում: Երբ մշակողը յուրահատուկ հմտություն է ստեղծում, նրանք սահմանում են այն, ինչ կոչվում է «մաքսային մտադրություններ» ՝ «սլոթ» պարունակող «արտահայտությունների օրինակով»: Օրինակ, այս հմտության մեջ ես կարող եմ «calc_dist» մտադրություն ունենալ երկու կետերի միջև հեռավորությունը հաշվարկելու համար: Օրինակելի արտահայտություն կլինի «ինչ է հեռավորությունը {slot1} - ի և {slot2} - ի միջև» կամ «որքան հեռու է {slot1} - ի և {slot2} - ի միջև»: Փակագծերում ցուցադրվող անցքերն ունեն հատուկ տեսակներ: Այս դեպքում այդ տեսակները կլինեն օդանավակայանի կոդերը, ինչպիսիք են LAX, JFK, BOS, ATL: Երբ օգտվողը պահանջում է անհատականացված հմտություն, Alexa Cloud- ը փորձում է համապատասխանել օգտագործողի ասածին սովորական մտադրությանը `օգտագործելով տրամադրված նմուշի արտահայտությունները և փորձում է գտնել այդ հարցման վավեր արժեքների արժեքները: Այս օրինակում նա կգտնի, որ օգտագործողը ցանկանում էր «calc_dist» մտադրությունը, և որ slot1- ը LAX է, իսկ slot2- ը JFK: Այս պահին Alexa Cloud- ը աշխատանքը փոխանցում է մշակողի սեփական ծածկագրին: Հիմնականում, այն պատմում է մշակողների կոդին, թե ինչ մտադրություն է այն ստացել և ինչ բնույթի բոլոր արժեքներն են եղել, ի թիվս այլ մանրամասների:
Մշակողը պետք է որոշի, թե որտեղ է ապրում իրենց ծածկագիրը, սակայն շատ տարածված տարբերակ է օգտագործել AWS Lambda գործառույթը: Եթե չգիտեք, թե ինչ է դա, դա, ըստ էության, ծառայություն է, որը թույլ է տալիս վերբեռնել ցանկացած պահի գործարկվող կոդ, այնուհետև ձեզանից գանձում է միայն այն ժամանակահատվածի համար, երբ ձեր կոդը գործարկվում է: Եթե շարունակենք մեր օրինակը, մշակողի ծածկագիրը կարող է լինել Python ֆունկցիա, որը ստանում է օդանավակայանի երկու ծածկագիրը, փնտրում է դրանց գտնվելու վայրը, հաշվարկում հեռավորությունները և այնուհետև պատասխան է ուղարկում Alexa Cloud- ին ՝ օգտվողին ինչ -որ բան հայտնելու համար: Alexa Cloud- ն այնուհետև այդ խոսքի տվյալները հետ կուղարկեր օգտվողի սարքին, և նրանք կստանային պատասխանը:
Այժմ մենք կարող ենք վերադառնալ գաջեթին: Մենք կարող ենք ստեղծել հատուկ հմտություններ, որոնք նախատեսված են հատուկ գաջեթների հետ աշխատելու համար: Մշակողը կարող է գրել այնպիսի հմտություն, որը հրահանգ է ուղարկում միացված գործիքի: Այդ հրահանգն ունի ծանրաբեռնվածություն, որը կարող է օգտագործվել, ինչպես որ այն անհրաժեշտ է գաջեթին: Այդ հմտությունը կարող է նաև ուղարկել ուղեցույց, այնուհետև գաջեթից իրադարձություն լսել, որպեսզի հմտության կոդին հասանելի լինի գաջեթից ուղարկված տեղեկատվությունը:
Այս հոսքի հաստատումը թույլ է տալիս ստեղծել մի շատ հզոր գործիք, քանի որ էժան գործիքները կարող են ունենալ ամպի մեջ ծածկագրված հաղորդակցության և ձայնային հրամաններին արձագանքելու ունակություն `օգտագործելով առկա լավագույն ձայնային ճանաչումը:
Պետք է նշել, որ հմտությունների մեծ մասը թույլ է տալիս նրանց հետ փոխգործակցության տարբեր եղանակներ: Օրինակ, օգտվողը կարող է անմիջապես մտնել մտադրության մեջ ՝ ասելով «Ալեքսա, հարցրու իմ հեռավորության հաշվիչից, թե որն է հեռավորությունը LAX- ի և JFK- ի միջև» (կոչվում է մեկ կրակոց) կամ պարզապես կարող է օգտագործել գործարկման մտադրությունը ՝ «Ալեքսա, բացեք իմ սովորական հեռավորության հաշվիչը »: Այս վերջին օրինակին, որպես կանոն, կհաջորդի այն, որ Alexa- ն պատասխանի ՝ լրացուցիչ տեղեկություններ ստանալու համար: Այս ձեռնարկը միտումնավոր բաց է թողնում վերջիններիս աջակցությունը: Ավելի կոնկրետ ՝ առանց Lambda գործառույթը փոփոխելու, դուք կարող եք միայն հմտել հմտությունը ՝ օգտագործելով մեկ կրակոց: Այս դիզայնի ընտրությունը թույլ է տալիս մոդելին ավելի պարզ լինել (պարտադիր չէ, որ աջակցի գործարկման մտադրություններին կամ խոսակցական հոսքին), և ես գտա, որ ես սովորաբար ցանկանում եմ իմ գաջեթների հետ շփվել, այնուամենայնիվ, օգտագործելով մեկ կրակոց, քանի որ դրանք սովորաբար ավելի արագ են:
Քայլ 2. Գրանցեք գործիքը Alexa Voice Service Developer Console- ում
Ստորև բերված է անհրաժեշտ քայլերի նկարագրությունը: Ես ստեղծել եմ համարժեք տեսանյութ, որը ցույց է տալիս, թե ինչպես կատարել այս բոլոր քայլերը: Այս քայլը ավարտելու համար կարող եք օգտագործել կամ մեկը, կամ երկուսը:
- Գնացեք
- Եթե դեռ չունեք անվճար հաշիվ, ստեղծեք այն
- Կտտացրեք «Ապրանքներ»
- Լրացրեք պիտակները և ընտրեք «Alexa Gadget»
- Լրացրեք այն, ինչ ցանկանում եք մնացած դաշտերի համար
- Կտտացրեք Ավարտել
Քայլ 3. Ստեղծեք AWS Lambda գործառույթ և հարմարեցված հմտություն
Ստեղծեք անհատական հմտություններ Alexa Skills Kit Developer Console- ում
Այս ձեռնարկի ծածկագիրը կարելի է գտնել այստեղ
Այս քայլն ավարտելուց առաջ ձեզ հարկավոր է ստեղծել.zip ֆայլ, որը պարունակում է AWS Lambda գործառույթի տեղակայման փաթեթ, ինչպես ցույց է տրված այստեղ տրված ձեռնարկում:
- Ներբեռնեք «lambda» թղթապանակը իմ Github- ից, որը պարունակում է «lambda_function.py» և «պահանջները. Txt»
- Բացեք տերմինալը և փոխեք ընթացիկ գրացուցակը, որը գտնվում է այս պանակի ներսում:
- Գործարկեք հետևյալ հաջորդականությունը.
pip install -r պահանջները. txt -t skill_env
cp lambda_function.py skill_env cd skill_env zip -r../../skill-code.zip
Ձեր.zip ֆայլը այժմ կտեղակայվի այն գրացուցակում, որտեղ lambda թղթապանակը եղել և կկոչվի «skill-code.zip»:
Նշում AWS- ում հյուրընկալման արժեքի վերաբերյալ. Այս ձեռնարկը պահանջում է, որ դուք ունենաք AWS հաշիվ (անվճար ստեղծելու համար): Լամբդայի գործառույթները իսկապես գումար են պահանջում, սակայն ներկայիս գինը Ն. Վիրջինիայի շրջանում կազմում է $ 0.000000208 ՝ 100 մգ օգտագործման համար ՝ 128 ՄԲ հիշողությամբ: Տեղեկության համար նշեմ, որ իմ հմտության յուրաքանչյուր կոչում վճարում է այս մակարդակում մոտ 800 մս օգտագործման համար: $ 1.00 ԱՄՆ դոլար հաշիվ գանձելու համար դուք պետք է կանչեք այս գործառույթը մոտ 600,000 անգամ, որը (եթե ձեզ պահանջվի 5 վայրկյան մեկ զանգի համար) կպահանջի ձեզ 34 օր անընդհատ ձեր գործառույթը կանչելու համար: Արժեքը չպետք է լինի էական խնդիր, եթե դուք չհրապարակեք ձեր հմտությունը և հսկայական թվով մարդիկ չսկսեն օգտագործել այն: Եթե մտահոգված եք AWS- ով հաշիվներ ստանալու համար, հաշվի առեք օգտագործման ահազանգերի տեղադրումը, որոնք ձեզ կտեղեկացնեն, եթե օգտագործումը անցնի սահմանված շեմը:
Ստորև բերված է անհրաժեշտ քայլերի նկարագրությունը: Ես ստեղծել եմ համարժեք տեսանյութ, որը ցույց է տալիս, թե ինչպես կատարել այս բոլոր քայլերը: Այս քայլը ավարտելու համար կարող եք օգտագործել կամ մեկը, կամ երկուսը:
- Գնացեք https://aws.amazon.com/ և մուտք գործեք վահանակ կամ ստեղծեք անվճար հաշիվ, եթե չունեք
- Որոնեք և կտտացրեք Lambda ծառայությունների ներքո
- Կտտացրեք «Ստեղծել գործառույթ»
- Ընտրեք «Հեղինակ զրոյից», տվեք անունը և ընտրեք Python 3 վերջին տարբերակը ՝ գործարկման համար
- Փոխեք «խմբագրել կոդը ներսում» ՝ «վերբեռնել.zip ֆայլ» և ընտրեք վերը ստեղծված.zip ֆայլը
- Նոր պատուհանում անցեք https://developer.amazon.com/alexa/console/ask և մուտք գործեք
- Կտտացրեք «Ստեղծել հմտություն»
- Պիտակեք այն, ընտրեք «Պատվերով» մոդելը և «Տրամադրեք ձեր սեփականը» և կտտացրեք «Ստեղծել հմտություն»
- Կտտացրեք «Սկսել քերծվածքից» և կտտացրեք «Ընտրել»
- «Մտադրություններ» բաժնում կտտացրեք «Ավելացնել»
- Ստեղծեք «alexa_to_pi» անունով հատուկ մտադրություն և լրացրեք «գրել {անձին» որպես օրինակելի արտահայտություն
- Կատարեք «AMAZON. Person» տիպով «անձ» կոչվող մտադրության բնիկ:
- Ստեղծեք «pi_to_alexa» անունով հատուկ մտադրություն և լրացրեք «ստուգեք ջերմաստիճանը սենսորից {sensor_num}
- Կատարեք «sensor_num» կոչվող մտադրության անցք «AMAZON. NUMBER» տիպով
- Ինտերֆեյսերի ներքո միացրեք «Պատվերով ինտերֆեյսի վերահսկիչ»
- Վերջնակետի ներքո ընտրեք «AWS Lambda ARN» և պատճենեք «Ձեր հմտության ID- ն»
- Վերադառնալ դեպի AWS վահանակ
- Կտտացրեք «Ավելացնել ձգան»
- Ընտրեք «Alexa Skills Kit», նշեք «Enable» ՝ Skill ID- ի ստուգման ներքո, տեղադրեք հենց պատճենած Skill ID- ն և կտտացրեք ավելացնել
- Պատճենեք Lambda ARN- ը վերին աջ անկյունում
- Գնացեք դեպի Alexa Developer Console և տեղադրեք Lambda ARN- ը «Լռելյայն տարածաշրջան» դաշտում
- Invocation- ի ներքո, Skill Invocation Name- ը սահմանեք որպես «իմ գործիքը»
- Կտտացրեք «Պահել մոդելը», այնուհետև «Կառուցել մոդել»
- Կտտացրեք «Փորձարկում» վերևի ներդիրներում և ընտրիչը «Անջատված» -ից փոխեք «Developmentարգացման»:
- Նկատի ունեցեք, որ Lambda գործառույթի տեղեկամատյանները գտնվում են AWS- ի «CloudWatch» ծառայությունում:
Քայլ 4. Կարգավորեք ծածկագիրը ձեր ազնվամորի Pi- ի վրա
Որպեսզի ձեր Raspberry Pi- ն կարողանա հաղորդակցվել Alexa սարքի հետ, նրան անհրաժեշտ է որոշակի ծածկագիր ՝ Bluetooth- ով տեղեկատվության փոխանցումը և այդ կապը պահպանելու համար, ի լրումն մի քանի այլ ֆայլերի: Amazon- ի ամենաթարմ ֆայլերով սկսելու ամենահեշտ ձևը նրանց Raspberry Pi Gadgets պահոցը կլոնավորելն է: Գնացեք ձեր ընթացիկ նախագծի գրացուցակին և գործարկեք
git կլոն
Սա ձեր ամբողջ պահոցը կբեռնի ձեր Pi- ի վրա անհրաժեշտ բոլոր ծածկագրերով: Այն ունի որոշ նախագծերի օրինակներ, որոնք ցույց են տալիս Alexa Gadgets- ի որոշ հնարավորություններ: Եթե ցանկանում եք ավելի շատ տեղեկություններ ունենալ, տե՛ս readime- ը նրանց Github էջում:
Գործարկեք դրանց տեղադրման գործառույթը `ամեն ինչ կազմաձևելու համար:
cd/home/pi/Alexa-Gadgets-Raspberry-Pi- նմուշներ
sudo python3 laun.py -կարգաբերում
Հետևեք հուշումներին և պատասխանեք «y» - ին, եթե հարցնեք, թե ցանկանում եք կարգավորել ձեր Gadget- ի հավատարմագրերի օգտագործումը: Հիշեցրեք Amazon ID- ն և Gadget Secret- ը ՝ ձեր գաջեթը մշակողի վահանակում տեղադրելուց, քանի որ այն կպահանջվի այստեղ: Ես ընտրեցի «bt» փոխանցման ռեժիմ իմ Raspberry Pi Zero W. BLE- ի համար, որը չի աջակցվում բոլոր հին Echo սարքերի կողմից, բայց դուք կարող եք փնտրել, թե ինչի է ընդունակ ձեր սարքավորումները: Եթե դուք օգտագործում եք ձեր Pi- ն աշխատասեղանի ռեժիմում, Amazon- ը խորհուրդ է տալիս աջ սեղմել վերին աջում գտնվող bluetooth պատկերակի վրա և սեղմել «Հեռացնել« Bluetooth »-ը վահանակից» ՝ միացման խնդիրներից խուսափելու համար:
Նշում. Այս քայլը կարող է որոշ ժամանակ տևել ՝ կախված այն բանից, թե որքան պետք է տեղադրվի:
Այժմ դուք կունենաք բոլոր անհրաժեշտ օժանդակ ֆայլերը ՝ ձեր նախագծին վերադառնալու և գործառույթների ավելացման համար, որոնք թույլ կտան հաղորդակցվել ձեր Echo- ի հետ:
Եթե ընտրեք, կարող եք ջնջել «օրինակներ» պանակը «Alexa-Gadgets-Raspberry-Pi-Samples/src»-ում:
Դուք կարող եք ունենալ ձեր ծրագրի կոդը որտեղ ցանկանում եք, բայց ես դրա համար թղթապանակ եմ պատրաստում, այլապես կարող եք ներբեռնել թղթապանակը կոդով իմ Github- ից, պարզապես համոզվեք, որ խմբագրեք.ini ֆայլերը, ինչպես նկարագրված է ստորև:
cd /home /pi
mkdir my_project cd my_project touch my_gadget.py touch my_gadget.ini
Այժմ ես ստեղծել եմ երկու ֆայլ «my_project» անունով թղթապանակում:. Ini ֆայլը կարեւոր է: Համոզվեք, որ այն պարունակում է հետևյալը և փոխարինում ձեր Amazon ID- ում և Gadget Secret- ում.
[GadgetSettings]
amazonId = INSERT_AMAZON_ID_HERE alexaGadgetSecret = INSERT_ALEXA_GADGET_SECRET_HERE [GadgetCapilities] Custom. MyGadget = 1.0
Այժմ, եկեք նայենք python ֆայլին ՝ մանրամասներին անցնելուց առաջ.
ներմուծել json
agt import AlexaGadget- ից
դաս MyGadget (AlexaGadget):
def _init _ (self):
super ()._ init _ ()
def on_custom_mygadget_alexatopi (ինքնուրույն, հրահանգ):
payload = json.loads (directive.payload.decode ("utf-8")) print ("Received data:" + str (payload)) write_text (str (payload ['data'] ['person'] ['value ']))
def on_custom_mygadget_pitoalexa (ինքնուրույն, հրահանգ):
payload = json.loads (directive.payload.decode ("utf-8")) print ("Received data:" + str (payload)) payload = {'data': "The sond read" + str (get_temp (payload ['data'] ['sensor_num'] ['value'])) + "grad."} self.send_custom_event ('Custom. MyGadget', 'PiToAlexa', payload) MyGadget (). main ()
Նախ կնկատեք, որ այն կանչում է երկու գործառույթ ՝ write_text () և get_temp (): Իմ ծածկագրում ես այս գործառույթները սահմանում եմ նույն ֆայլում, բայց դրանք կախված են իմ սարքավորումից, ուստի ես ընտրել եմ դրանք բաց թողնել: Ես կցել եմ այս ֆայլը այն գործառույթներով, որոնք սահմանված են ուղղակի տպելու և վերադարձնելու կեղծ տվյալները, եթե ցանկանում եք գործարկել այս ճշգրիտ կոդը: Ես կառաջարկեի փորձարկել այս ճշգրիտ ծածկագիրը, նախքան այն փոփոխելը `ձեր նախագծի հետ աշխատելու համար: Ես կցել եմ նաև.ini ֆայլը, բայց համոզվեք, որ ներս եք մտնում և փոխում եք ID- ն և գործիքի գաղտնիքը: Վերևի գործառույթը ստանում է Alexa- ից փոխանցված տվյալները: Ներքևի գործառույթը նույն ձևաչափով տվյալներ է ստանում, սակայն Alexa սարքը հինգ վայրկյան կսպասի, որպեսզի իրադարձությունը հետ փոխանցվի իր իսկ բեռնվածությամբ: Այս ծանրաբեռնվածությունն առանձնահատուկ է նրանով, որ Alexa սարքը կխոսի դրա բովանդակության մասին:
Այս ֆայլերը ձեռք բերելուց հետո անցեք «my_project» պանակին և գործարկեք python ֆայլը:
sudo վերագործարկում
cd/home/pi/my_project sudo python3./my_gadget.py
Եթե առաջին անգամ եք գործարկում ծրագիրը, ապա ձեզ հարկավոր է այն զուգակցել ձեր Echo սարքի հետ: Համոզվեք, որ ձեր Echo սարքը գտնվում է Raspberry Pi- ի մոտ, քանի որ մենք պետք է թույլ տանք ապահովել bluetooth կապ:
Ձեր բջջային սարքի Alexa հավելվածում ներքևի աջ անկյունում կտտացրեք «սարքեր»:
Կտտացրեք «Էխո և Ալեքսա» վերին ձախ մասում:
Կտտացրեք ձեր Echo սարքին:
«WIRELESS» բաժնում կտտացրեք «Bluetooth սարքեր»:
Կտտացրեք «IRՈ PAԵԼ ՆՈՐ ՍԱՐՔ» և ձեր գործիքը կտեսնեք ցուցակում:
Հպեք ձեր գործիքի վրա: Դուք պետք է տեսնեք Pi- ի զեկույցը, որ այն հաջողությամբ զուգակցվել է:
Ձեր Pi- ի ելքը դիտելիս փորձեք ձայնային հրաման տալ Echo- ին.
Դուք. «Ալեքսա, խնդրիր իմ գործիքը ստուգել ջերմաստիճանը սենսորից մեկից»
Եթե ամեն ինչ ճիշտ է աշխատել, դուք պետք է լսեք.
Էխո. «Beոնդը կարդում է 120.505 աստիճան»:
Դուք. «Ալեքսա, ասա իմ գործիքը ՝ գրել Georgeորջ Վաշինգտոն»:
Pi- ն պետք է տպի.
«Ստացված տվյալներ. {'Տվյալներ': {'անձ': {'անուն': 'անձ', 'արժեք'` 'Georgeորջ Վաշինգտոն', 'confirmationStatus': 'NONE'}}}
Georgeորջ Վաշինգտոն »
Քայլ 5: Փաթեթավորում
Այստեղ ցուցադրված տեսանյութը գաջեթի օրինակ է, որն աշխատում է ջերմաստիճանի ընթերցման հետ (նույն զոնդը F- ում C- ով) և անուններ է գրում պարզ ցուցադրման վրա:
Այժմ, երբ հույս ունեք, որ ինչ -որ բան աշխատում է, դուք պետք է փորձեք գնալ և հարմարեցնել դա ՝ ձեր սեփական նախագիծը ավելի ունակ դարձնելու համար: Հիշեք, որ դուք կարող եք հեշտությամբ խմբագրել Alexa Developer Console- ի մտադրությունները, և որ ձեր օգտագործած բոլոր անցքերը կփոխանցվեն ձեր Pi- ին բեռնվածության մեջ: Ավելին, կարող եք թույլ տալ, որ Alexa- ն ասի այն ամենը, ինչ կցանկանայիք ՝ պարզապես խմբագրելով այն բեռը, որը հետ եք փոխանցում իրադարձության դեպքում ձեր Raspberry Pi կոդից:
Խնդրում ենք նկատի ունենալ, որ այս ձեռնարկը նախատեսված չէ լինել վերջնական լուծում այն բոլոր հնարավորությունների համար, որոնք դուք կցանկանայիք ունենալ Alexa Gadget- ով: Alexa- ի և Gadget- ի միջև յուրաքանչյուր ուղղությամբ տվյալներ փոխանցելու համար ձեզ երկու պարզ գործառույթ տալու համար միտումնավոր սահմանափակ է: Եթե դուք հետաքրքրված եք փոխգործակցության ավելի բարդ մոդելներ կառուցելով, ես ձեզ կխրախուսեի կարդալ readme- ի բոլոր ֆայլերը https://github.com/alexa/Alexa-Gadgets-Raspberry-P… և փորձել նրանց տված բոլոր օրինակները. Ես նաև կառաջարկեի կարդալ Alexa Gadgets Toolkit- ի և Alexa Skills Kit- ի փաստաթղթերը:
Խորհուրդ ենք տալիս:
Ինչպես ավելացնել էլեկտրոնային թանաքի ցուցադրում ձեր նախագծին. 12 քայլ (նկարներով)
Ինչպես ավելացնել էլեկտրոնային թանաքի ցուցադրում ձեր նախագծին. Շատ նախագծեր ներառում են որոշ տեսակի տվյալների մոնիտորինգ, օրինակ ՝ շրջակա միջավայրի տվյալները, որոնք հաճախ օգտագործում են Arduino- ն ՝ վերահսկման համար: Իմ դեպքում ես ուզում էի վերահսկել ջրի մեղմացուցիչի մեջ աղի մակարդակը: Հնարավոր է ՝ ցանկանաք մուտք ունենալ տվյալներ ձեր տնային ցանցի միջոցով
Ավելացրեք հոսանքի կոճակ ձեր LibreELEC տեղադրմանը Raspberry Pi- ում `6 քայլ
Ավելացրեք Power կոճակ ձեր LibreELEC տեղադրմանը Raspberry Pi- ում. Ստորև մենք կսովորենք, թե ինչպես ավելացնել Raspberry Pi- ով աշխատող LibreELEC- ին միացման կոճակ: Մենք PowerBlock- ը կօգտագործենք ոչ միայն հոսանքի կոճակ ավելացնելու համար, այլև կարգավիճակի LED, որը ցույց է տալիս ձեր LibreELEC տեղադրման հզորության կարգավիճակը: Դրանց համար ես
Twitter- ը Eclipse նախագծին միացնելով Twitter4J API- ով ՝ 5 քայլ
Twitter- ը Eclipse նախագծի հետ միացնելը Twitter4J API- ով. Այս հրահանգը բացատրում է, թե ինչպես միացնել ձեր Twitter հաշիվը ձեր Eclipse նախագծի հետ և ինչպես ներմուծել Twitter4J կիրառական ծրագրի ինտերֆեյսը (API), որպեսզի օգտագործի իր գործառույթները Twitter- ում ընթերցման և գրելու ավտոմատացման համար: . Այս ուսանելի
Ավելացրեք Adafruit's Ring LED Momentary Switch to Raspberry Pi: 3 քայլ (նկարներով)
Ավելացրեք Adafruit's Ring LED Momentary Switch to Raspberry Pi. Որպես իմ լարերի կտրման համակարգի մի մաս, ես ուզում եմ էներգիայի ցուցիչ և միացում Resetberry Pi- ի վրա հիմնված մեդիա կենտրոնի վրա, որն աշխատում է Kodi- ով OSMC- ով: Ես փորձել եմ մի քանի տարբեր ակնթարթային անջատիչներ: Adafruit- ի Rugged Metal կոճակը Կապույտ LED- ով շատ զով է:
Ավելացրեք վիդեո և աուդիո ձեր միկրոկառավարիչի նախագծին `7 քայլ
Ավելացրեք վիդեո և աուդիո ձեր միկրոկառավարիչի նախագծին. 7 հատվածի LED էկրաններն օգտակար են թվերի ցուցադրման համար, իսկ bitmap LCD- ները կարող են պարզ գրաֆիկա անել, բայց երբեմն իրական, գունավոր տեսանյութերի ելքը ամենահեշտ ճանապարհն է: ամենուր, և աշխատում է 3 " - 60 և կես տարի