کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور

کنترل وسایل برقی با WIFI

اینترنت اشیا IOT امروزه یکی از مباحث بسیار داغ و پرطرفدار در بین طراحان و برنامه نویسان حوزه الکترونیک می باشد. البته این محبوبیت بی دلیل نیست. با پیشرفت روز افزون تکنولوژی در دنیا، تمایل انسان ها نیز به استفاده از فناوری های تازه بالاتر رفته، به عنوان مثال در زمان حاضر علاقه مردم به ساخت یا خرید خانه های هوشمند بسیار بیشتر شده و هر روز به جمع افرادی که سعی در هوشمند سازی خانه های خود دارند افزوده می شود. همین موضوع سبب شده تا اینترنت اشیا IOT که یکی از مهمترین نیازهای اولیه مباحث هوشمند سازی است، به یک تجارت پر سود برای کار آفرینان تبدیل شود.

بعد قبل
کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
بعد قبل

در این پروژه آردوینو از مبحث آموزش آردوینو قصد داریم تا 4 رله را که به یک برد آردوینو Arduino متصل شده اند، را توسط یک موبایل به واسطه امواج WIFI از راه دور کنترل نمائیم. همچنین در این پروژه برای اینکه بتوانیم برد آردوینو را به پروتکل WIFI (وای.فای) مجهز کنیم از ماژول ESP8266 کمک گرفته ایم.

ماژول WIFI ESP8266

در مطلب قبلی (معرفی ماژول ESP8266 و دستورات AT Command) با ماژول ESP8266 به صورت کامل آشنا شدیم. ماژول WIFI مدل ESP8266 را می توانیم به دو صورت سرور (SERVER) و کلاینت (client) در پروژه های خود استفاده کنیم. در این پروژه تصمیم داریم تا ماژول ESP8266 را به صورت سرور (SERVER) راه اندازی کنیم. در این حالت موبایل کاربر جهت ارسال درخواست های کنترل وسایل برقی در وضعیت کلاینت (client) قرار می گیرد.

نقشه شماتیک پروژه کنترل وسایل برقی با موبایل از طریق WIFI

نقشه شماتیک پروژه کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور

لیست قطعات مورد نیاز

برد آردوینو NANO با میکروکنترلر Atmega3281 عدد
ماژول Wifi با خروجی سریال ESP8266-031 عدد
آی سی ULN2804A مدل DIP اورجینال1 عدد
رگولاتور ولتاژ 5 ولت L78051 عدد
رگولاتور ولتاژ 3 ولت LF33CV1 عدد
دیود 1N40076 عدد
مقاومت 1 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد4 عدد
مقاومت 330 اهم با توان 0.25 وات و تلرانس 1 درصد1 عدد
رله 12V ولت معمولی تک کنتاکت با جریان 10 آمپر4 عدد
خازن الکترولیتی 1000uf میکروفاراد 16 ولت2 عدد
خازن عدسی 100nF نانوفاراد1 عدد
لامپ LED قرمز سایز 5mm میلی متر مدل مات2 عدد
لامپ LED سبز سایز 5mm میلی متر مدل مات1 عدد
لامپ LED زرد سایز 5mm میلی متر مدل مات2 عدد
ترمینال پیچی 2 پین مدل KF300 رنگ آبی1 عدد
ترمینال پیچی 3 پین مدل KF300 رنگ آبی4 عدد
آداپتور 12V ولت 2A آمپر مدل بین راهی ساخت ایران1 عدد

نقشه PCB پروژه

بعد قبل
نقشه PCB پروژه کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
نقشه PCB پروژه کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
نقشه PCB پروژه کنترل وسایل برقی با آردوینو و ماژول WIFI ESP8266 در حالت سرور
بعد قبل

شرح عملکرد پروژه

در این پروژه برای اینکه کاربر بتواند 4 عدد رله را توسط موبایل کنترل کند، باید ابتدا از طریق منوی WIFI گوشی موبایل خود به WIFI ماژول ESP8266 متصل شود. لازم به ذکر است برای اتصال به ماژول WIFI باید از نام و پسوردی که در برنامه آردوینو از قبل برای ماژول WIFI تعریف شده است، استفاده کند. این نام و پسورد WIFI در برنامه نوشته شده در نرم افزار آردوینو به صورت پیش فرض به صورت زیر است، که شما می توانید آنرا به راحتی در برنامه آردوینو که در ادامه آمده است به مقادیر دلخواه خود تغییر دهید.

نام WIFI ماژول = electronics98_ESP

پسورد WIFI ماژول = electronics98

پس از اتصال گوشی موبایل خود به ماژول WIFI لازم است اپلیکیشنی با نام WIFI Controller را بر روی تلفن هوشمند خود نصب کنید. ما از این برنامه برای ارسال فرامین کنترلی از طریق پروتکل WIFI برای برد آردوینو استفاده می کنیم. این App را می توانید از گوگل پلی دانلود کنید البته فایل نصبی آن در پیوست فایل پروژه آمده است که می توانید از انتهای همین مطلب به صورت مستقیم دانلود کنید. پس از نصب اپلیکیشن و اجرای آن با محیطی همانند تصویر زیر روبرو می شوید.

نحوه ارتباط با ماژول ESP8266 توسط نرم افزار WIFI Controller

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

آدرس IP (آی.پی) سرور = 192.168.4.1

شماره پورت (PORT) سرور = 8888

حال جهت کنترل وسایل برقی متصل به رله ها تنها کافی است دستورات مندرج در جدولی که در ادامه آمده است را همانند تصویر زیر در کادر مربوطه وارد کنید و سپس گزینه SendHEX را لمس کنید. در صورتیکه دستور شما به درستی وارد شده باشد و توسط برد آردوینو اجرا شود، نتیجه عملکرد دستورات ارسالی در قسمت Received Data نرم افزار WIFI Controller چاپ می شود.

نحوه ارسال داده برای ماژول ESP8266 توسط نرم افزار WIFI Controller

دستورات مورد نیاز جهت کنترل رله ها در برنامه WIFI Controller موبایل

کد دستوری روشن کردن رله اول

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

کد دستوری خاموش کردن رله اول

نتیجه بازگشتی دستور پس از آنکه برد آردوینو وسیله برقی اول را غیر فعال کرد.

کد دستوری روشن کردن رله دوم

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

کد دستوری خاموش کردن رله دوم

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

کد دستوری روشن کردن رله سوم

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

کد دستوری خاموش کردن رله سوم

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

کد دستوری روشن کردن رله چهارم

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

کد دستوری خاموش کردن رله چهارم

نتیجه بازگشتی دستور پس از آنکه برد آردوینو وسیله برقی چهارم را غیر فعال کرد.

کد دستوری روشن کردن تمامی رله ها

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

کد دستوری خاموش کردن تمامی رله ها

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

برنامه نویسی برد Arduino در نرم افزار آردوینو

ویدیو ضبط شده از نحوه راه اندازی و عملکرد پروژه

دانلود ویدئو با لینک مستقیم از سرورهای پرقدرت الکترونیک 98

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 5 مگابایت

 محیط برنامه نویسی : Arduino (IDE)

 برنامه نویسی شده به زبان : ترکیبی از برنامه نویسی به زبان سی (C) یا سی پلاس پلاس (++C)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 6 ژوئن 2019

163 دیدگاه

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

  2. با سلام و احترام
    فایل به ایمیل شما ارسال گردید.

  3. سلام خسته نباشید خداقوت
    جناب یه سوال داشتم من برد آردینو UNO ch340دارم این کد رو میشه رو این مدل آپلود کرد و اجرا کرد؟
    بعد اگه نمیشه باید کجای کد رو عوض کرد و اجرا کرد؟

  4. فرهاد اکبری

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

  5. سلام من طبق قطعاتی که شما معرفی حردین تهیه کردم اما ماژول وای فای اصلا با نقشه همخونی نداره و اصلا مشابه چیزی که در نقشه و تصویر و ویدو یی که گذاشتین نیست .کلی هزینه کردم .
    من همون ماژولی که قسمت قطعات بود تهیه کردم و خودتون پیشنهاد داده بود تز همون سایت هم خریداری کردم لطفا راهنمایی کنید

  6. فرهاد اکبری

    با سلام و احترام
    ماژول WIFI که در این پروژه استفاده شده است ماژول ESP8266 است که دارای مدل های متفاوتی است، در خود پروژه ما از ورژن ESP8266-12F استفاده کرده ایم و در لیست قطعات ورژن ESP8266-03 معرفی شده است که شما از آن هم می توانید استفاده کنید، برای اینکار تنها لازم است مطابق تصویر زیر، که ترتیب پایه های ماژول را نشان می دهد، ابتدا پایه های VCC و CH_PD را به ولتاژ 3.3V و پایه های GND و GPIO15 را به منفی تغذیه و همچنین پایه های TXD و RXD ماژول را به پایه های D2 و D3 برد آردوینو نانو متصل کنید.
    همچنین اگر از ماژول خریداری شده استفاده نکردید و پایه های آنرا لحیم کاری نکرده اید می توانید با واحد فروش فروشگاه صحبت کنید و ماژول را با مدل ESP8266-12F تعویض کنید.

  7. مهندس اکبری خیلی ممنونم
    هنوز وارد عمل نشدم اما از پی سی بی و کد هایی که زحمتش رو کشیدید معلومه که کار میکنه.
    خیلی خیلی ممنونم از شما و سایت خوب الکترونیک۹۸

  8. فرهاد اکبری

    با سلام و احترام
    از لطف و محبت شما کمال تشکر را داریم، بله مدار به صورت 100 درصد عملی و آزمایش شده می باشد.

  9. مهندس اکبری با این رله ها 220 رو میشه قطع و وصل کرد؟(با همین مدار)یعنی این مدار مال قطع و وصل جریان 220ولته یا خیر؟

  10. و اینکه آردوینو ولتاژ پایه هاش 5 ولته و نمیتونه 12 بده،چطوری به پایه های رله 12 دادید؟
    طبق شماتیک مدار

  11. فرهاد اکبری

    شما می توانید توسط رله های مذکور، مصرف کننده هایی با ولتاژ 220 ولت را تا حداکثر جریان 5 آمپر کنترل نمایید. همچنین در این مدار برای راه اندازی رله ها از تراشه درایور ULN2804 استفاده شده است.

  12. سلام
    بابت آموزش مفیدی که ارایه کردید متشکرم
    من موفق شدم برنامه رو در بار اول آپلود کنم و همه چیز خوب پیش رقت- اما نام وای فای همون پیش فرضی شد در بار اول آپلود شد و دیگه تغییر نکرد . موضوع جالب اینکه آدرس آی پی و پسورد تغییر میکنه اما اسم الکترونیک۹۸ تعییر نمیکنه. آبا روش خاصی برای انجام این کار هست ؟

  13. فرهاد اکبری

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

  14. سلام
    وقتتون بخیر
    من پی سی بی مدار رو زدم همه ی قطعات هم همون مدلی که گفتید خریدم و لحیم کردم و برنامش آپلود کردم ( منتاها اسم و رمز وایفای رو تغییر دادم ) وقتی آداپتور رو به برد وصل کردم با همون اسم جدید پیداش کرد ولی وصل نمیشد و در ضمن بعضی اوقات وای فای گوشی هم پیداش نمیکرد اصلا و اگر پیدا هم میکرد وصل نمیشد ، برد آردوینوش و عوض کردم و برنامه رو دوباره آپلود کردم روش و دوباره تست گرفتم وصل شد بهش ولی با این که اسم و رمز پیش فرض (برنامه خودتون) بود باز به اسم قبلی شناسایی شد و وصل شد ولی داخل نرم افزار گوشی میزد آی پی متصل نیست و چند بار رفرش دادم و باز یک دفعه قطع شد و دوباره مشکل قبلی شد ( وای فای گوشی پیدا نمیکرد و اگر پیدا هم میکرد وصل نمیشد ) .
    از طریق سریال مانیتور برنامه آردوینو هم امتحان کردم کد های دستوری ( مثل رله 1 روشن و خاموش ) ولی هیچ پاسخی نداد .
    مشکل از چیه ؟ از ماژول وای فای هست ؟؟ یا چیز دیگه ؟؟
    الآن باید چه کار کنم ؟؟
    ممنون میشم راهنمایی کنید .
    تشکر

  15. فرهاد اکبری

    با سلام و احترام
    من دقیقا متوجه مشکل شما نشدم
    اما اگر نام WIFI که در برنامه آردوینو “electronics98” درج شده است بر روی ماژول WIFI شما تنظیم می شود این به آن معناست که ارتباط بین ماژول WIFI و برد آردوینو برقرار است. همچنین برای آزمایش اول به هیچ عنوان دست به برنامه نزنید و چیزی را تغییر ندهید چراکه ممکن است با تغییر در کدهای برنامه عملکرد آن دچار اشکال شود.
    همچنین با یک مولتی متر مطمئن شوید ولتاژ تغذیه اعمال شده بر روی ماژول WIFI مقدار 3.3 ولت باشد، لطفا توجه داشته باشید اعمال ولتاژ بیشتر از 3.3 ولت باعث تداخل در عملکرد و یا صدمه دیدن ماژول می شود.
    در پایان لازم به ذکر است شما نمی توانید از طریق محیط سریال آردوینو دستوراتی مثل روشن کردن رله‌ها را برای آردوینو ارسال کنید، چراکه در این پروژه، پایه های دیجیتال 2 و 3 آردوینو برای تبادل داده با ماژول WIFI تنظیم شده اند.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

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