Mündəricat:

Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün bir ekran alın: 13 addım
Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün bir ekran alın: 13 addım

Video: Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün bir ekran alın: 13 addım

Video: Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün bir ekran alın: 13 addım
Video: How To Create Google Maps API KEY For Free ( Easy Steps By Steps Instructions) 4K 2024, Noyabr
Anonim
Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün Ekran alın
Raspberry Pi və Dialogflow (Chromecast Alternative) istifadə edərək Google Eviniz üçün Ekran alın

Google evimi alandan bəri səsli əmrlərdən istifadə edərək cihazlarımı evdə idarə etmək istəyirəm. Hər cəhətdən əla işləyir, amma video xüsusiyyətinə görə özümü pis hiss etdim. Youtube və Netflix -i yalnız Chromecast cihazına və ya daxili Chromecast xüsusiyyətinə malik televizorumuza baxa bilərik. Yanımda bir Raspberry Pi var, buna görə də səs komanda ilə ən sevdiyim video və filmləri oynamaq üçün istifadə etməyi düşündüm.

Addım 1:

Image
Image

Bunun üçün aşağıdakı quruluşu hazırladım

Google Evi -> Dialogflow -> Məlumatlarda Rpi IP ünvanı -> Nodejs Serveri -> URLləri açmaq üçün kod

Dialogflow, google-un təbii dil danışıqlarına əsaslanan insan-kompüter qarşılıqlı təsir texnologiyasıdır. Bunun köməyi ilə Google evinə giriş olaraq vermək üçün öz söhbətlərimizi və ya vəzifələrimizi inkişaf etdirə bilərik. Bu aşağıdakı kimi işləyir

Niyyət [Giriş, sual, söhbət, əmr….] -> Google Home -> hərəkət [cavab]

Burada cavab ya sadə bir söhbət ola bilər, ya da Rpi serverindən istifadə edərək hazırlayacağımız bir webhookdan alınan məlumatlar. Beləliklə, Dialogflow veb saytına gedin və bir hesab və yeni bir agent yaradın.

Sonra yeni bir niyyət yaradın ….

Addım 2:

Şəkil
Şəkil

Sonra təlim ifadələrini daxil edin. İstifadəçilər Google Home -dan müəyyən bir işə daxil olmaq istədikdə danışdıqları əmrlərdir.

Addım 3:

Burada "veb sayt" sözü youtube, Netflix, amazon prime və s. Kimi hər hansı bir şeyə dəyişdirilə bilər … Beləliklə, bu söz dəyişən rolunu oynayır və veb saytını [siçandan istifadə edərək] seçdiyiniz zaman aşağıdakıları alırsınız

Addım 4:

Şəkil
Şəkil

Açılan menyudan '@sys.any' seçin və enter düyməsini basın.

Addım 5:

Şəkil
Şəkil

Sonra hərəkətlər hissəsinə eyni parametr adını daxil edin. Bu bölmədə göstərilən dəyərlər, webhook -a JSON faylı olaraq göndərilir və istifadəçinin hansı veb saytına müraciət etdiyini bilmək üçün onu serverdən almalıyıq.

Bir dəyişənin dəyəri '$ variable_name' istifadə edərək alınır

Addım 6:

Şəkil
Şəkil

Google Home -a əmr söylədikdən sonra eşitməli olduğumuz cavabı əlavə edin. Sonra niyyəti qoruyun. Gerekirse, bu niyyəti söhbətin sonu olaraq təyin edin.

Addım 7:

İndi bu sorğuların moruq pi-də video və veb saytları açmasını təmin etmək üçün arxa plan xidmətimizi quracağıq.

Qalan quraşdırma

Məlumatlılıq -> Nodejs serveri -> kod

Niyə məlumat mübadiləsinə ehtiyacımız var? çünki Google Home internet üzərindən əlçatan olan webhooklara qoşulur. GHome -un yerli şəbəkəyə bağlı olmasına baxmayaraq, sorğular Google bulud xidmətindən gəlir və buna görə də serverimizin internetə yerləşdirilməsinə ehtiyac var. Bu baş ağrısı əvəzinə, moruq pi -ni internetə asanlıqla yerləşdirmək üçün dataplicity xidmətlərindən istifadə edə bilərik.

Əvvəlcə moruq pi-yə qoşulun [birbaşa HDMI ilə və ya hətta SSh ilə] Terminaldakı aşağıdakı əmrdən ən son nodejs işləmə müddətini əldə edin.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Sonra istifadə edərək quraşdırın

sudo apt -get install -y nodejs

Sonra yeni bir fayl yaradın

nano web server.js

Addım 8:

Sonra aşağıdakı kodu fayla daxil edin

Burada nümayiş üçün yalnız iki veb saytdan istifadə edirəm (google, youtube). Biri kodu düzəldə və buna uyğun olaraq dəyişə bilər.

bodyParser = tələb edin (‘bədən analizçisi’); var exec = tələb edin (‘uşaq_sürəsi’). exec; var express = tələb edin (‘ifadə’); var app = express (); app.use (bodyParser.json ()); app.post ('/', funksiya (req, res) {let değişken = req.body.queryResult.parameters.website; exec ("midori www."+dəyişən+". com", funksiya (səhv, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); if (error! == null) {console.log ("exec error:" + error);}}); qayıt res.end ();}); app.listen (80);

Addım 9:

Şəkil
Şəkil

Yuxarıdakı kod yalnız anlayışı izah etmək üçün yazılmışdır. Xrom uzaq əmrlərlə işləmədiyi üçün Midori brauzerini kodda istifadə etdim. Firefox -dan da istifadə edə bilərik. [Kodu yazmadan əvvəl npm köməyi ilə bədən analizatoru, ekspres modulları quraşdırmalıyıq]

Unutmayın ki, yalnız 80 portda dinləməliyik, çünki məlumat ötürmə qabiliyyəti moruq pi -nin yalnız 80 portunu ötürə bilər.

İndi Dataplicity qurmalıyıq

Dataplicity veb saytına gedin və hesabınızı yaradın və moruq pi -ni tablosuna əlavə etmək üçün təlimatları izləyin.

Addım 10:

Şəkil
Şəkil

Bundan sonra, cihaz siyahısından moruq pi açın və qovşaq serverimizi yerləşdirə biləcəyimiz moruq pi üçün unikal bir IP ünvanı əldə etmək üçün qurd deliğini seçin.

IP ünvanını panoya kopyalayın.

Addım 11:

Şəkil
Şəkil

İndi kodu moruq pi terminalından işə salın

sudo node webserver.js

Ekran və ya protokollarla bağlı hər hansı bir səhv göstərərsə …. icra etmək

sudo xhost +

İndi dialoq axınına qayıdın və yerinə yetirmə hissəsini vurun

Addım 12:

Şəkil
Şəkil

Yuxarıdakı boşluğa IP ünvanını və ya dataplicity -dən URL daxil edin.

Addım 13:

Şəkil
Şəkil

Nəhayət, məqsədlər bölməsinə gedin və yerinə yetirmə sekmesinden webhook zəngini aktiv edin.

Bu belədir! İndi Google evinizə qayıdın və necə işlədiyini yoxlayın!

Növbəti dəfə, Xoş Hacking:)

Tövsiyə: