جدول المحتويات:

احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (بديل Chromecast): 13 خطوة
احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (بديل Chromecast): 13 خطوة

فيديو: احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (بديل Chromecast): 13 خطوة

فيديو: احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (بديل Chromecast): 13 خطوة
فيديو: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 2024, شهر نوفمبر
Anonim
احصل على شاشة لـ Google Home الخاص بك باستخدام Raspberry Pi و Dialogflow (بديل Chromecast)
احصل على شاشة لـ Google Home الخاص بك باستخدام 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 وما إلى ذلك … لذا ، تعمل هذه الكلمة كمتغير وعندما تحدد كلمة موقع ويب [باستخدام الماوس] ، تحصل على ما يلي

الخطوة الرابعة:

صورة
صورة

من القائمة المنسدلة ، حدد "@ sys.any" واضغط على إدخال.

الخطوة الخامسة:

صورة
صورة

ثم أدخل اسم المعلمة نفسه في قسم الإجراءات. يتم إرسال القيم المذكورة في هذا القسم إلى webhook كملف JSON ، والذي نحتاج إلى استرداده في الخادم لمعرفة موقع الويب الذي استدعاه المستخدم.

يتم استرجاع قيمة المتغير باستخدام "$ variable_name"

الخطوة السادسة:

صورة
صورة

أضف الرد الذي نحتاج إلى سماعه بعد قول الأمر إلى Google Home. ثم احفظ النية. إذا لزم الأمر ، حدد هذه النية كنهاية للمحادثة.

الخطوة السابعة:

سنقوم الآن بإعداد خدمتنا الخلفية للحصول على تلك الاستعلامات لفتح مقاطع الفيديو ومواقع الويب على raspberry pi.

الإعداد المتبقي

نفاذ البيانات -> خادم Nodejs -> الكود

لماذا نحتاج لسرعة البيانات؟ لأن Google Home يتصل بخطافات الويب التي يمكن الوصول إليها عبر الإنترنت. على الرغم من أن GHome الخاص بنا متصل بالشبكة المحلية ، فإن الاستعلامات تأتي من خدمة Google السحابية ، وبالتالي ، هناك حاجة لنقل خادمنا إلى الإنترنت. بدلاً من هذا الصداع ، يمكننا استخدام خدمات سرعة البيانات لوضع raspberry pi على الإنترنت بسهولة.

أولاً ، قم بالاتصال بـ raspberry pi [مباشرة باستخدام HDMI أو حتى باستخدام SSh] احصل على أحدث وقت تشغيل nodejs من الأمر التالي في الجهاز.

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

ثم قم بتثبيته باستخدام

sudo apt-get install -y nodejs

ثم قم بإنشاء ملف جديد

نانو webserver.js

الخطوة 8:

ثم أدخل الكود أدناه في الملف

هنا ، للتوضيح ، أستخدم موقعين فقط (google ، youtube). يمكن للمرء تعديل الكود والتغيير وفقًا لذلك.

bodyParser = تتطلب ("body-parser") ؛ var exec = تتطلب ("عملية_الطفل"). exec؛ فار صريح = يتطلب ("صريح") ؛ تطبيق 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)؛ if (error! == null) {console.log (“exec errror:“+ error)؛}}) ؛ عودة res.end () ؛}) ؛ app.listen (80) ؛

الخطوة 9:

صورة
صورة

تمت كتابة الكود أعلاه فقط لشرح المفهوم. لقد استخدمت متصفح Midori في الكود لأن الكروم لا يعمل مع الأوامر عن بعد. يمكننا استخدام Firefox أيضًا. [علينا تثبيت body-parser ، والوحدات النمطية السريعة بمساعدة npm قبل كتابة الكود]

تذكر أننا يجب أن نستمع فقط عند المنفذ 80 حيث أن سرعة البيانات يمكنها إعادة توجيه المنفذ 80 فقط من raspberry pi.

الآن نحن بحاجة إلى إعداد Dataplicity

انتقل إلى موقع Dataplicity وأنشئ حسابك واتبع التعليمات لإضافة raspberry pi إلى لوحة القيادة.

الخطوة 10:

صورة
صورة

بعد ذلك ، افتح raspberry pi من قائمة الأجهزة وحدد wormhole للحصول على عنوان IP فريد لـ raspberry pi حيث يمكننا نشر خادم العقدة الخاص بنا.

انسخ عنوان IP إلى الحافظة.

الخطوة 11:

صورة
صورة

الآن قم بتشغيل الكود من محطة raspberry pi

sudo node webserver.js

إذا أظهر أي خطأ في العرض أو حول البروتوكولات…. ينفذ

sudo xhost +

عد الآن إلى مربع الحوار ، وانقر على قسم التنفيذ

الخطوة 12:

صورة
صورة

أدخل عنوان IP أو عنوان URL من البيانات في المساحة أعلاه.

الخطوة 13:

صورة
صورة

أخيرًا ، انتقل إلى قسم النوايا وقم بتمكين مكالمة الويب هوك من علامة تبويب الاستيفاء.

هذا كل شيء! عد الآن إلى صفحة google الرئيسية الخاصة بك وتحقق من كيفية عملها!

حتى المرة القادمة ، Happy Hacking:)

موصى به: