Daftar Isi:

Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah
Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah

Video: Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah

Video: Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah
Video: How to add Audio to Google Actions using Dialogflow | SSML & Audio 2:25 2024, November
Anonim
Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast)
Dapatkan Layar untuk Google Home Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast)

Sejak saya membeli rumah Google saya, saya ingin mengontrol perangkat saya di rumah menggunakan perintah suara. Ini berfungsi luar biasa dalam segala hal, tetapi saya merasa tidak enak dengan fitur videonya. Kita dapat menonton Youtube dan Netflix hanya jika kita memiliki perangkat Chromecast atau TV dengan fitur Chromecast bawaan. Saya memiliki Raspberry Pi, jadi saya berpikir untuk menggunakannya untuk memutar video dan film favorit saya dengan perintah suara.

Langkah 1:

Image
Image

Untuk ini, saya membuat pengaturan berikut:

Beranda Google -> Dialogflow -> Alamat IP Rpi di Dataplicity -> Server Nodejs -> Kode untuk membuka URL

Dialogflow adalah teknologi interaksi manusia-komputer Google berdasarkan percakapan bahasa alami. Dengan bantuan ini, kita dapat mengembangkan percakapan atau tugas kita sendiri untuk diberikan sebagai masukan ke beranda Google. Ini berfungsi sebagai berikut:

Intent [Masukan, pertanyaan, percakapan, perintah…] -> Beranda Google -> tindakan [balasan]

Di sini, balasannya bisa berupa percakapan sederhana atau data yang diambil dari webhook, yang akan kita buat menggunakan server Rpi. Jadi, buka situs web Dialogflow dan buat akun dan agen baru.

Kemudian buat niat baru….

Langkah 2:

Gambar
Gambar

Kemudian masukkan frasa pelatihan. Ini adalah perintah yang diucapkan pengguna ketika mereka mencoba mengakses tugas tertentu dari Google Home.

Langkah 3:

Di sini, Kata 'situs web' dapat diubah menjadi apa saja seperti youtube, Netflix, amazon prime dll … Jadi, kata ini bertindak sebagai variabel dan ketika Anda memilih kata situs web [menggunakan mouse] Anda mendapatkan yang berikut

Langkah 4:

Gambar
Gambar

Dari, menu tarik-turun, pilih '@sys.any' dan tekan enter.

Langkah 5:

Gambar
Gambar

Kemudian masukkan nama parameter yang sama di bagian tindakan. Nilai yang disebutkan di bagian ini dikirim ke webhook sebagai file JSON, yang perlu kita ambil di server untuk mengetahui situs web mana yang telah dipanggil oleh pengguna.

Nilai variabel diambil menggunakan '$variable_name'

Langkah 6:

Gambar
Gambar

Tambahkan respons yang perlu kita dengar setelah mengucapkan perintah ke Google Home. Kemudian simpan niatnya. Jika perlu, tetapkan maksud ini sebagai akhir percakapan.

Langkah 7:

Sekarang kami akan menyiapkan layanan back-end kami untuk mendapatkan kueri tersebut untuk membuka video dan situs web di raspberry pi kami.

Pengaturan yang tersisa

Dataplicity -> Server Nodejs -> kode

Mengapa kita membutuhkan dataplicity? karena Google Home terhubung ke webhook yang dapat diakses melalui internet. Meskipun GHome kami terhubung ke jaringan lokal, kueri berasal dari layanan cloud Google dan oleh karena itu, ada kebutuhan untuk porting server kami ke internet. Alih-alih sakit kepala itu, kita dapat menggunakan layanan dataplicity untuk menempatkan raspberry pi kita di internet dengan mudah.

Pertama, sambungkan ke raspberry pi [langsung dengan HDMI atau bahkan dengan SSh] Dapatkan run-time nodejs terbaru dari perintah berikut di terminal.

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

Kemudian instal menggunakan

sudo apt-get install -y nodejs

Kemudian buat file baru

nano webserver.js

Langkah 8:

Kemudian, masukkan kode di bawah ini ke dalam file

Di sini, untuk demonstrasi, saya hanya menggunakan dua situs web (google, youtube). Seseorang dapat mengedit kode dan mengubahnya.

bodyParser = require('body-parser');var exec = require('child_process').exec; var express = membutuhkan('ekspres'); var aplikasi = ekspres(); app.use(bodyParser.json()); app.post('/', function(req, res){ let variable =req.body.queryResult.parameters.website; exec(“midori www.”+variable+”.com”, function(error, stdout, stderr) { console.log(“stdout: “+ stdout); console.log(“stderr: “+ stderr); if (kesalahan !== null) { console.log(“exec errror: “+ error); } }); kembali res.end(); }); app.listen(80);

Langkah 9:

Gambar
Gambar

Kode di atas ditulis hanya untuk menjelaskan konsepnya. Saya menggunakan browser Midori dalam kode karena chromium tidak berfungsi dengan perintah jarak jauh. Kita bisa menggunakan Firefox juga. [Kita harus menginstal body-parser, modul ekspres dengan bantuan npm sebelum menulis kode]

Ingat bahwa kita hanya boleh mendengarkan di port 80 karena dataplicity hanya dapat meneruskan port 80 dari raspberry pi.

Sekarang kita perlu mengatur Dataplicity

Buka situs web Dataplicity dan buat akun Anda dan ikuti instruksi untuk menambahkan raspberry pi ke dasbor.

Langkah 10:

Gambar
Gambar

Setelah itu, buka raspberry pi dari daftar perangkat dan pilih wormhole untuk mendapatkan Alamat IP unik untuk raspberry pi di mana kita dapat menggunakan server node kita.

Salin Alamat IP ke clipboard.

Langkah 11:

Gambar
Gambar

Sekarang jalankan kode dari terminal raspberry pi

sudo node webserver.js

Jika itu menunjukkan kesalahan tentang tampilan atau tentang protokol…. menjalankan

sudo xhost +

Sekarang kembali ke dialogflow, dan klik pada bagian pemenuhan

Langkah 12:

Gambar
Gambar

Masukkan Alamat IP atau URL dari dataplicity di ruang di atas.

Langkah 13:

Gambar
Gambar

Terakhir, buka bagian maksud dan aktifkan panggilan webhook dari tab pemenuhan.

Itu dia! Sekarang kembali ke rumah google Anda dan periksa cara kerjanya!

Sampai jumpa lagi, Selamat Hacking:)

Direkomendasikan: