فهرست مطالب:
- مرحله 1:
- گام 2:
- مرحله 3:
- مرحله 4:
- مرحله 5:
- مرحله 6:
- مرحله 7:
- مرحله 8:
- مرحله 9:
- مرحله 10:
- مرحله 11:
- مرحله 12:
- مرحله 13:
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
از زمانی که خانه Google خود را خریداری کردم ، می خواهم دستگاه های خود را در خانه با استفاده از دستورات صوتی کنترل کنم. از هر نظر عالی کار می کند ، اما از نظر ویژگی ویدیویی آن احساس بدی داشتم. تنها در صورتی می توانیم Youtube و Netflix را تماشا کنیم که دستگاه Chromecast یا تلویزیونی با ویژگی Chromecast داخلی داریم. من یک Raspberry Pi با خود دارم ، بنابراین فکر کردم از آن برای پخش فیلم ها و فیلم های مورد علاقه خود با دستورات صوتی استفاده کنم.
مرحله 1:
برای این کار ، تنظیمات زیر را انجام دادم
Google Home -> Dialogflow -> آدرس IP Rpi در Dataplicity -> Nodejs Server -> کد برای باز کردن آدرس های اینترنتی
Dialogflow یک فناوری تعامل انسان و رایانه گوگل است که بر اساس مکالمات زبان طبیعی است. با کمک این ، ما می توانیم مکالمات یا وظایف خود را توسعه دهیم تا به عنوان ورودی به Google home ارائه شود. این به شرح زیر عمل می کند
قصد [ورودی ، س questionال ، گفتگو ، فرمان….] -> Google Home -> اقدام [پاسخ]
در اینجا ، پاسخ می تواند یک مکالمه ساده باشد یا داده های دیگری از یک webhook بازیابی شود ، که ما قصد داریم با استفاده از سرور Rpi انجام دهیم. بنابراین ، به وب سایت Dialogflow بروید و یک حساب کاربری و نماینده جدید ایجاد کنید.
سپس یک هدف جدید ایجاد کنید….
گام 2:
سپس عبارت های آموزشی را وارد کنید. اینها دستوراتی هستند که کاربران هنگام تلاش برای دسترسی به یک کار خاص از Google Home صحبت می کنند.
مرحله 3:
در اینجا ، کلمه "وب سایت" را می توان به هر چیزی مانند youtube ، Netflix ، amazon prime و غیره تغییر داد … بنابراین ، این کلمه به عنوان یک متغیر عمل می کند و وقتی کلمه وب سایت را [با استفاده از ماوس] انتخاب می کنید ، موارد زیر را دریافت می کنید.
مرحله 4:
از منوی کشویی ، "@sys.any" را انتخاب کرده و Enter را فشار دهید.
مرحله 5:
سپس همان نام پارامتر را در قسمت اقدامات وارد کنید. مقادیر ذکر شده در این بخش به عنوان یک فایل JSON به webhook ارسال می شوند ، که باید آنها را در سرور بازیابی کنیم تا بدانیم کاربر از کدام وب سایت درخواست کرده است.
مقدار یک متغیر با استفاده از "$ variable_name" بازیابی می شود
مرحله 6:
پاسخی را که باید بعد از گفتن فرمان به Google Home بشنویم ، اضافه کنید. سپس قصد را ذخیره کنید. در صورت نیاز این نیت را پایان گفتگو قرار دهید.
مرحله 7:
اکنون ما سرویس پشتیبان خود را تنظیم می کنیم تا این درخواست ها را برای باز کردن فیلم ها و وب سایت ها در تمشک pi خود دریافت کنیم.
تنظیمات باقی مانده
Dataplicity -> سرور Nodejs -> کد
چرا ما نیاز به استفاده از داده داریم؟ زیرا Google Home به قلاب های وب متصل می شود که از طریق اینترنت قابل دسترسی هستند. حتی اگر GHome ما به شبکه محلی متصل باشد ، درخواست ها از سرویس ابری Google ارائه می شود و بنابراین ، نیاز به انتقال سرور ما به اینترنت وجود دارد. به جای آن سردرد ، می توانیم از خدمات dataplicity برای قرار دادن تمشک pi خود در اینترنت به راحتی استفاده کنیم.
ابتدا ، به تمشک 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:
سپس ، کد زیر را در فایل وارد کنید
در اینجا ، برای نشان دادن ، من فقط از دو وب سایت (google ، youtube) استفاده می کنم. می توان کد را ویرایش کرد و بر این اساس تغییر کرد.
bodyParser = require ("body-parser")؛ var exec = require ("child_process").ecec؛ var express = نیاز ("بیان") ؛ var app = express ()؛ app.use (bodyParser.json ()) ؛ app.post ('/' ، تابع (req، res) {let variable = req.body.queryResult.parameters.website؛ exec ("midori www."+متغیر+". com" ، تابع (خطا ، stdout ، stderr) {console.log ("stdout:" + stdout)؛ console.log ("stderr:" + stderr)؛ if (error! == null) {console.log ("Error Errror:" + error)؛}}) ؛ بازگشت res.end ()؛})؛ app.listen (80) ؛
مرحله 9:
کد بالا فقط برای توضیح مفهوم نوشته شده است. من از مرورگر Midori در کد استفاده کردم زیرا کروم با دستورات از راه دور کار نمی کند. ما می توانیم از فایرفاکس نیز استفاده کنیم. [ما باید قبل از نوشتن کد ، ماژول های body-parser ، express را با کمک npm نصب کنیم]
به یاد داشته باشید که ما فقط باید در پورت 80 گوش دهیم زیرا قابلیت استفاده از داده می تواند فقط پورت 80 رزبری pi را ارسال کند.
اکنون ما باید Dataplicity را راه اندازی کنیم
به وب سایت Dataplicity بروید و حساب خود را ایجاد کرده و دستورالعمل های مربوط به افزودن raspberry pi به داشبورد را دنبال کنید.
مرحله 10:
پس از آن ، pi raspberry pi را از لیست دستگاه ها باز کرده و wormhole را انتخاب کنید تا یک آدرس IP منحصر به فرد برای رزبری pi دریافت کنید که می توانیم روی آن سرور گره خود را مستقر کنیم.
آدرس IP را در کلیپ بورد کپی کنید.
مرحله 11:
حالا کد را از پایانه تمشک pi اجرا کنید
sudo node webserver.js
اگر خطایی در مورد صفحه نمایش یا پروتکل ها نشان می دهد…. اجرا کردن
sudo xhost +
اکنون به dialogflow بازگردید و روی قسمت اجرای کلیک کنید
مرحله 12:
آدرس IP یا نشانی اینترنتی مربوط به dataplicity را در فضای بالا وارد کنید.
مرحله 13:
در نهایت ، به قسمت intents بروید و تماس زنجیره ای webhook را از برگه اجرای برنامه فعال کنید.
خودشه! اکنون به خانه Google خود بازگردید و نحوه عملکرد آن را بررسی کنید!
تا دفعه بعد ، هک مبارک:)
توصیه شده:
UPS خود را Steam Punk کنید تا ساعتهای به روز برای روتر Wi-Fi خود دریافت کنید: 4 مرحله (همراه با تصاویر)
UPS شما Steam Punk می کند تا ساعتهای به روز برای روتر Wi-fi شما دریافت کند: در مورد اینکه UPS شما قدرت باتری 12 ولت DC خود را به برق AC 220 ولت تبدیل کند ، چیزی اساساً مخالف است تا ترانسفورماتورهای روتر و فیبر ONT شما بتوانند آن را دوباره به 12 ولت DC! شما همچنین با [معمولاً
طرح صفحه قطار مدل خود را با صفحه کلید خود کنترل کنید!: 12 مرحله
با صفحه کلید خود طرح مدل قطار خود را کنترل کنید! همچنین می توانید نسخه ارتقا یافته را در اینجا مشاهده کنید. در این دستورالعمل ، من به شما نشان می دهم که چگونه می توانید یک طرح قطار مدل را با استفاده از صفحه کلید کنترل کنید
برای پروژه خود ارزش قائل شوید: از صفحه نمایش گرافیکی استفاده کنید: 14 مرحله
برای پروژه خود ارزش قائل شوید: از صفحه نمایش گرافیکی استفاده کنید !: در ویدیوی امروز ما ، صفحه نمایش 1.8 اینچی TFT را به شما نشان می دهم. این صفحه نمایش گرافیکی 128 در 160 است. بزرگتر از آنچه در ESP32 LoRa آمده است ، و من همچنین استفاده از آن را در ESP32 سنتی نشان خواهم داد. سپس مونتاژ و منبع را خواهیم داشت
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: 3 مرحله
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: برنامه من ساده بود. من می خواستم یک سیم نور LED دیواری را به قطعات تقسیم کنم و سپس آن را دوباره سیم کشی کنم تا 12 ولت خاموش شود. روش جایگزین استفاده از اینورتر قدرت بود ، اما همه می دانیم که آنها بسیار ناکارآمد هستند ، درست است؟ درست؟ یا هستند؟
چگونه می توانید آی پاد لمسی خود را (یا اگر آیفون شما واقعاً آن را بهم ریخته است) دریافت کنید تا از خرابی در اثر کمبود حافظه جلوگیری کنید: 3 مرحله
چگونه می توانید آی پاد لمسی (یا اگر آیفون شما واقعاً آن را بهم ریخته است) را متوقف کنید تا از خرابی ناشی از کمبود حافظه جلوگیری کنید: سلام ، کاربران ipod touch و iphone وجود دارد. بسیار خوب ، بنابراین من کاملاً مطمئن هستم که همه شما درک کمی از نحوه عملکرد آی پاد سیب دارید ، درست است؟ شما یک برنامه را باز کنید این برنامه در هر نقطه بین ipod touch 1G ، 5-30 مگابایت موجود