Isi kandungan:

Dapatkan Skrin untuk Laman Utama Google Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah
Dapatkan Skrin untuk Laman Utama Google Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah

Video: Dapatkan Skrin untuk Laman Utama Google Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah

Video: Dapatkan Skrin untuk Laman Utama Google Anda Menggunakan Raspberry Pi dan Dialogflow (Alternatif Chromecast): 13 Langkah
Video: How to make a Bluetooth remote using a Raspberry Pi Pico W and MicroPython 2024, November
Anonim
Dapatkan Skrin untuk Rumah Google Anda Menggunakan Raspberry Pi dan Dialogflow (Chromecast Alternatif)
Dapatkan Skrin untuk Rumah Google Anda Menggunakan Raspberry Pi dan Dialogflow (Chromecast Alternatif)

Sejak saya membeli rumah Google, saya mahu mengawal peranti saya di rumah menggunakan arahan suara. Ia berfungsi dengan hebat dalam semua cara, tetapi saya berasa tidak senang dengan ciri videonya. Kita boleh menonton Youtube dan Netflix hanya jika kita mempunyai peranti Chromecast atau TV dengan ciri Chromecast terbina dalam. Saya mempunyai Raspberry Pi dengan saya, jadi saya terfikir untuk menggunakannya untuk memainkan video dan filem kegemaran saya dengan arahan suara.

Langkah 1:

Image
Image

Untuk ini, saya membuat persediaan berikut

Google Home -> Dialogflow -> Alamat IP Rpi pada Dataplicity -> Nodejs Server -> Kod untuk membuka URL

Dialogflow adalah teknologi interaksi manusia-komputer google berdasarkan perbualan bahasa semula jadi. Dengan bantuan ini, kita dapat mengembangkan perbualan atau tugas kita sendiri sebagai input kepada rumah Google. Ini berfungsi seperti berikut

Maksud [Input, soalan, perbualan, arahan….] -> Laman Utama Google -> tindakan [balas]

Di sini, balasannya boleh menjadi perbualan sederhana atau data yang diambil dari webhook, yang akan kita buat menggunakan pelayan Rpi. Jadi, pergi ke laman web Dialogflow dan buat akaun dan ejen baru.

Kemudian buat niat baru….

Langkah 2:

Imej
Imej

Kemudian masukkan frasa latihan. Ini adalah perintah yang digunakan pengguna ketika mereka mengakses tugas tertentu dari Google Home.

Langkah 3:

Di sini, perkataan 'laman web' boleh diubah menjadi seperti youtube, Netflix, amazon prime dll … Oleh itu, perkataan ini bertindak sebagai pemboleh ubah dan apabila anda memilih laman web perkataan [menggunakan tetikus] anda akan mendapat yang berikut

Langkah 4:

Imej
Imej

Dari, menu lungsur turun, pilih ‘@ sys.any’ dan tekan enter.

Langkah 5:

Imej
Imej

Kemudian masukkan nama parameter yang sama di bahagian tindakan. Nilai-nilai yang disebutkan di bahagian ini dikirim ke webhook sebagai file JSON, yang perlu kita ambil di pelayan untuk mengetahui laman web mana yang diminta oleh pengguna.

Nilai pemboleh ubah diambil menggunakan ‘$ variable_name’

Langkah 6:

Imej
Imej

Tambahkan respons yang perlu kita dengar setelah mengucapkan perintah ke Google Home. Kemudian simpan niat. Sekiranya diperlukan tetapkan maksud ini sebagai akhir perbualan.

Langkah 7:

Sekarang kami akan menyediakan perkhidmatan back-end kami untuk mendapatkan pertanyaan tersebut untuk membuka video dan laman web di raspberry pi kami.

Penyediaan yang tinggal

Dataplicity -> Nodejs server -> kod

Mengapa kita memerlukan kesesuaian data? kerana Google Home menghubungkan ke webhooks yang boleh diakses melalui internet. Walaupun GHome kami disambungkan ke rangkaian tempatan, pertanyaan datang dari perkhidmatan awan Google dan oleh itu, ada keperluan untuk memindahkan pelayan kami ke internet. Daripada sakit kepala, kita boleh menggunakan perkhidmatan data data untuk meletakkan pi raspberry kita di internet dengan mudah.

Pertama, sambungkan ke raspberry pi [secara langsung dengan HDMI atau bahkan dengan SSh] Dapatkan jangka masa nodejs terkini dari arahan berikut di terminal.

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

Kemudian pasangkannya dengan menggunakan

sudo apt-get install -y nodejs

Kemudian buat fail baru

nano webserver.js

Langkah 8:

Kemudian, masukkan kod di bawah ke dalam fail

Di sini, untuk demonstrasi, saya hanya menggunakan dua laman web (google, youtube). Seseorang boleh mengedit kod dan mengubahnya dengan sewajarnya.

bodyParser = memerlukan (‘body-parser’); var exec = memerlukan (‘child_process’). exec; var express = memerlukan (‘express’); aplikasi var = express (); app.use (bodyParser.json ()); app.post ('/', function (req, res) {let variabel = req.body.queryResult.parameters.website; exec ("midori www." + variabel + ". com", fungsi (ralat, stdout, stderr) {console.log (“stdout:“+ stdout); console.log (“stderr:“+ stderr); if (error! == null) {console.log (“kesalahan exec:“+ ralat);}}); return res.end ();}); app.listen (80);

Langkah 9:

Imej
Imej

Kod di atas ditulis hanya untuk menjelaskan konsep. Saya menggunakan penyemak imbas Midori dalam kod kerana kromium tidak berfungsi dengan arahan jauh. Kita juga boleh menggunakan Firefox. [Kita mesti memasang modul penghurai badan, ekspres dengan bantuan npm sebelum menulis kod]

Ingatlah bahawa kita hanya perlu mendengar di port 80 kerana dataplicity hanya dapat meneruskan port 80 dari raspberry pi.

Sekarang kita perlu menyediakan Dataplicity

Pergi ke laman web Dataplicity dan buat akaun anda dan ikuti arahan untuk menambahkan raspberry pi ke papan pemuka.

Langkah 10:

Imej
Imej

Setelah itu, buka raspberry pi dari senarai peranti dan pilih wormhole untuk mendapatkan Alamat IP unik untuk raspberry pi di mana kita boleh menggunakan pelayan nod kita.

Salin Alamat IP ke papan keratan.

Langkah 11:

Imej
Imej

Sekarang jalankan kod dari terminal raspberry pi

sudo node webserver.js

Sekiranya ia menunjukkan kesilapan mengenai paparan atau mengenai protokol…. melaksanakan

sudo xhost +

Sekarang kembali ke aliran dialog, dan klik pada bahagian pemenuhan

Langkah 12:

Imej
Imej

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

Langkah 13:

Imej
Imej

Akhirnya, pergi ke bahagian niat dan aktifkan panggilan webhook dari tab pemenuhan.

Itu sahaja! Sekarang kembali ke rumah google anda dan periksa cara kerjanya!

Sehingga lain kali, Selamat Menggodam:)

Disyorkan: