Мазмұны:

Raspberry Pi мен Dialogflow (Chromecast баламасы) көмегімен Google үйіне экран алыңыз: 13 қадам
Raspberry Pi мен Dialogflow (Chromecast баламасы) көмегімен Google үйіне экран алыңыз: 13 қадам

Бейне: Raspberry Pi мен Dialogflow (Chromecast баламасы) көмегімен Google үйіне экран алыңыз: 13 қадам

Бейне: Raspberry Pi мен Dialogflow (Chromecast баламасы) көмегімен Google үйіне экран алыңыз: 13 қадам
Бейне: Механический паук с самонаведением на Raspberry Pi. Проекты Амперки 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 үйіне кіріс ретінде өз әңгімелерімізді немесе тапсырмаларымызды жасай аламыз. Бұл келесідей жұмыс істейді

Мақсат [Енгізу, сұрақ, әңгіме, пәрмен….] -> Google Home -> әрекет [жауап]

Бұл жерде жауап қарапайым әңгіме болуы мүмкін, немесе біз Rpi серверін қолданатын веб -ілгектен алынған деректер болуы мүмкін. Сонымен, Dialogflow веб -сайтына өтіп, тіркелгі мен жаңа агент жасаңыз.

Содан кейін жаңа ниет жасаңыз …

2 -қадам:

Кескін
Кескін

Содан кейін жаттығу сөз тіркестерін енгізіңіз. Бұл пайдаланушылар Google Home -ден белгілі бір тапсырмаға кіруге тырысқанда айтатын командалар.

3 -қадам:

Мұнда «веб -сайт» сөзін youtube, Netflix, amazon prime сияқты кез келген нәрсеге өзгертуге болады … Сонымен, бұл сөз айнымалы рөл атқарады және сіз [тышқанмен] веб -сайт сөзін таңдаған кезде сіз мынаны аласыз

4 -қадам:

Кескін
Кескін

Ашылмалы мәзірден '@sys.any' тармағын таңдап, enter пернесін басыңыз.

5 -қадам:

Кескін
Кескін

Содан кейін әрекеттер бөліміне сол параметр атауын енгізіңіз. Бұл бөлімде көрсетілген мәндер веб -ілмекке JSON файлы ретінде жіберіледі, оны біз пайдаланушы қай веб -сайтқа шақырылғанын білу үшін серверден алуымыз керек.

Айнымалының мәні '$ variable_name' көмегімен алынады

6 -қадам:

Кескін
Кескін

Google Home -ге пәрменді айтқаннан кейін естуіміз керек жауапты қосыңыз. Содан кейін ниетті сақтаңыз. Қажет болса, бұл ниетті сөйлесудің соңы ретінде орнатыңыз.

7 -қадам:

Енді біз бұл сұрауларды біздің таңқурай пи-де бейнелер мен веб-сайттарды ашу үшін өзіміздің соңғы қызметімізді орнатамыз.

Қалған орнату

Мәліметтер -> Nodejs сервері -> код

Неліктен бізге дерекқорлық қажет? себебі Google Home интернетте қол жетімді веб -ілмектерге қосылады. Біздің GHome жергілікті желіге қосылғанына қарамастан, сұраулар Google бұлтты қызметінен келеді, сондықтан біздің серверді интернетке жіберу қажет. Бұл бас аурудың орнына, біз таңқурай пи -ді интернетте оңай орналастыру үшін деректерді жинау қызметтерін қолдана аламыз.

Алдымен, таңқурай pi-ге қосылыңыз [тікелей HDMI арқылы немесе тіпті SSh арқылы] Терминалдың келесі пәрменінен соңғы nodejs жұмыс уақытын алыңыз.

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

Содан кейін оны орнатыңыз

sudo apt -get install -y nodejs

Содан кейін жаңа файл жасаңыз

nano веб -сервері.js

8 -қадам:

Содан кейін файлға төмендегі кодты енгізіңіз

Мұнда демонстрация үшін мен тек екі веб -сайтты қолданамын (google, youtube). Кодты өңдеуге және сәйкесінше өзгертуге болады.

bodyParser = талап ету ('дене-талдаушы'); var exec = талап ету ('child_process'). exec; var express = талап ету (‘экспресс’); var app = express (); app.use (bodyParser.json ()); app.post ('/', функция (талап) {console.log («stdout:» + stdout); console.log («stderr:» + stderr); if (error! == null) {console.log («exec errror:» + error);}}); res.end қайтару ();}); app.listen (80);

9 -қадам:

Кескін
Кескін

Жоғарыдағы код тек түсінікті түсіндіру үшін жазылған. Мен кодта Midori браузерін қолдандым, себебі хром қашықтағы командалармен жұмыс істемейді. Біз Firefox -ты қолдана аламыз. [Біз кодты жазар алдында npm көмегімен body-parser, express модульдерін орнатуымыз керек]

Есіңізде болсын, біз тек 80 -ші портта тыңдауымыз керек, өйткені деректер мүмкіндігі таңқурай pi -нің 80 -ші портын ғана жібере алады.

Енді бізге Dataplicity орнату қажет

Dataplicity веб -сайтына кіріп, есептік жазбаңызды құрыңыз және бақылау тақтасына таңқурай пиін қосу үшін нұсқауларды орындаңыз.

10 -қадам:

Кескін
Кескін

Осыдан кейін, құрылғылар тізімінен таңқурай пиін ашып, түйін серверін орналастыруға болатын таңқурай pi үшін бірегей IP мекенжайын алу үшін құрт тесігін таңдаңыз.

IP мекенжайын буферге көшіріңіз.

11 -қадам:

Кескін
Кескін

Енді кодты таңқурай pi терминалынан іске қосыңыз

sudo түйінінің веб -сервері.js

Егер ол дисплейде немесе хаттамаларда қате көрсетсе …. орындау

sudo xhost +

Енді диалог ағымына оралыңыз және орындалу бөлімін нұқыңыз

12 -қадам:

Кескін
Кескін

Жоғарыда көрсетілген бос орынға IP мекенжайын немесе деректер ағынының URL мекенжайын енгізіңіз.

13 -қадам:

Кескін
Кескін

Ақырында, мақсаттар бөліміне өтіп, орындалу қойындысынан webhook қоңырауын қосыңыз.

Міне бітті! Енді Google үйіне оралыңыз және оның қалай жұмыс істейтінін тексеріңіз!

Келесі кездескенше, бақытты хакерлік:)

Ұсынылған: