สารบัญ:

รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast): 13 ขั้นตอน
รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast): 13 ขั้นตอน

วีดีโอ: รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast): 13 ขั้นตอน

วีดีโอ: รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast): 13 ขั้นตอน
วีดีโอ: Training Session: Building LINE Chatbot using Dialogflow by LINE Developers Thailand 2024, พฤศจิกายน
Anonim
รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast)
รับหน้าจอสำหรับหน้าแรก Google ของคุณโดยใช้ Raspberry Pi และ Dialogflow (ทางเลือก Chromecast)

นับตั้งแต่ฉันซื้อ Google ที่บ้าน ฉันต้องการควบคุมอุปกรณ์ที่บ้านโดยใช้คำสั่งเสียง มันใช้งานได้ดีในทุก ๆ ด้าน แต่ฉันรู้สึกแย่กับฟีเจอร์วิดีโอของมัน เราสามารถรับชม Youtube และ Netflix ได้ก็ต่อเมื่อเรามีอุปกรณ์ Chromecast หรือทีวีที่มีคุณสมบัติ Chromecast ในตัว ฉันมี Raspberry Pi อยู่กับตัว ดังนั้นฉันจึงคิดว่าจะใช้ประโยชน์จากมันเพื่อเล่นวิดีโอและภาพยนตร์ที่ฉันโปรดปรานด้วยคำสั่งเสียง

ขั้นตอนที่ 1:

Image
Image

สำหรับสิ่งนี้ ฉันได้ทำการตั้งค่าดังต่อไปนี้

หน้าแรกของ Google -> Dialogflow -> ที่อยู่ IP Rpi บน Dataplicity -> เซิร์ฟเวอร์ Nodejs -> รหัสเพื่อเปิด URL

Dialogflow คือเทคโนโลยีปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ของ Google โดยอิงจากการสนทนาภาษาธรรมชาติ ด้วยความช่วยเหลือนี้ เราสามารถพัฒนาการสนทนาหรืองานของเราเองเพื่อเป็นข้อมูลเข้าสู่หน้าแรกของ Google ใช้งานได้ดังนี้

เจตนา [ป้อนข้อมูล คำถาม การสนทนา คำสั่ง….] -> หน้าแรกของ Google -> การกระทำ [ตอบกลับ]

ในที่นี้ การตอบกลับอาจเป็นการสนทนาง่ายๆ หรือข้อมูลอื่นๆ ที่ดึงมาจากเว็บฮุค ซึ่งเราจะสร้างโดยใช้เซิร์ฟเวอร์ Rpi ไปที่เว็บไซต์ Dialogflow และสร้างบัญชีและตัวแทนใหม่

แล้วสร้างเจตจำนงใหม่….

ขั้นตอนที่ 2:

ภาพ
ภาพ

จากนั้นป้อนวลีการฝึกอบรม นี่คือคำสั่งที่ผู้ใช้พูดเมื่อพยายามเข้าถึงงานเฉพาะจากหน้าแรกของ Google

ขั้นตอนที่ 3:

ที่นี่ คำว่า 'เว็บไซต์' สามารถเปลี่ยนเป็นอะไรก็ได้เช่น youtube, Netflix, amazon prime ฯลฯ … ดังนั้นคำนี้ทำหน้าที่เป็นตัวแปรและเมื่อคุณเลือกคำว่าเว็บไซต์ [โดยใช้เมาส์] คุณจะได้รับสิ่งต่อไปนี้

ขั้นตอนที่ 4:

ภาพ
ภาพ

จากเมนูแบบเลื่อนลง เลือก '@sys.any' แล้วกด Enter

ขั้นตอนที่ 5:

ภาพ
ภาพ

จากนั้นป้อนชื่อพารามิเตอร์เดียวกันในส่วนการดำเนินการ ค่าที่กล่าวถึงในส่วนนี้จะถูกส่งไปยังเว็บฮุคเป็นไฟล์ JSON ซึ่งเราจำเป็นต้องดึงข้อมูลในเซิร์ฟเวอร์เพื่อให้ทราบว่าเว็บไซต์ใดที่ผู้ใช้เรียกใช้

ค่าของตัวแปรถูกดึงออกมาโดยใช้ '$variable_name'

ขั้นตอนที่ 6:

ภาพ
ภาพ

เพิ่มการตอบสนองที่เราต้องได้ยินหลังจากพูดคำสั่งกับหน้าแรกของ Google แล้วบันทึกความตั้งใจ หากจำเป็น ให้ตั้งเจตนานี้เป็นการสิ้นสุดการสนทนา

ขั้นตอนที่ 7:

ตอนนี้เราจะตั้งค่าบริการแบ็คเอนด์เพื่อรับคำถามเหล่านั้นเพื่อเปิดวิดีโอและเว็บไซต์บน raspberry pi ของเรา

การตั้งค่าที่เหลือ

Dataplicity -> เซิร์ฟเวอร์ Nodejs -> code

ทำไมเราถึงต้องการ dataplicity? เพราะ Google Home เชื่อมต่อกับเว็บฮุคที่เข้าถึงได้ทางอินเทอร์เน็ต แม้ว่า GHome ของเราจะเชื่อมต่อกับเครือข่ายท้องถิ่น แต่ข้อความค้นหามาจากบริการคลาวด์ของ Google ดังนั้นจึงมีความจำเป็นต้องย้ายเซิร์ฟเวอร์ของเราไปยังอินเทอร์เน็ต แทนที่จะปวดหัว เราสามารถใช้บริการ dataplicity เพื่อวาง raspberry pi ของเราบนอินเทอร์เน็ตได้อย่างง่ายดาย

ขั้นแรก เชื่อมต่อกับ raspberry pi [โดยตรงกับ HDMI หรือแม้แต่กับ SSh] รับ nodejs รันไทม์ล่าสุดจากคำสั่งต่อไปนี้ในเทอร์มินัล

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E ทุบตี -

จากนั้นติดตั้งโดยใช้

sudo apt-get ติดตั้ง -y nodejs

จากนั้นสร้างไฟล์ใหม่

nano webserver.js

ขั้นตอนที่ 8:

จากนั้นใส่โค้ดด้านล่างลงในไฟล์

สำหรับการสาธิตฉันใช้เพียงสองเว็บไซต์เท่านั้น (google, youtube) หนึ่งสามารถแก้ไขรหัสและเปลี่ยนแปลงตามนั้น

bodyParser = ต้องการ ('body-parser'); var exec = ต้องการ ('child_process').exec; var express = ต้องการ ('ด่วน'); แอพ var = express(); 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); ถ้า (ข้อผิดพลาด!== null) { console.log ("ข้อผิดพลาดในการดำเนินการ: " + ข้อผิดพลาด); } }); ส่งคืน res.end(); }); แอพ.ฟัง(80);

ขั้นตอนที่ 9:

ภาพ
ภาพ

โค้ดด้านบนนี้เขียนขึ้นเพื่ออธิบายแนวคิดเท่านั้น ฉันใช้เบราว์เซอร์ Midori ในโค้ดเนื่องจากโครเมียมใช้ไม่ได้กับคำสั่งระยะไกล เราสามารถใช้ Firefox ได้เช่นกัน [เราต้องติดตั้ง body-parser แสดงโมดูลด้วย npm ก่อนเขียนโค้ด]

จำไว้ว่าเราควรฟังที่พอร์ต 80 เท่านั้น เนื่องจาก dataplicity สามารถส่งต่อพอร์ต 80 ของ raspberry pi ได้เท่านั้น

ตอนนี้เราต้องตั้งค่า Dataplicity

ไปที่เว็บไซต์ Dataplicity และสร้างบัญชีของคุณ และปฏิบัติตามคำแนะนำเพื่อเพิ่ม Raspberry Pi ไปยังแดชบอร์ด

ขั้นตอนที่ 10:

ภาพ
ภาพ

หลังจากนั้น ให้เปิด raspberry pi จากรายการอุปกรณ์ และเลือก wormhole เพื่อรับ IP Address เฉพาะสำหรับ raspberry pi ซึ่งเราสามารถปรับใช้โหนดเซิร์ฟเวอร์ของเรา

คัดลอกที่อยู่ IP ไปยังคลิปบอร์ด

ขั้นตอนที่ 11:

ภาพ
ภาพ

ตอนนี้ให้รันโค้ดจากเทอร์มินัล raspberry pi

sudo node webserver.js

หากแสดงข้อผิดพลาดเกี่ยวกับการแสดงผลหรือเกี่ยวกับโปรโตคอล…. ดำเนินการ

sudo xhost +

กลับไปที่ไดอะล็อกโฟลว์แล้วคลิกที่ส่วนการเติมเต็ม

ขั้นตอนที่ 12:

ภาพ
ภาพ

ป้อนที่อยู่ IP หรือ URL จาก dataplicity ในช่องด้านบน

ขั้นตอนที่ 13:

ภาพ
ภาพ

สุดท้าย ไปที่ส่วนความตั้งใจและเปิดใช้งานการเรียกเว็บฮุคจากแท็บการเติมเต็ม

แค่นั้นแหละ! กลับไปที่หน้าแรก google ของคุณแล้วตรวจสอบว่ามันทำงานอย่างไร!

จนกว่าจะถึงครั้งต่อไป Happy Hacking:)

แนะนำ: