فهرست مطالب:

سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (پشتیبانی از Google Home & Alexa): 11 مرحله
سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (پشتیبانی از Google Home & Alexa): 11 مرحله

تصویری: سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (پشتیبانی از Google Home & Alexa): 11 مرحله

تصویری: سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (پشتیبانی از Google Home & Alexa): 11 مرحله
تصویری: Активировать компьютер с помощью команды Ok Google (Google Assistant) + вопросы и ответы 2024, دسامبر
Anonim
سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (Google Home & Alexa پشتیبانی می شود)
سوئیچ IOT رله مبتنی بر صدا مبتنی بر آردوینو (Google Home & Alexa پشتیبانی می شود)

این پروژه نحوه ساخت یک سوئیچ رله مبتنی بر آردوینو ، کنترل صدا ، IOT را شرح می دهد. این یک رله است که می توانید از راه دور با استفاده از یک برنامه برای iOS و Android روشن و خاموش کنید ، همچنین آن را به IFTTT وصل کرده و با استفاده از Google Home و/یا Alexa نیز آن را با صدای خود کنترل کنید. ما تمام مراحل مورد نیاز برای ایجاد دستگاه ، اتصال برنامه و اتصال در سرویس های مختلف IOT را نیز پوشش خواهیم داد.

تدارکات

  • Wemos D1 Mini Lite ESP8285 (چند دلار در آمازون)
  • ماژول رله 5 ولت برای Arduino/Raspberry Pi
  • ترانزیستور 2N2222 NPN
  • مقاومت 47 کیلو اهم
  • مقاومت 1 کیلو اهم

مرحله 1: ایجاد مدار

ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار

اولین قدم سیم کشی مدار است. بسته به آنچه که به آن عادت دارید ، یک طرح کلی و یک نمودار سیم کشی سنتی را اضافه کرده ام. من اولین مدار خود را روی نمونه اولیه نان انجام دادم و سپس آن را برای نصب دائمی تر به PCB منتقل کردم و در یک جعبه پروژه چاپ سه بعدی قرار دادم.

رله یک رله H/L 5V جدا شده از نوری است ، بدین معنی که ابتدا مدار ماشه از نظر نوری از خود فعال سازی رله جدا شده است ، که هرگونه مشکل احتمالی در مورد بازخورد رله را به میکروکنترلر Wemos برطرف می کند. داشتن یک ایمنی خوب دوم ، قابلیت تعویض بالا/پایین را دارد ، به این معنی که می توان آن را با حرکت دادن بلوز زردی که در تصاویر مشاهده می کنید ، از راه اندازی هنگامی که سیگنال زیاد است (+5V) ، یا هنگامی که سیگنال کم است (0V) فعال کنید. به Wemos خود 3.3 ولت را از پین های دیجیتالی خود ارسال می کند و ما از D1 به عنوان منبع ماشه خود استفاده می کنیم ، به این معنی که ما باید آن را کمی تقویت کنیم ، به طوری که به سیگنال دیجیتال +5V نزدیک می شویم تا رله را فعال کند. متناوباً می توانید از یک رله 3.3V استفاده کنید و جزء تقویت کننده ترانزیستور را در مدار حذف کرده و مستقیماً از D1 به پین سیگنال روی رله بروید. من رله 3.3 ولت نداشتم ، بنابراین ما از یک رله 5 ولت رایج تر و مدار آمپر استفاده می کنیم.

DC+ و DC- روی رله به پین های 5V و GND Wemos متصل می شوند که ولتاژ لازم برای کارکرد رله را فراهم می کند. رله از ولتاژهای کوچک تا ولتاژ خط رتبه بندی می شود ، اما من از آن برای کنترل برنامه سیم کشی با ولتاژ پایین استفاده می کنم. اگر از این دستگاه برای کنترل ولتاژ خط استفاده می کنید ، لطفاً مطمئن شوید که می دانید چه کار می کنید ، واجد شرایط هستید و اقدامات احتیاطی مناسب را انجام می دهید. اگر نه ، پس از آن برای کنترل برنامه های ولتاژ خط استفاده نکنید.

پین D1 در Wemos به مقاومت 47K اهم متصل می شود که از طریق ترانزیستور NPN به پایه تغذیه می شود. ساطع کننده به زمین متصل می شود. کلکتور به ورودی سیگنال روی رله متصل است. رله در حالت ضعیف تنظیم شده است ، بنابراین هنگامی که D1 سیگنال می دهد ، سیگنال 3.3 ولت تقریباً 5 ولت تقویت می شود و رله باز می شود. وقتی D1 پایین می رود ، سیگنال به رله کم می شود و رله بسته می شود و یک مدار را تکمیل می کند.

فراموش کردم از مدار موقت خود روی نمونه اولیه نان عکس بگیرم ، اما اگر مفید باشد ، دقیقاً شبیه نمودار Fritzing در بالا بود. من تعدادی عکس از مدار دائمی نهایی خود قرار دادم تا بتوانید نحوه اتصال آن را مشاهده کنید ، در صورت نیاز به بینش و یا نیاز به دید در مورد اجزای خاصی که من استفاده می کنم.

مرحله 2: برنامه نویسی Wemos - مرور کلی

یکی از مواردی که من در مورد Wemos دوست دارم این است که می توان آنها را درست مانند آردوینو با استفاده از IDE یکسان برنامه ریزی کرد. هر چند چند مرحله در اینجا وجود دارد.

  1. نصب درایورهای Wemos روی رایانه می تواند با Wemos صحبت کند
  2. Arduino IDE را به روز کنید تا برد Wemos در دسترس باشد
  3. یک آزمایش سریع "پلک زدن" انجام دهید تا مطمئن شوید همه چیز به درستی کار می کند
  4. با Blynk راه اندازی کنید (می دانم گیج کننده است ، اما در واقع متفاوت از "آزمایش پلک زدن" است)
  5. کد برنامه ای را از Blynk دریافت کنید
  6. کد Wemos/Arduino را با اطلاعات Blynk به روز کنید
  7. کد را در تنظیمات Wemos خود بارگذاری کنید.

مرحله 3: برنامه نویسی Wemos - درایورها را نصب کنید

برنامه نویسی Wemos - نصب درایورها
برنامه نویسی Wemos - نصب درایورها

به اینجا بروید (به نظر می رسد این پیوند به صورت دوره ای تغییر می کند ، سعی می کنم آن را به روز نگه دارم):

www.wemos.cc/fa/latest/ch340_driver.html

و بسته درایور مناسب برای سیستم عامل خود را بارگیری کنید. سپس فایل فشرده را در یک دایرکتوری استخراج کرده و برنامه "SETUP" را برای نصب اجرا کنید.

وقتی این کار را برای اولین بار انجام دادم ، خطایی عجیب در مورد عدم نصب آن دریافت کردم. من یادداشت شخص دیگری در این مورد و راه حل آنها را دیدم ، که برای من مفید بود. بنابراین اگر خطایی دریافت کردید ، از دکمه "حذف نصب" استفاده کنید و سپس دوباره از "نصب" استفاده کنید. امیدوارم مثل من مشکل حل شود.

مرحله 4: برنامه نویسی Wemos - IDE Arduino را به روز کنید

برنامه نویسی Wemos - IDE Arduino را به روز کنید
برنامه نویسی Wemos - IDE Arduino را به روز کنید
برنامه نویسی Wemos - IDE Arduino را به روز کنید
برنامه نویسی Wemos - IDE Arduino را به روز کنید
برنامه نویسی Wemos - IDE Arduino را به روز کنید
برنامه نویسی Wemos - IDE Arduino را به روز کنید

اگر Arduino IDE را نصب نکرده اید ، اکنون زمان مناسبی برای انجام این کار است. می توانید آن را از www.arduino.cc بارگیری کنید

در اینجا مرجعی برای آنچه در این مرحله قرار است انجام دهیم آورده شده است.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. اجازه دهید برد جدید را نصب کنیم تا به عنوان یک گزینه در Arduino IDE نشان داده شود. مراحل 2 - 4 از راهنمای نصب در صفحه github زیر استخراج شده است.

    github.com/esp8266/Arduino

  2. Arduino IDE را راه اندازی کرده و پنجره Preferences را باز کنید.
  3. "https://arduino.esp8266.com/stable/package_esp8266com_index.json" را در قسمت URL های Additional Board Manager وارد کنید. می توانید چندین نشانی اینترنتی اضافه کنید و آنها را با کاما جدا کنید.
  4. مدیر تخته ها را از Tools> Board> Boards Manager (در بالا) باز کنید ، عبارت "esp8266" را جستجو کرده و پلت فرم فهرست شده esp8266 را نصب کنید.
  5. در این مرحله شما تابلوهای Wemos را در Tools → Board: xxx Wemos D1 Mini را انتخاب کنید. در مورد من ، همانطور که از تصویر مشاهده می کنید ، نام خاص "LOLIN (WEMOS) D1 R2 & mini" بود
  6. کابل USB را بین رایانه و Wemos وصل کنید
  7. تأیید کنید که "Port" اکنون در منوی Tools فعال است و درست به نظر می رسد.

مرحله 5: برنامه نویسی Wemos - Blink Test

برنامه نویسی Wemos - Blink Test
برنامه نویسی Wemos - Blink Test

قبل از ادامه کار ، باید مطمئن شویم که می توانیم با برد Wemos ارتباط برقرار کنیم و همه چیز خوب به نظر می رسد. ساده ترین راه برای انجام این کار این است که کابل USB را وصل کرده و سعی کنید یک برنامه ساده را به Wemos منتقل کنید. پلک زدن ساده ترین مثال است و هنگام کار با تخته های جدید دردسرهای زیادی برای من ایجاد کرده است ، زیرا من همیشه این کار را اول انجام می دهم.

  1. به: فایل> مثالها> ESP8266> پلک بزنید و طرح پلک زدن را برای دستگاه Wemos بارگذاری کنید
  2. طرح را کامپایل و بارگذاری کنید

اگر LED آبی حدود یک ثانیه شروع به چشمک زدن می کند ، پس بهتر است به مرحله بعدی بروید! اگر نه ، دوباره برگردید و مراحل قبلی را عیب یابی کنید. ببینید آیا مشکلی در رانندگان و مدیر هیئت مدیره وجود دارد. من با بسته برد ESP8266 مشکلاتی داشتم و مجبور شدم آن را به طور کامل حذف و مجدداً نصب کنم ، زیرا نسخه های عجیبی در حال رخ دادن بود. تسلیم نشوید و جستجوهای اینترنتی می توانند دوست شما باشند!

با فرض اینکه همه چیز خوب است ، به مرحله بعدی بروید.

مرحله 6: برنامه نویسی Wemos - راه اندازی Blynk

برنامه نویسی Wemos - راه اندازی Blynk
برنامه نویسی Wemos - راه اندازی Blynk
برنامه نویسی Wemos - راه اندازی Blynk
برنامه نویسی Wemos - راه اندازی Blynk
برنامه نویسی Wemos - راه اندازی Blynk
برنامه نویسی Wemos - راه اندازی Blynk

در این مراحل بعدی ، ما باید یک حساب کاربری در Blynk ایجاد کنیم و از آن یک نشانه بگیریم تا از آن برای کنترل مداری که ایجاد کرده ایم استفاده کنیم.

  1. برنامه را بارگیری کنید و یک حساب کاربری ایجاد کنید (رایگان است)
  2. ایجاد یک پروژه جدید
  3. Wemos D1 را به عنوان سخت افزار در قسمت Choose Device انتخاب کنید
  4. نام پروژه را بگذارید و نوع اتصال را به صورت WiFi نگه دارید
  5. روی ایجاد پروژه کلیک کنید
  6. در این مرحله Auth Token به آدرس ایمیلی که هنگام ایجاد حساب Blynk خود استفاده کرده اید ارسال می شود. آن را برای بعدا ذخیره کنید ، در مرحله بعد مقادیر را در طرح وارد می کنیم.
  7. هنگامی که به صفحه بوم خالی می رسید ، فقط تند به چپ بکشید و منوی ویجت را دریافت خواهید کرد. "Button" را انتخاب کنید تا یک "دکمه" به پروژه اضافه شود
  8. دکمه را انتخاب کنید و سپس با کلیک روی Pin و انتخاب "Digital" و "D1" به عنوان pi ، پیکربندی کنید و روی "Ok" کلیک کنید.
  9. در این مرحله ، همه چیز باید آماده باشد. برای فعال کردن این مورد ، می خواهید نماد مثلث را در بالا سمت راست انتخاب کنید ، اما هنوز کار نمی کند ، تا زمانی که طرح بارگذاری و پیکربندی نشود ، این مرحله بعدی است!

مرحله 7: برنامه نویسی Wemos - نصب کتابخانه Blynk

برای اینکه بتوانیم یک طرح مبتنی بر Blynk بارگذاری کنیم ، باید کتابخانه آنها را نصب کنیم. جزئیات را می توانید در اینجا پیدا کنید.

github.com/blynkkk/blynk-library/releases

همچنین ، برای مقدماتی ، وب سایت اصلی آنها را در اینجا (https://blynk.io/fa/getting-started) بررسی کنید

این در ابتدا برای من گیج کننده بود ، اما خیلی راحت تر از آن است که به نظر می رسد. کافی است فایل را در فهرست آردوینو خود از حالت فشرده خارج کنید. برای من این در / user / Documents / Arduino بود. قبلاً پوشه ای به نام "کتابخانه" در آنجا وجود داشت. فایل زیپ شامل یک "کتابخانه" و یک فهرست "ابزار" است. هنگامی که آن را در فهرست Arduino از حالت فشرده خارج می کنید ، محتویات آن را به کتابخانه ها اضافه می کند و در صورت عدم وجود ابزار ، ابزارهایی را ایجاد می کند.

مرحله 8: برنامه نویسی Wemos - Sketch

ما در این مرحله تقریباً تمام شده ایم. طرح بسیار ساده است ، مستقیماً از Blynk است و اساساً سرویس Blynk و برد را به هم متصل می کند. در اینجا می توانید از سازنده آنها استفاده کنید:

examples.blynk.cc/؟board=WeMos٪20D1&shield=ESP8266٪20WiFi&example=Widgets٪2FTerminal

یا می توانید از این نمونه استفاده کنید که باید برای شما مناسب باشد. فقط اطمینان حاصل کنید که مقادیر را برای توکن author و اعتبارنامه خود را جایگزین شبکه wifi خود کرده اید.

/*************************************************************

آخرین کتابخانه Blynk را از اینجا بارگیری کنید: https://github.com/blynkkk/blynk-library/releases/latest Blynk یک پلت فرم با برنامه های iOS و Android برای کنترل Arduino ، Raspberry Pi و موارد مشابه از طریق اینترنت است. شما به راحتی می توانید واسطه های گرافیکی را برای همه پروژه های خود با کشیدن و رها کردن ابزارک ها بسازید. بارگیری ها ، اسناد ، آموزش ها: https://www.blynk.cc Sketch generator: https://examples.blynk.cc انجمن بلینک: https://community.blynk.cc ما را دنبال کنید: https://www.fb. com/blynkapp کتابخانه Blynk تحت مجوز MIT دارای مجوز است این کد مثال در مالکیت عمومی است. ************************************************* ************ شما می توانید با استفاده از شی WidgetTerminal هرگونه داده را ارسال یا دریافت کنید. راه اندازی پروژه برنامه: ویجت ترمینال متصل به Virtual Pin V1 ************************************ **********************//*برای غیرفعال کردن چاپ و صرفه جویی در فضا این را کامنت کنید*/ #تعریف سریال BLYNK_PRINT #شامل #شامل // شما باید Auth را دریافت کنید توکن در برنامه Blynk. // به تنظیمات پروژه (نماد مهره) بروید. char auth = "YourAuthToken"؛ // اعتبارنامه WiFi شما. // برای شبکه های باز گذرواژه را روی "" قرار دهید. char ssid = "YourNetworkName"؛ char pass = "YourPassword"؛ // پایانه سریال مجازی را به پایانه Virtual Pin V1 WidgetTerminal (V1) وصل کنید. // می توانید دستوراتی را از ترمینال به سخت افزار خود ارسال کنید. فقط کافی است از // همان پین مجازی به عنوان ویجت ترمینال BLYNK_WRITE (V1) {// اگر "Marco" را در ویجت ترمینال تایپ می کنید استفاده کنید - این پاسخ می دهد: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("شما گفتید:" مارکو "")؛ terminal.println ("من گفتم:" پولو "")؛ } else {// ارسال مجدد terminal.print ("شما گفتید:")؛ terminal.write (param.getBuffer () ، param.getLength ()) ؛ terminal.println ()؛ } // اطمینان حاصل کنید که همه چیز terminal.flush () ارسال می شود. } void setup () {// اشکال زدایی کنسول Serial.begin (9600)؛ Blynk.begin (author، ssid، pass)؛ // همچنین می توانید سرور را مشخص کنید: //Blynk.begin(auth، ssid، pass، "blynk-cloud.com"، 80)؛ //Blynk.begin(auth، ssid، pass، IPAddress (192، 168، 1، 100)، 8080)؛ // این نسخه نرم افزار Blynk را هنگامی که // سخت افزار شما به terminal.println سرور Blynk متصل می شود (F ("Blynk v" BLYNK_VERSION: Device start ")) چاپ می شود. terminal.println (F ("-------------")) ؛ terminal.println (F ("Marco" را تایپ کنید و پاسخ یا نوع آن را دریافت کنید)) ؛ terminal.println (F ("هر چیز دیگری و دوباره چاپ شود.")) ؛ terminal.flush ()؛ } void loop () {Blynk.run ()؛ }

مرحله 9: برنامه نویسی Wemos - مرحله نهایی

Image
Image

پس از بارگیری طرح ، طرح را کامپایل و بارگذاری کنید و باید آماده آزمایش تنظیمات خود باشید!

برنامه Blynk را باز کنید ، روی مثلث در گوشه سمت راست بالا برای پروژه Wemos خود کلیک کنید

سپس روی دکمه کلیک کنید! باید صدای کلیک رله را بشنوید و LED های وضعیت روی برد رله نشان می دهد که وضعیت رله تغییر کرده است.

اکنون می توانید رله را به هر برنامه ولتاژ پایین که نیاز به یک سوئیچ ساده دارد متصل کرده و آن را از طریق برنامه Blynk خود کنترل کنید. آخرین کاری که باید انجام دهیم این است که IFTTT را ببندیم و از Google یا Alexa برای کنترل سیستم Blynk استفاده کنیم ، بنابراین مجبور نیستیم این کار را از برنامه Blynk انجام دهیم.

مرحله 10: کنترل Blynk با IFTTT و Google Home یا Alexa

در حال حاضر فرض می کنم که شما با IFTTT آشنایی دارید. اگر نه ، برخی از آموزش های عالی وجود دارد که به شما کمک می کند نحوه استفاده و استفاده از IFTTT را بیاموزید. این بسیار قدرتمند است و چیزی است که اگر قبلاً با آن آشنا نیستید ، می خواهید یاد بگیرید.

  1. یک اپلت جدید در IFTTT ایجاد کنید
  2. دستیار Google را به عنوان "If This" انتخاب کنید و از "عبارت ساده" به عنوان ماشه استفاده کنید. برای من ، از آنجا که شومینه من روشن یا خاموش می شد ، عبارت من "روشن کردن شومینه" بود
  3. برای بخش "سپس آن" ، Webhook ها را جستجو کرده و استفاده کنید
  4. "ایجاد درخواست وب" را انتخاب کنید
  5. برای نشانی اینترنتی که می خواهید استفاده کنید:

    "https://blynk-cloud.com/XXXXYYYZZZZ/update/d5؟value=1"

  6. روش را روی GET ، نوع محتوا را به صورت urlencoded تنظیم کنید و می توانید BODY را خالی بگذارید و سپس ذخیره کنید

چند دقیقه صبر کنید و سپس ادامه دهید و عبارت خود را با دستگاه خانه Google خود آزمایش کنید. متوجه شدم که حدود دو دقیقه طول می کشد تا آماده شود.

توجه: نکته دیگری که باید در اینجا به آن توجه کنید. توجه کنید که من از "d5" در تماس API خود استفاده می کنم ، اما به پین D1 روی برد متصل شدم. حدود یک روز طول کشید تا بفهمم شماره گذاری پین GPIO و شماره گذاری روی صفحه روی صفحه یکسان نیست. پس از تغییر مقادیر با تماس های مستقیم URL و آزمایش ولتاژ در پین های مختلف با ولت متر ، متوجه شدم که تماس با d1 از طریق API ولتاژ را تغییر داده است ، اما در D1 روی برد نیست. d5/GPIO 5 در واقع با D1 در برد مطابقت دارد. وقتی این تنظیم را انجام دادم ، همه چیز به زیبایی کار کرد!

اتصال Alexa مشابه Google home است ، فقط از خدمات Alexa در IFTTT استفاده کنید.

مرحله 11: نتیجه گیری

در این مرحله ، شما باید یک رله IOT کنترل صدا با کارکرد با استفاده از Wemos D1 mini lite داشته باشید. لذت ببرید و موفق باشید!

باز هم ، برق خطرناک است ، بنابراین لطفا اقدامات احتیاطی مناسب را انجام دهید و اگر واجد شرایط نیستید ، لطفاً این کار را نکنید.

توصیه شده: