Satura rādītājs:

Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei): 13 soļi
Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei): 13 soļi

Video: Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei): 13 soļi

Video: Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei): 13 soļi
Video: Начало → Изучайте английский → Освойте ВСЕ ОСНОВЫ АНГЛИЙСКОГО ЯЗЫКА, которые вам НУЖНО знать! 2024, Novembris
Anonim
Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei)
Iegūstiet ekrānu savai Google mājas lapai, izmantojot Raspberry Pi un Dialogflow (alternatīva Chromecast ierīcei)

Kopš iegādājos savu Google māju, es vēlos mājās kontrolēt savas ierīces, izmantojot balss komandas. Tas darbojas lieliski visos veidos, bet man bija slikti par tās video funkciju. Mēs varam skatīties Youtube un Netflix tikai tad, ja mums ir Chromecast ierīce vai televizors ar iebūvētu Chromecast funkciju. Man līdzi ir Raspberry Pi, tāpēc izdomāju to izmantot, lai ar balss komandām atskaņotu savus iecienītākos video un filmas.

1. darbība:

Image
Image

Šim nolūkam es veicu šādu iestatīšanu

Google sākumlapa -> Dialogflow -> Rpi IP adrese Dataplicity -> Nodejs serveris -> URL, lai atvērtu vietrāžus URL

Dialogflow ir Google cilvēka un datora mijiedarbības tehnoloģija, kuras pamatā ir dabiskās valodas sarunas. Ar to mēs varam attīstīt savas sarunas vai uzdevumus, ko izmantot kā Google sākumlapu. Tas darbojas šādi

Nodoms [Ievads, jautājums, saruna, komanda …] -> Google sākums -> darbība [atbilde]

Šeit atbilde var būt vai nu vienkārša saruna, vai arī dati, kas iegūti no tīmekļa āķa, ko mēs gatavojamies izveidot, izmantojot Rpi serveri. Tātad, dodieties uz Dialogflow vietni un izveidojiet kontu un jaunu aģentu.

Tad izveidojiet jaunu nodomu …

2. darbība:

Attēls
Attēls

Pēc tam ievadiet apmācības frāzes. Šīs ir komandas, kuras lietotāji runā, mēģinot piekļūt konkrētam uzdevumam no Google sākumlapas.

3. darbība:

Šeit vārdu “vietne” var mainīt uz jebko, piemēram, youtube, Netflix, amazon prime uc … Tātad, šis vārds darbojas kā mainīgais, un, izvēloties vārdu vietne [izmantojot peli], jūs iegūstat šādu informāciju:

4. solis:

Attēls
Attēls

No nolaižamās izvēlnes atlasiet “@sys.any” un nospiediet taustiņu Enter.

5. darbība

Attēls
Attēls

Pēc tam ievadiet to pašu parametra nosaukumu darbību sadaļā. Šajā sadaļā minētās vērtības tiek nosūtītas uz tīmekļa aizķeri kā JSON fails, kas mums jāielādē serverī, lai uzzinātu, kuru vietni lietotājs ir izsaucis.

Mainīgā vērtība tiek izgūta, izmantojot “$ variable_name”

6. darbība:

Attēls
Attēls

Pievienojiet atbildi, kas mums ir jādzird pēc komandas izrunāšanas Google sākumlapā. Tad saglabājiet nodomu. Ja nepieciešams, iestatiet šo nodomu kā sarunas beigas.

7. darbība:

Tagad mēs izveidosim savu aizmugures pakalpojumu, lai šie vaicājumi atvērtu videoklipus un vietnes mūsu aveņu pi.

Atlikušais iestatījums

Dataplicity -> Nodejs serveris -> kods

Kāpēc mums vajadzīga datu pielietošana? jo Google Home savienojas ar tīmekļa āķiem, kas ir pieejami internetā. Lai gan mūsu GHome ir savienots ar vietējo tīklu, vaicājumi nāk no Google mākoņpakalpojuma, un tāpēc mūsu serveris ir jāpārnes uz internetu. Šo galvassāpju vietā mēs varam izmantot datu izmantošanas pakalpojumus, lai ērti ievietotu mūsu aveņu pi internetā.

Vispirms izveidojiet savienojumu ar aveņu pi [tieši ar HDMI vai pat ar SSh]. Iegūstiet jaunāko nodejs izpildlaiku no šīs termināļa komandas.

čokurošanās -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Pēc tam instalējiet to, izmantojot

sudo apt -get install -y nodejs

Pēc tam izveidojiet jaunu failu

nano tīmekļa serveris.js

8. darbība

Pēc tam ievietojiet failā zemāk esošo kodu

Šeit es demonstrācijai izmantoju tikai divas vietnes (google, youtube). Var rediģēt kodu un attiecīgi mainīt.

bodyParser = pieprasīt (‘body-parser’); var exec = pieprasīt (‘child_process’). exec; var express = pieprasīt (‘izteikt’); var app = express (); app.use (bodyParser.json ()); app.post ('/', function (req, res) {let variable = req.body.queryResult.parameters.website; exec (“midori www.”+mainīgais+”. com”, funkcija (kļūda, stdout, stderr) {console.log (“stdout:“+ stdout); console.log (“stderr:“+ stderr); if (error! == null) {console.log (“exec kļūda:“+ kļūda);}}); atgriezt res.end ();}); app.listen (80);

9. darbība

Attēls
Attēls

Iepriekš minētais kods tika uzrakstīts tikai, lai izskaidrotu jēdzienu. Kodā izmantoju pārlūkprogrammu Midori, jo hroms nedarbojas ar attālajām komandām. Mēs varam izmantot arī Firefox. [Pirms koda rakstīšanas mums ir jāinstalē ķermeņa parsētājs, ekspresmoduļi ar npm palīdzību]

Atcerieties, ka mums vajadzētu klausīties tikai 80. portā, jo datu pielietojums var pārsūtīt tikai aveņu pi 80. portu.

Tagad mums ir jāiestata Dataplicity

Dodieties uz vietni Dataplicity un izveidojiet savu kontu un izpildiet norādījumus, lai informācijas panelim pievienotu aveņu pi.

10. darbība:

Attēls
Attēls

Pēc tam atveriet aveņu pi no ierīču saraksta un atlasiet tārpa caurumu, lai iegūtu unikālu aveņu pi IP adresi, kurā mēs varam izvietot savu mezglu serveri.

Kopējiet IP adresi starpliktuvē.

11. darbība:

Attēls
Attēls

Tagad palaidiet kodu no aveņu pi termināļa

sudo mezgls webserver.js

Ja tas parāda kādu kļūdu displejā vai protokolos…. izpildīt

sudo xhost +

Tagad atgriezieties dialoglodziņā un noklikšķiniet uz izpildes sadaļas

12. solis:

Attēls
Attēls

Ievadiet iepriekš norādītajā vietā IP adresi vai URL no dataplicity.

13. darbība

Attēls
Attēls

Visbeidzot, dodieties uz nodomu sadaļu un cilnē Izpilde iespējojiet Webhook zvanu.

Tieši tā! Tagad atgriezieties savā Google mājas lapā un pārbaudiet, kā tā darbojas!

Līdz nākamajai reizei, laimīgu uzlaušanu:)

Ieteicams: