Բովանդակություն:
- Քայլ 1:
- Քայլ 2:
- Քայլ 3:
- Քայլ 4:
- Քայլ 5:
- Քայլ 6:
- Քայլ 7:
- Քայլ 8:
- Քայլ 9:
- Քայլ 10:
- Քայլ 11:
- Քայլ 12:
- Քայլ 13:
Video: Ստացեք էկրան ձեր Google Home- ի համար ՝ օգտագործելով Raspberry Pi և Dialogflow (Chromecast Այլընտրանք). 13 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Երբ ես գնել եմ իմ Google տունը, ես ցանկանում էի վերահսկել իմ սարքերը տանը ՝ օգտագործելով ձայնային հրամաններ: Այն ամեն կերպ հիանալի է աշխատում, բայց ես վատ զգացի դրա տեսաֆիլմերի հնարավորության համար: Մենք կարող ենք դիտել Youtube և Netflix միայն այն դեպքում, եթե ունենք Chromecast սարք կամ հեռուստացույց ՝ ներկառուցված Chromecast գործառույթով: Ես ունեմ Raspberry Pi- ն ինձ հետ, ուստի ես մտածեցի այն օգտագործել ՝ ձայնային հրահանգներով իմ սիրած տեսանյութերն ու ֆիլմերը նվագելու համար:
Քայլ 1:
Դրա համար ես կատարեցի հետևյալ կարգավորումը
Google Home -> Dialogflow -> Rpi IP հասցե Dataplicity- ում -> Nodejs Server -> URL բացելու կոդ
Dialogflow- ը Google- ի մարդ-համակարգիչ փոխազդեցության տեխնոլոգիա է ՝ հիմնված բնական լեզվով խոսակցությունների վրա: Սրա օգնությամբ մենք կարող ենք մշակել մեր սեփական խոսակցությունները կամ առաջադրանքները, որոնք պետք է ներդրվեն Google- ի տանը: Սա աշխատում է հետևյալ կերպ
Նպատակ [Մուտք, հարց, զրույց, հրաման….] -> Google Home -> գործողություն [պատասխան]
Այստեղ պատասխանը կարող է լինել կամ պարզ խոսակցություն, կամ էլ ՝ վեբհուքից վերցված տվյալներ, որոնք մենք պատրաստվում ենք կատարել Rpi սերվերի միջոցով: Այսպիսով, գնացեք Dialogflow կայք և ստեղծեք հաշիվ և նոր գործակալ:
Հետո ստեղծեք նոր մտադրություն…
Քայլ 2:
Այնուհետեւ մուտքագրեք վերապատրաստման արտահայտությունները: Սրանք այն հրամաններն են, որոնք օգտվողները խոսում են, երբ փորձում են մուտք գործել Google Home- ի որոշակի առաջադրանք:
Քայլ 3:
Այստեղ «կայք» բառը կարող է փոխվել YouTube- ի, Netflix- ի, amazon Prime- ի և այլնի … Այսպիսով, այս բառը գործում է որպես փոփոխական, և երբ ընտրում եք կայք բառը [մկնիկի միջոցով] ստանում եք հետևյալը.
Քայլ 4:
Բացվող ընտրացանկից ընտրեք «@sys.any» և սեղմեք Enter:
Քայլ 5:
Այնուհետեւ գործողությունների բաժնում մուտքագրեք նույն պարամետրի անունը: Այս բաժնում նշված արժեքները ուղարկվում են վեբհուքին որպես JSON ֆայլ, որը մենք պետք է վերականգնենք սերվերում ՝ իմանալու համար, թե որ կայքն է օգտատերը կանչել:
Փոփոխականի արժեքը վերցվում է «$ variable_name» - ի միջոցով
Քայլ 6:
Ավելացրեք այն պատասխանը, որը մենք պետք է լսենք ՝ Google Home- ին հրաման տալուց հետո: Այնուհետեւ պահպանեք մտադրությունը: Անհրաժեշտության դեպքում սահմանեք այս մտադրությունը որպես զրույցի ավարտ:
Քայլ 7:
Այժմ մենք կստեղծենք մեր back-end ծառայությունը, որպեսզի այդ հարցումները բացեն տեսանյութեր և կայքեր մեր ազնվամորու pi- ի վրա:
Մնացած կարգավորումը
Տվյալների բազմազանություն -> Nodejs սերվեր -> ծածկագիր
Ինչու՞ է մեզ պետք տվյալների հրապարակայնությունը: քանի որ Google Home- ը միանում է ինտերնետի հասանելի ինտերնետային կայքերին: Չնայած մեր GHome- ը միացված է տեղական ցանցին, հարցումները գալիս են Google- ի ամպային ծառայությունից, ուստի մեր սերվերը ինտերնետ տեղափոխելու անհրաժեշտություն կա: Այդ գլխացավի փոխարեն, մենք կարող ենք օգտագործել տվյալների կիրառման ծառայություններ ՝ մեր ազնվամորու pi- ն ինտերնետում հեշտությամբ տեղադրելու համար:
Նախ, միացեք ազնվամորու pi- ին [անմիջապես HDMI- ով կամ նույնիսկ SSh- ով] Ստացեք տերմինալի հետևյալ հրամանից ստացված վերջին nodejs- ի գործարկման ժամանակը:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Այնուհետև տեղադրեք այն ՝ օգտագործելով
sudo apt -get install -y nodejs
Այնուհետեւ ստեղծեք նոր ֆայլ
nano webserver.js
Քայլ 8:
Այնուհետև տեղադրեք ստորև նշված կոդը ֆայլի մեջ
Այստեղ ցուցադրության համար ես օգտագործում եմ ընդամենը երկու կայք (google, youtube): Կարելի է խմբագրել ծածկագիրը և համապատասխանաբար փոխել:
bodyParser = պահանջում («body-parser»); var exec = պահանջում («child_process»): exec; var express = պահանջում («էքսպրես»); var app = express (); app.use (bodyParser.json ()); app.post ('/', գործառույթ (պահանջ, res) {թող փոփոխական = req.body.queryResult.parameters.website; exec ("midori www."+փոփոխական+". com", գործառույթ (սխալ, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); if (error! == null) {console.log ("exec errror:" + error);}}); վերադարձ res.end ();}); app.listen (80);
Քայլ 9:
Վերոնշյալ ծածկագիրը գրվել է միայն հասկացությունը բացատրելու համար: Ես օգտագործել եմ Midori զննարկիչը ծածկագրում, քանի որ քրոմը չի աշխատում հեռակա հրամաններով: Մենք կարող ենք օգտագործել նաև Firefox- ը: [Մենք պետք է տեղադրենք body-parser, express մոդուլներ npm- ի օգնությամբ, նախքան ծածկագիրը գրելը]
Հիշեք, որ մենք պետք է լսենք միայն 80 -րդ նավահանգստում, քանի որ տվյալների կիրառելիությունը կարող է առաջ ուղարկել ազնվամորի pi- ի միայն 80 -րդ նավահանգիստը:
Այժմ մենք պետք է կարգավորենք տվյալների բազան
Գնացեք Dataplicity կայք և ստեղծեք ձեր հաշիվը և հետևեք հրահանգներին `ազնվամորու pi- ն վահանակին ավելացնելու համար:
Քայլ 10:
Դրանից հետո, սարքերի ցանկից բացեք ազնվամորի pi- ն և ընտրեք wormhole ՝ ազնվամորի pi- ի համար յուրահատուկ IP հասցե ստանալու համար, որի վրա կարող ենք տեղակայել մեր հանգույցի սերվերը:
Պատճենեք IP հասցեն սեղմատախտակին:
Քայլ 11:
Այժմ գործարկեք ծածկագիրը ազնվամորու pi տերմինալից
sudo հանգույց webserver.js
Եթե ցուցադրում է որևէ սխալ ցուցադրման կամ արձանագրությունների վերաբերյալ…. կատարել
sudo xhost +
Այժմ վերադարձեք երկխոսության հոսք և կտտացրեք կատարման բաժին
Քայլ 12:
Մուտքագրեք IP հասցեն կամ URL- ը dataplicity- ից վերը նշված տարածքում:
Քայլ 13:
Վերջապես, գնացեք մտադրությունների բաժին և միացրեք webhook զանգը կատարման ներդիրից:
Վերջ! Այժմ վերադարձեք ձեր Google տուն և ստուգեք, թե ինչպես է այն աշխատում:
Մինչև հաջորդ անգամ, Happy Hacking:)
Խորհուրդ ենք տալիս:
Ստացեք HDMI ելք ձեր Rock64- ից ՝ օգտագործելով Armbian. 15 քայլ
Ստացեք HDMI ելք ձեր Rock64- ից `օգտագործելով Armbian- ը. Դուք հավանաբար այստեղ եք " Rock64 no hdmi output " - ի որոնումներից հետո: ցույց տվեց ձեզ այս ուղղությամբ: Կամ դուք կարող եք մտածել, թե ինչպես օգտագործել 16 x 2 էկրանը, որը գալիս էր գնումների հետ, որը թվում էր, թե ճիշտ է: " $ 10-$ 20, Sing
Օգտագործելով Հույսի կրծքավանդակի ընդլայնումը `ձեր ընտանեկան ծառի ներսում ընտանեկան ծառ որոնելու համար ոչ լրիվ տաճարային արարողություն գտնելու համար. 11 քայլ
Օգտագործելով Հույսի կրծքավանդակի ընդլայնումը `տոհմային անավարտ աշխատանք ձեր ընտանեկան ծառի մեջ Ընտանեկան որոնում. Այս ուսուցանելու նպատակն է ցույց տալ, թե ինչպես պետք է որոնել ձեր տոհմածառը տաճարային թերի արարողակարգով նախնիների որոնման միջոցով` օգտագործելով Հույսի կրծքավանդակի ընդլայնումը: Հույսի կրծքավանդակի օգտագործումը կարող է մեծապես արագացնել անհաջողության որոնումը
Ստացեք էլփոստի ահազանգեր ձեր տան անվտանգության համակարգից `օգտագործելով Arduino: 3 քայլ
Ստացեք էլփոստի ահազանգեր ձեր տան անվտանգության համակարգից Arduino- ի միջոցով. Arduino- ի միջոցով մենք հեշտությամբ կարող ենք վերափոխել էլփոստի հիմնական գործառույթները գործնականում անվտանգության համակարգի գոյություն ունեցող ցանկացած տեղադրման մեջ: Սա հատկապես հարմար է հին համակարգերի համար, որոնք, ամենայն հավանականությամբ, վաղուց անջատված են եղել մոնիտորինգի ծառայությունից
Raspberry Pi որպես Chromecast- ի այլընտրանք (Raspicast). 10 քայլ (նկարներով)
Raspberry Pi Որպես Chromecast- ի այլընտրանք (Raspicast). Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես օգտագործել ազնվամորի pi 3 -ը որպես Chromecast- ի այլընտրանք: Հարկ է նաև նշել, որ սա Chromecast- ի ուղղակի կլոն չէ, և որ կան սահմանափակումներ: Այս մեթոդը չի աջակցում հեռարձակման կոճակը, բայց
Ստացեք ալբոմ ձեր iPod- ից ձեր iTunes- ում: 5 քայլ
Ստացեք ալբոմ ձեր iPod- ից ձեր iTunes- ում. ձեր համակարգչի մեջ: Իրականում դա բավականին հեշտ է, և նույնիսկ կարող եք գտնել որոշակի ալբու