Mundarija:

Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling: 13 qadam
Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling: 13 qadam

Video: Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling: 13 qadam

Video: Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling: 13 qadam
Video: How to setup Android TV on Raspberry Pi(With Chromecast) 2024, Noyabr
Anonim
Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling
Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling

Men o'z Google uyimni sotib olganimdan beri, men o'z qurilmalarimni uyda ovozli buyruqlar yordamida boshqarishni xohlardim. Bu har jihatdan ajoyib ishlaydi, lekin men uning video xususiyatidan o'zimni yomon his qildim. Biz Youtube va Netflix -ni faqat Chromecast qurilmasi yoki o'rnatilgan Chromecast xususiyatiga ega televizori bo'lsa ko'rishimiz mumkin. Menda Raspberry Pi bor, shuning uchun men undan ovozli buyruqlar yordamida sevimli video va filmlarimni ijro etish uchun foydalanishni o'yladim.

1 -qadam:

Image
Image

Buning uchun men quyidagi sozlamani qildim

Google Home -> Dialogflow -> Ma'lumot uzatishdagi Rpi IP -manzili -> Nodejs Server -> URL -larni ochish uchun kod

Dialogflow-bu google-ning inson va kompyuter o'rtasidagi o'zaro muloqot texnologiyasi bo'lib, u tabiiy tilda suhbatlarga asoslangan. Buning yordamida biz o'zimizning suhbatlarimizni yoki Google uyiga kirish sifatida topshiriqlarni ishlab chiqishimiz mumkin. Bu quyidagicha ishlaydi

Maqsad [Kirish, savol, suhbat, buyruq …..] -> Google Home -> harakat [javob]

Bu erda javob oddiy suhbat bo'lishi mumkin yoki veb -kancadan olingan ma'lumotlar bo'lishi mumkin, biz buni Rpi serveridan foydalanamiz. Shunday qilib, Dialogflow veb -saytiga o'ting va hisob va yangi agent yarating.

Keyin yangi niyat yarating …

2 -qadam:

Rasm
Rasm

Keyin mashg'ulot so'zlarini kiriting. Bu foydalanuvchilar Google Home -dan ma'lum bir vazifaga kirishga harakat qilganda aytadigan buyruqlar.

3 -qadam:

Bu erda "veb -sayt" so'zini youtube, Netflix, amazon prime va hokazolarga o'zgartirish mumkin … Shunday qilib, bu so'z o'zgarmaydigan vazifasini bajaradi va siz [sichqoncha yordamida] veb -sayt so'zini tanlaganingizda quyidagilarni olasiz.

4 -qadam:

Rasm
Rasm

Ochiladigan menyudan "@sys.any" -ni tanlang va Enter tugmasini bosing.

5 -qadam:

Rasm
Rasm

Keyin harakatlar bo'limiga bir xil parametr nomini kiriting. Ushbu bo'limda ko'rsatilgan qiymatlar veb -krujkaga JSON fayli sifatida yuboriladi, biz uni qaysi veb -sayt foydalanuvchini chaqirganini bilish uchun serverdan olishimiz kerak.

O'zgaruvchining qiymati "$ variable_name" yordamida olinadi

6 -qadam:

Rasm
Rasm

Buyruqni Google Home -ga aytgandan so'ng, biz eshitadigan javobni qo'shing. Keyin niyatni saqlang. Agar kerak bo'lsa, bu niyatni suhbatning oxiri sifatida belgilang.

7 -qadam:

Endi biz malina pi-da video va veb-saytlarni ochish uchun so'rovlarni olish uchun orqa xizmatni o'rnatamiz.

Qolgan sozlash

Ma'lumot uzatish -> Nodejs serveri -> kod

Nima uchun bizga ma'lumot uzatish kerak? chunki Google Home Internetda mavjud bo'lgan veb -kancalarga ulanadi. Garchi bizning GHome mahalliy tarmoqqa ulangan bo'lsa ham, so'rovlar Google bulutli xizmatidan keladi, shuning uchun serverimizni internetga joylashtirishga ehtiyoj bor. Bosh og'rig'ining o'rniga, biz malinali pi -ni Internetga osongina joylashtirish uchun ma'lumotlarni uzatish xizmatlaridan foydalanishimiz mumkin.

Birinchidan, malina pi ga ulaning [to'g'ridan-to'g'ri HDMI bilan yoki hatto SSh bilan] Terminaldagi quyidagi buyruqdan so'nggi tugunlarning ishlash vaqtini oling.

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

Keyin uni yordamida o'rnating

sudo apt -get install -y nodejs

Keyin yangi fayl yarating

nano veb -server.js

8 -qadam:

Keyin, faylga quyidagi kodni kiriting

Bu erda, namoyish qilish uchun men faqat ikkita veb -saytdan foydalanaman (google, youtube). Kodni tahrirlash va shunga mos ravishda o'zgartirish mumkin.

bodyParser = talab qilish ("tanani tahlil qilish"); var exec = talab qilish ("child_process"). exec; var express = talab ("ekspress"); var app = express (); app.use (bodyParser.json ()); app.post ('/', funktsiyasi (req, res) {o'zgaruvchiga = req.body.queryResult.parameters.website; exec ("midori www."+o'zgaruvchi+". com"), funktsiya (xato, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); agar (xato! == null) {console.log ("exec error:" + error);}}); qaytish res.end ();}); app.listen (80);

9 -qadam:

Rasm
Rasm

Yuqoridagi kod faqat kontseptsiyani tushuntirish uchun yozilgan. Men kodda Midori brauzeridan foydalanardim, chunki xrom uzoqdan buyruqlar bilan ishlamaydi. Firefox -dan ham foydalanishimiz mumkin. [Kodni yozishdan oldin biz npm yordamida body-parser, express modullarini o'rnatishimiz kerak]

Shuni esda tutingki, biz faqat 80 -portda tinglashimiz kerak, chunki ma'lumotlar uzatish malina pi -ning 80 -portini uzatishi mumkin.

Endi biz ma'lumotlar almashinuvini sozlashimiz kerak

Dataplicity veb -saytiga o'ting va hisobingizni yarating va malina pi ni asboblar paneliga qo'shish uchun ko'rsatmalarga amal qiling.

10 -qadam:

Rasm
Rasm

Shundan so'ng, qurilmalar ro'yxatidan malina pi ni oching va tugun serverini joylashtiradigan malina pi uchun noyob IP -manzilni olish uchun chuvalchang teshigini tanlang.

IP manzilini vaqtinchalik xotiraga nusxalash.

11 -qadam:

Rasm
Rasm

Endi kodni malina pi terminalidan ishga tushiring

sudo tugunlari webserver.js

Agar u displey yoki protokollar bilan bog'liq har qanday xato ko'rsatsa …. ijro etmoq

sudo xhost +

Endi dialog oqimiga qayting va bajarish bo'limini bosing

12 -qadam:

Rasm
Rasm

Yuqoridagi maydonga IP -manzilni yoki ma'lumotlar uzatish manzilini kiriting.

13 -qadam:

Rasm
Rasm

Nihoyat, maqsadlar bo'limiga o'ting va bajarilish yorlig'idan webhook qo'ng'irog'ini yoqing.

Bo'ldi shu! Endi Google uyingizga qaytib, uning qanday ishlashini tekshiring!

Keyingi safargacha, Hacking baxtli:)

Tavsiya: