קבל מסך לבית Google שלך באמצעות Raspberry Pi ו- Dialogflow (Alternative Chromecast): 13 שלבים
קבל מסך לבית Google שלך באמצעות Raspberry Pi ו- Dialogflow (Alternative Chromecast): 13 שלבים
Anonim
קבל מסך לבית Google שלך באמצעות Raspberry Pi ו- Dialogflow (חלופה של Chromecast)
קבל מסך לבית Google שלך באמצעות Raspberry Pi ו- Dialogflow (חלופה של Chromecast)

מאז שקניתי את הבית שלי בגוגל רציתי לשלוט במכשירים שלי בבית באמצעות פקודות קוליות. זה עובד מדהים מכל הבחינות, אבל הרגשתי רע בגלל תכונת הווידאו שלו. אנו יכולים לצפות ב- YouTube ובנטפליקס רק אם יש לנו מכשיר Chromecast או טלוויזיה עם תכונת Chromecast מובנית. יש לי איתי פטל פטל, אז חשבתי לנצל אותו כדי להפעיל את הסרטונים והסרטים האהובים עלי עם פקודות קוליות.

שלב 1:

Image
Image

לשם כך ביצעתי את ההתקנה הבאה

דף הבית של Google -> Dialogflow -> כתובת IP של Rpi ב- Dataplicity -> שרת Nodejs -> קוד לפתיחת כתובות אתרים

Dialogflow היא טכנולוגיית האינטראקציה בין אדם למחשב של גוגל המבוססת על שיחות בשפה טבעית. בעזרת זה, אנו יכולים לפתח שיחות או משימות משלנו לתת כקלט לבית Google. זה עובד כדלקמן

כוונה [קלט, שאלה, שיחה, פקודה …] -> דף הבית של Google -> פעולה [תשובה]

כאן, התשובה יכולה להיות שיחה פשוטה או נתונים שאוחזרו מתוך webhook, אותם אנו הולכים לבצע באמצעות שרת Rpi. אז עבור לאתר Dialogflow וצור חשבון וסוכן חדש.

לאחר מכן צור כוונה חדשה….

שלב 2:

תמונה
תמונה

לאחר מכן הזן את ביטויי האימון. אלה הפקודות שמשתמשים מדברים כאשר הם מנסים לגשת למשימה מסוימת מבית Google.

שלב 3:

כאן, ניתן לשנות את המילה 'אתר' לכל דבר כמו יוטיוב, נטפליקס, אמזון פריים וכו '… לכן, מילה זו פועלת כמשתנה וכאשר אתה בוחר את המילה אתר אינטרנט [באמצעות עכבר] אתה מקבל את הדברים הבאים

שלב 4:

תמונה
תמונה

מהתפריט הנפתח, בחר '@sys.any' ולחץ על enter.

שלב 5:

תמונה
תמונה

לאחר מכן הזן את אותו שם הפרמטר בקטע הפעולות. הערכים המוזכרים בסעיף זה נשלחים ל- webhook כקובץ JSON, אותו עלינו לאחזר בשרת בכדי לדעת לאיזה אתר המשתמש משתמש.

הערך של משתנה מאוחזר באמצעות '$ variable_name'

שלב 6:

תמונה
תמונה

הוסף את התגובה שעלינו לשמוע לאחר אמירת הפקודה לדף הבית של Google. אז תשמור את הכוונה. במידת הצורך הגדר את הכוונה הזו כסוף השיחה.

שלב 7:

כעת נקים את שירות ה- back-end שלנו בכדי לגרום לשאילתות אלה לפתוח סרטונים ואתרי אינטרנט ב- pi פטל שלנו.

ההתקנה שנותרה

Dataplicity -> שרת Nodejs -> קוד

מדוע אנו זקוקים לנתוני נתונים? כי דף הבית של Google מתחבר ל- webhooks הנמצאים בנגישות דרך האינטרנט. למרות שה- 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 webserver.js

שלב 8:

לאחר מכן, הכנס את הקוד שלהלן לקובץ

כאן, להדגמה, אני משתמש בשני אתרים בלבד (גוגל, יוטיוב). אפשר לערוך את הקוד ולשנות בהתאם.

bodyParser = require ('body-parser'); var exec = require ('child_process'). exec; var express = require ('express'); var app = 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); if (error! == null) {console.log ("exec errror:" + error);}}); החזר res.end ();}); app.listen (80);

שלב 9:

תמונה
תמונה

הקוד לעיל נכתב רק כדי להסביר את הרעיון. השתמשתי בדפדפן Midori בקוד מכיוון שכרום אינו פועל עם פקודות מרחוק. אנחנו יכולים להשתמש גם בפיירפוקס. [עלינו להתקין מודולי גוף, מנתח אקספרס בעזרת npm לפני כתיבת הקוד]

זכור שעלינו להקשיב רק ביציאה 80 מכיוון ש- dataaplicity יכול להעביר רק פורט 80 של פטל הפטל.

כעת עלינו להתקין את Dataplicity

היכנס לאתר Dataplicity וצור את חשבונך ופעל לפי ההנחיות להוספת פאי הפאי ללוח המחוונים.

שלב 10:

תמונה
תמונה

לאחר מכן, פתח את פטל הפאי מרשימת המכשירים ובחר חור תולעת כדי לקבל כתובת IP ייחודית עבור פטל הפטל שעליו נוכל לפרוס את שרת הצמתים שלנו.

העתק את כתובת ה- IP ללוח.

שלב 11:

תמונה
תמונה

כעת הפעל את הקוד ממסוף פטל הפטל

sudo node webserver.js

אם היא מציגה שגיאה כלשהי בנוגע לתצוגה או לגבי פרוטוקולים … לבצע

sudo xhost +

כעת חזור לזרימת הדו -שיח ולחץ על סעיף הגשמה

שלב 12:

תמונה
תמונה

הזן את כתובת ה- IP או את כתובת ה- URL ממידע הנתונים במרחב לעיל.

שלב 13:

תמונה
תמונה

לבסוף, עבור אל סעיף הכוונות והפעל את שיחת ה- webhook מהכרטיסייה הגשמה.

זהו זה! עכשיו חזור לבית Google שלך ובדוק איך זה עובד!

עד הפעם הבאה, האקינג שמח:)

מוּמלָץ: