Мазмуну:

Raspberry Pi жана Dialogflow (Chromecast Alternative) аркылуу Google Үйүңүзгө экран алыңыз: 13 кадам
Raspberry Pi жана Dialogflow (Chromecast Alternative) аркылуу Google Үйүңүзгө экран алыңыз: 13 кадам

Video: Raspberry Pi жана Dialogflow (Chromecast Alternative) аркылуу Google Үйүңүзгө экран алыңыз: 13 кадам

Video: Raspberry Pi жана Dialogflow (Chromecast Alternative) аркылуу Google Үйүңүзгө экран алыңыз: 13 кадам
Video: Waveshare Ethernet / USB HAT — дополнительные порты для миниатюрных плат Raspberry Pi Zero и Model A 2024, Ноябрь
Anonim
Raspberry Pi жана Dialogflow (Chromecast альтернативасы) аркылуу Google Үйүңүз үчүн экран алыңыз
Raspberry Pi жана Dialogflow (Chromecast альтернативасы) аркылуу Google Үйүңүз үчүн экран алыңыз

Мен Google үйүмдү сатып алгандан бери, үйдөгү түзмөктөрүмдү үн буйруктары аркылуу башкаргым келет. Бул бардык жагынан укмуш иштейт, бирок мен анын видео өзгөчөлүгү үчүн жаман болдум. Биз Youtube жана Netflixти Chromecast түзмөгү же камтылган Chromecast функциясы бар сыналгыбыз болгондо гана көрө алабыз. Менде Raspberry Pi бар, ошондуктан мен аны үн буйруктары менен сүйүктүү видео жана тасмаларымды ойнотуу үчүн колдонууну ойлодум.

1 кадам:

Image
Image

Бул үчүн мен төмөнкү орнотууну жасадым

Google Home -> Dialogflow -> Dataplicity боюнча Rpi IP дареги -> Nodejs Server -> URL ачуу үчүн код

Dialogflow-бул табигый тилдеги сүйлөшүүлөргө негизделген гуглдун адам менен компьютердин өз ара аракеттешүү технологиясы. Мунун жардамы менен биз өзүбүздүн сүйлөшүүлөрүбүздү же 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 -кадам:

Эми биз бул суроолорду биздин малина пи боюнча видеолорду жана веб-сайттарды ачуу үчүн арткы кызматты орнотобуз.

Калган орнотуу

Dataplicity -> Nodejs server -> код

Эмне үчүн биз маалыматка муктажбыз? анткени Google Home интернет аркылуу жеткиликтүү веб -хуктарга туташат. Биздин GHome жергиликтүү тармакка туташып турса да, сурамдар Google булут кызматынан келип жатат, демек, серверибизди интернетке жайгаштыруу керек. Ошол баш оорунун ордуна, биз малина пибизди интернетке оңой эле жайгаштыруу үчүн, dataplicity кызматтарын колдоно алабыз.

Биринчиден, малина пи-ге туташыңыз [түздөн-түз HDMI менен же SSh менен] Терминалдагы төмөнкү буйруктан акыркы nodejs иштөө убактысын алыңыз.

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

Андан кийин аны колдонуп орнотуңуз

sudo apt -get орнотуу -y nodejs

Андан кийин жаңы файл түзүңүз

nano webserver.js

8 -кадам:

Андан кийин, төмөнкү кодду файлга киргизиңиз

Бул жерде, көрсөтүү үчүн, мен эки гана веб -сайтты колдонуп жатам (google, youtube). Кодду түзөтүп, ошого жараша өзгөртө аласыз.

bodyParser = талап кылуу ("дене-талдоочу"); var exec = талап кылуу ("child_process"). exec; var express = талап кылуу ("экспресс"); var app = express (); app.use (bodyParser.json ()); app.post ('/', функция (req, 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:" + ката);}}); return res.end ();}); app.listen (80);

9 -кадам:

Сүрөт
Сүрөт

Жогорудагы код түшүнүктү түшүндүрүү үчүн гана жазылган. Мен коддо Midori браузерин колдондум, анткени хром алыскы буйруктар менен иштебейт. Биз ошондой эле Firefox колдоно алабыз. [Биз кодду жазардан мурун npm жардамы менен body-parser, express модулдарын орнотушубуз керек]

Эсиңизде болсун, биз 80 -портто гана угушубуз керек, анткени берилиштер малина пинин 80 -портун гана жөнөтө алат.

Эми биз Dataplicity орнотушубуз керек

Dataplicity веб -сайтына өтүп, каттоо эсебиңизди түзүңүз жана көрсөтмөлөрдү аткарып, малинанын пиин тактасына кошуңуз.

10 -кадам:

Сүрөт
Сүрөт

Андан кийин, түзмөктөр тизмесинен малина пи ачып, курт тешигин тандап, биздин түйүн серверибизди жайгаштыра турган малина пи үчүн уникалдуу IP дарегин алыңыз.

IP дарегин буферге көчүрүү.

11 -кадам:

Сүрөт
Сүрөт

Эми кодду малина pi терминалынан иштетиңиз

sudo түйүнү webserver.js

Эгерде ал дисплейде же протоколдордо кандайдыр бир ката көрсө …. аткаруу

sudo xhost +

Эми диалог агымына кайтып, аткаруу бөлүмүн чыкылдатыңыз

12 -кадам:

Сүрөт
Сүрөт

Жогорудагы мейкиндикке IP дарегин же берилиштерден URL киргизиңиз.

13 -кадам:

Сүрөт
Сүрөт

Акыр -аягы, ниеттер бөлүмүнө өтүп, аткаруу өтмөгүнөн webhook чалуусун иштетүү.

Дал ушул! Эми Google үйүңүзгө кайтыңыз жана анын кантип иштээрин текшериңиз!

Кийинки убакытка чейин, Hacking Happy:)

Сунушталууда: