اینترنت اشیا IOT اینترنت اشیاء تئوریک برد Nodemcu خانه هوشمند

مدیریت وسایل برقی از هر مکان با دستیار صوتی گوگل و برد Nodemcu

Nodemcu-and-adafruit-IO-with-google-assistant-digispark-
نوشته شده توسط رضا سیدزاده

تصور کنید  زمانی که از سرکار به سمت خونه حرکت می کنید قبل رسیدن به خانه فر برقی را روشن می کنید و غذای شما  گرم و آماده ی میل کردن است و یا اینکه قبل از اینکه برسید خونه کولر را روشن کرده اید تا هوای خانه خنک شود و بسیاری کارهای دیگه ای را می توانید انجام دهید.شاید در نگاه اول کاری رویایی و غیر واقعی به نظر برسد ولی این کار شدنی است . برای این کار شما نیاز به یک برد NODEMCU و حسابی در سایت adafruit و Gmail دارید شما می توانید با فرمان های صوتی یا فرمان های دستی اشیاء مربوطه را مدیریت نمایید در ادامه تمامی مراحل بصورت کامل توضیح داده خواهد شد.

 

لوازم مورد نیاز:

برد NodeMcu بر پایه تراشه ESP8266

ماژول رله Relay (تکی یا ۴ تایی یا ۸ تایی و… با توجه به تعداد خروجی های مورد نیاز انتخاب کنید)

 

اتصالات:

همانطور که در تصویر مشاهده می کنید با استفاده از یک منبع DC 5v ماند آردوینو اونو یا یک منبع دست ساز , پین ۳٫۳v برد NodeMcu را به ۳٫۳v آردوینو متصل میکنیم و Vcc ماژول رله خود را به ۵v متصل می کنیم پایه D1 برد NodeMcu را به پایه ی IN1 ماژول رله متصل می کنیم وپایه D2 برد NodeMcu را به پایه ی IN2 ماژول رله متصل می کنیم و پایه D3 برد NodeMcu را به پایه ی IN3 ماژول رله متصل می کنیم و پایه D4برد NodeMcu را به پایه یIN4 ماژول رله متصل می کنیم  و پایه های GND را به پایه ی GND منبع متصل می کنیم.

 


کتابخانه‌های مورد نیاز


کتابخانه ی زیر بصورت پیش فرض در برد nodemcu موجود است

کتابخانه ی زیر را را در آخر همین پست بارگیری نمایید.

 


۱- پروتکل MQTT ارتباط امن در IoT


با استفاده از حساب کاربری که در سایت Adafruit  ساخته‌اید، به برد Nodemcu متصل شوید. با متصل کردن نام کاربری و توکن حساب کاربری‌تان به برد NodeMcu اشیاء را مدیریت کنید. با دستور دادن در سایت مربوطه آن دستور را به برد انتقال داده و رله مورد نظر خاموش یا روشن خواهد شد. ابتدا باید در سایت io.adafruit.com حساب کاربری ایجاد نمایید. برای این منظور وارد لینک آدافروت شوید. روی Sign In کلیک کرده سپس روی گزینه‌ی Sign Up کلیک و حساب کاربری ایجاد نمایید. در تصاویر زیر هم مشخص شده است.

ایجاد حساب کاربری در Io.Adafruit.com -دیجی اسپارک

 

بعد از ساخت حساب کاربری وارد شوید. ابتدا روی گزینه‌ی dashboard کلیک نموده و سپس روی گزینه‌ی action کلیک کنید. بعد از آن روی create new dashboard کلیک کنید. هر نامی که علاقه دارید، روی آن بگذارید سپس روی create کلیک بنمایید.

ایجاد حساب کاربری در Io.Adafruit.com -دیجی اسپارک

 

ایجاد داشبورد جدید در Io.Adafruit.com -دیجی اسپارک

 

سپس روی داشبوردی که ساخته‌اید کلیک کنید. روی علامت بعلاوه در سمت راست بالای سایت کلیک کنید اولین بلاک را انتخاب کنید  زمانی که موس را روی آن برده در بالای آن toggle نمایان خواهد شد.

ایجاد داشبورد جدید در Io.Adafruit.com -دیجی اسپارک

 

سپس باید feed بسازید که با کد نویسی که در Arduino Ide هم خوانی داشته باشد بطور مثال feed من Relay1 ساخته شد پس در کد نویسی هم باید از همین نام استفاده کنید.

و بعد روی feed  که ساخته اید  کلیک نموده و روی next step کلیک کنید و در کادر block Title نام فید را بنویسید و در کادر دوم On را پاک کرده و عدد ۱ را بنویسید و در کادر سوم offرا پاک کرده و عدد ۰ را بنویسید سپس در پایین صفحه روی گزینه ی create block کلیک کنید و با توجه به تعداد اشیاء هایی که قصد دارید کنترل کنید feedsبسازید و همین عملیات  را تکرار نمایید. سپس روی علامت کلید که در سمت راست بالای سایت قرار دارد کلیک کرده User Name و Active Key را کپی کرده و بصورت زیر در کدنویسی که در Arduino Ide وجود دارد قرار دهید.

 

تا اینجا شما با استفاده از سایت Adafruit توانستید  اشیاء خود را بصورت دستی مدیریت کنید در مرحله ی بعد برای مدیریت صوتی اشیاء شما باید Adafruit را با دستیار صوتی گوگل همگام کنید.

 


۲- دستیار صوتی گوگل و IFTTT


بخش دوم پروژه مربوط به اپلیکیشن IFTTT خواهد بود. ابتدا باید حساب کاربری در Gmail ایجاد کنید. سپس وارد سایت IFTTT.com شوید. روی گزینه‌ی Continue With Google کلیک کنید. به صفحه Gmail هدایت می‌شوید. با حساب کاربری Gmail وارد شده و در بالای صفحه روی My Applet کلیک کنید. سپس روی New Applet کلیک کنید. بعد از آن نوشته‌ی بزرگی که if +this then that شما روی this+ که به رنگ آبی است کلیک کنید.

سپس در کادر search services باید دستیار صوتی گوگل را سرچ کنیم. پس Google Assistant سپس روی گزینه ی اول Say a simple phrase کلیک می کنیم.

در کادر اول What do you want to say دستور روشن شدن شی مربوطه را  بنویسید به طور مثال

 

جهت دسترسی به این بخش از پروژه، اسپارکر پلاس شوید.

 

 


۳-کد نویسی برای مدیریت اشیاء


تمامی مراحل بالا را انجام داده سپس کد ها را روی برد NodeMcu آپلود می کنیم

کد NodeMcu

 

جهت دسترسی به این بخش از پروژه، اسپارکر پلاس شوید.

 

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

 

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

رضا سیدزاده

مهندس مکانیک سیالات
تکنسین پایپینگ
بدون تلاش و شکست خوردن پیروزی بدست نمی آید
علاقه مند به رباتیک و تکنولوژی هستم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۷ دیدگاه

  • سلام من این پروژه رو انجام دادم همه چی درسته ولی رله فعال نمیشه ینی تو سریال مانیتور وقتی دستور on و off ارسال میشه نشون میده ولی رله فعال نمیشه

    • سلام
      سایت آدافروت رو باز کنید ببینید دستوراتتون ارسال میشه و بلاکتون روشن و خاموش میشه چون باید فیدهایی که در کدنویسی استفاده کردید با فیدهایی که در سایت آدافروت هستن یکسان باشند

        • سلام برای دسترسی کامل به کد ها باید اسپارکر پلاس شوید در گوشی های اندروید با گفتن اوکی گوگل یا هی گوگل صفحه ای باز نیشه که میتونید با ارسال صدا دستوراتی ارسال نمایید

  • سلام. بنده یه سوالی داشتم لطفا راهنماییم کنید
    بنده میخوام با کمک برد آردوینو محتوای یه فایل txt رو درون یه متغیر مثلا MyText بریزم. چجوری میتونم این کار رو بکنم؟ آیا از طریق یه لینک هم میشه اینکار رو کرد؟
    مثلا به این شکل باشه
    String MyText = LoadString(“Good/New/matn.txt”); // zzzzzz

    • سلام منظورتون اینه که فایل txt رو توی آردوینو ذخیره کنید؟آردوینو محل اجرای دستوراته نه ذخیره و جا به جایی اطلاعات شما میتونید روی آردوینو کد نویسی کنید و آردوینو برای شما اجرا کند.

  • منظورم اینکه مقدار یه فایل txt رو از یجایی بخونه و داخل یه متغیر ذخیره کنه و از اون مقدار ذخیره شده توی متغیر استفاده کنه

  • سلام ببخشید من یک اکانت اسپارکر پلاس گرفتم ولی برام قسمت اسپارکر پلاس باز نشده اگه میشه خواهشا راهنماییم کنین چون مبلغ از حسابم کسر شده

  • ببخشید اول مطلب فرمودین با توجه به تصویرولی تصویری نیست ممنون میشم تصویر رو نمایش بدین که متوجه بشم چیکار باید بکنم

  • با سلام و وقت بخیر ببخشید وقتی میحوام آپلود کنم برنامه رو روی nodemcu این اخطار رو میده چطور می تونم برطرفش کنم ممنون میشم راهنماییم کنید
    exit status 1
    Adafruit_MQTT.h: No such file or directory

  • با سلام،
    یک سوال داشتم:
    کاربرد بلاک Remote در همین پلتفرم Adafruit دقیقا چی هست؟ و آیا امکان کنترل یک ربات ماشینی توسط این Remote وجود داره یا خیر؟

    • سلام
      تا آنجایی که اطلاعی دارم برای روشن و خاموش کردن بکار میرود معمولا برای خاموش و روشن کردن led بکار میروند ولی واسه ساخت روبات میبایست از شیلد های درایور موتور و با توجه به برنامه نویسی که روی میکروکنترلر انجام میدید روبات رو کنترل کنید برای اینکار هم روش های مختلفی هست.

    • سلام
      بله البته بستگی داره چه خروجی بخواین مثلا اگ برای کارای Rfid و حفاظتی بخواین استفاده کنین خروجی رله که از مدار اصلی خارجه برقی دلخواهتونو وصل کنین مثلا بخواین لامپ های خونه رو خاموش و روشن کنین خروجی رله که سه تا یکی برق ورودی است و normal close و normal open یا N/cو N/O هستش برقی که میخواین رو میتونید بهش وصل کنین و استفاده کنین.