سلام.

همانطور که قولش رو داده بودم توی این آموزش می خوام کنترل یک LED رو از طریق گوشی هوشمندمون اونم با wifi در دست بگیریم .

 

توی این آموزش ما مثل آموزش قبلی پایه های ماژول esp8266  رو به برد arduino uno  وصل کردیم با این تفاوت که پایه های TX و RX ماژول ESP8266 به پایه های 10 و 11 برد آردواینو وصل شده.پس ترتیب پایه ها میشه:

ESP8266 pin 3.3v —> Arduino pin 3.3v

ESP8266 pin CH_PD(EN) —> Arduino pin 3.3v

ESP8266 pin GND —> Arduino pin GND

ESP8266 pin TX —> Arduino pin 10

ESP8266 pin RX —> Arduino pin 11

در ضمن ما یک ELD هم جهت روشن و خاموش کردن با وای فای به arduino وصل کردیم که برای اون باید پایه مثبت LED رو به پین 13 آردواینو و پایه منفی اون رو به GND آردواینو وصل کنید.

پس از اتصال درست این پایه ها ، نوبت به آپلود کد مورد نظرمون در آردواینو میرسه.

توی کد توضیحات لازم رو کامنت کردم . اما روش کلی رو توضیح میدم .

کار کرد کد به این صورته که اول ماژول wifi esp8266 رو ریست میکنه و سپس از ماژول درخواست میکنه که ip اصلی ماژول وای فای رو به ما بده (اگه Serial Monitorباز باشه قابل دیدن خواهد بود)

به صورت دیفالت و پیش فرض این ip  عدد 192.168.4.1  هستش (صرفا جهت اطلاع)

سپس به بورد esp8266 با AT COMMAND  میگه که اجازه قبول کردن اتصال کانکشن به ماژول وای فای مون داده بشه.

در آخر هم پورت 9999  برامون باز کن که بهش متصل شیم.

اما بعد از کانفیگ ESP8266  توی قسمت تابع setup ما دستورات ورودی که ماژول وای فای مون از طریق وای فای گرفته رو آنالیز میکنیم .

این دستورات به طور کلی میگه که اگه حرف a ارسال شد، برای ما LED رو روشن کن.

اگه حرف b  ارسال شد LED رو خاموش کن.

و اگه حرف c ارسال شد ، کلا کانکشن رو ببند.

سوالی که پیش میاد اینه که اصلا چطوری این حروف a , b, c رو از طریق WIFI بفرستیم؟

جواب اینه که باید برنامه نویسی سوکت بکنیم مثلا اگه هدفمون app andriod هست باید براش سوکت بنویسیم که به ip ماژولمون که عدد 192.168.4.1 هست سوکت بزنه و به پورت 9999 وصل بشه.

گزینه دوم من که اینجا حال برنامه نویسی اندروید ندارم استفاده از application ای به نام TCP CLient هست.

 

عکس بالا ایکون اون برنامه هست و از گوگل پلی یعنی اینجا می تونید نصبش کنید.تنظیم کردنش بسیار راحته.

ما فرض میکنیم که کدتون رو توی آردواینو upload کردید و حالا با گوشی اندروید به wifi متصل بشید احتمالا اسم وای فای اش AI-THIMKER هستش.بعد از وصل شدن ، اپلیکیشن رو باز کنید و مثل عکس کانفیگش کنید (عکس زیر)

بعد که بازش کنید اگه همه چی درست انجام شده باشه بالا صفحه گوشه سمت چپ مینویشه Connected حالا میتونید فرمان a رو بفرستید و خواهید دید که LED روشن خواهد شد .با b  هم خاموش میشه .و با c از ترمینال میاد بیرون و ارتباط رو می بنده.

همین و تمام شد.

این نکته رو در پایان بگم که این روش کُنده و delay ای در حدود 1 تا 1.5 ثانیه داره .اگه برنامه نویسیتون خوب باشه میتونید این delay رو کمتر کنید.من یک کد دیگه البته برای فروش میذارم توی همین آموزش که کمی بهتر کار میکنه (البته کار خاصی هم نکردم توش) اگه دوست داشتید میتونید بخریدش که این نشانه حمایت شما میشه.

ممنون و موفق  باشید.

51 Comments

  1. با سلام و عرض ادب و احترام
    کدی که برای فروش بود رو هم من گرفتم و دیدیدم ممنون .
    آقا من میخواستم ببینم همین کار رو با استفاده از طریق اتصال به مودم منزل چه طور میتوان انجام داد یعنی از طریق IP Static از بیرون از منزل به مودم وای فای وصل بشم و مودم ئای فای عمل Port Forwarding رو بر روی ماژول ESP8266 انجام بده و سپس بتونم از طریق آردوینو عمل خاموش یا روشن شدن رو انجام بدم .
    ممنون اگه راهنماییک کنید .
    متشکر

    پاسخ
    • سلام. بله دوست عزیز با پورت فورواردینگ میشه .توی آموزش های قبلی تصویر AT کامندهارو گذاشته بودم . فقط کافیه که ماژول روی حالت station mode بره . و بعد از طریق مودم wifi داخل خونه یا محل کار میتونی عمل port forwarding رو انجام بدی .البته الان هم رو همون حالت هست .اگه به روش های جدیدتر علاقه داری ازطریق سایت پیام بذار تا به میلت جواب بدم و راه های جدیدتری رو معرفی کنم.موفق باشی

      پاسخ
  2. سلام و تشکر فراوان بعد از کلی گشت زنی بالاخره تو سایت ایرانی پیدا کردم این سایت خارجی ها روانی میکنه آدمو
    برای تشکر میخواستم پول donate کنم لطفا شماره حساب به ایمیلم بزنید

    پاسخ
  3. exit status 1
    request for member ‘begin’ in ‘1’, which is of non-class type ‘int’

    ارور داره کدت
    حداقل یکبار خودت اجراش می کردی

    پاسخ
  4. با سلام خسته نباشید
    ما ماژول esp8266 -07 رو خریدیم به همراه arduino uno r3 میخاییم ک با کد های شما راه بیاندازیم.
    کد رو اپلود میکنم هیچ اروری نداره ولی وقتی میخام با برنامه بهش متصل بشم میزنه fail to connect

    میخاستم ببینم چجوری میشه اینو راه انداخت
    اگه کمک بکنید ممنون میشم

    پاسخ
  5. با سلام من این برنامه و چند برنامه ی دیگر را تست کردم ولی در سریال مانیتور عبارت OK دریافت نمیشود. از طریق ماژول USB به UART دیتاهای ارسالی و دریافتی به ماژول قابل مشاهده است و کاملا صحیح ارسال و دریافت میشود. ولی در نرم افزار آردویینو به داده های دریافتی از ماژول ESP دسترسی ندارم.( نه به عبارت OK دسترسی دارم و نه به دیتایی که از طریق نرم افزار سوکت پروتکل به ماژول میفرستم) تابع esp.available اجرا نمیشود
    لطفا راهنمایی کنید

    پاسخ
  6. خیلی ممنون مشکلم حل شد. من پایه های 19و18 را به جای 10و 11 استفاده میکردم. نمیدونم چرا با 19 و 18 جواب نمیداد.
    اگه ممکنه یه آموزش برای ارتباط آردویینو و یک صفحه ی وب از طریق ESP بگذارید. توی اینترنت بیشتر آموزشها از طریق ESP بدون استفاده از برد آردویینو میباشد. ممنون.

    پاسخ
  7. سلام یه سوال داشتم که خیلی واسم مهمه ممنون میشم کمکم کنید.
    من یه پروژه با RFID راه انداختم با اردینیو حالا باید این اطلاعات رو بفرستم روی ESP8266 میشه بگید چطور باید اینکار و کنم؟

    پاسخ
    • دوست عزیز ماژول esp8266 به صورت دیفالت از AT کامند استفاده میکنه .برای ارسال به ماژول esp8266 باید جدول فرمان های این ماژول رو داشته باشید.
      اگر شما به صورت تخصصی میتونید ماژول esp8266 رو کانفیگ و پروگرام کنید ، کارتون بسیار راحت میشه.
      در غیر این صورت پیشنهاد من nodemcu هست .در حقیقت nodemcu همون esp8266 و arduino هست که به هم متصل شدند در این حالت میشه خیلی راحت داده ها رو به سریال ماژول wifi ش که همون esp8266 هست انتقال داد.
      موفق باشید

      پاسخ
  8. سلام منم دقیقا میخوام همین کارو کنم یعنی الان یه پروژه دارم با اردینو و یه نود ام سی یو که باید اطلاعات از اردوینو فرستاده بشه به نود ام سی یو یه لاجیک کانورتر نیاز دارم ولی در مورد برنامش نمیدونم باید چی کنم؟مثالی دارید بهم بدید لینکی چیزی فکر کنم باید از مستر اسلیو استفاده کنم فقط نمیدونم از کجا باید شروع کنم؛مرسی از پاسخ گوییتون.

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

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

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

    پاسخ
    • دوست عزیز مشکل از منبع تغذیه هست.باید از 5 ولت و رگولاتور(حتما رگولاتور) استفاده کنی تا جریان لازم برای کار کردش تامین بشه.

      پاسخ
      • عرض کردم؛ در حالت دوم از یه منبع دیگه استفاده کردم ولی باز هم وای فای نداد.
        گفتید از 5 ولت و رگولاتور استفاده کنم؟ ماژول خراب میشه که.

        پاسخ
  12. فک کنم منظورتون رو متوجه شدم از 5 ولت و رگولاتور
    ببینید من میخوامبدون کابل usb کار کنم و آردوینو رو در یک محل جدا نصب کنم
    برای منبع تغذیه هم از یک پاور کامپیوتر استفاده میکنم.12 ولت Vinخود آردوینو رو برام تامین میکنه و 3.3 ولت رو هم میتونم هم از خود پاور بگیرم هم از روی آردوینو

    هر دو حالت رو تست کردم
    وقتی از 3.3 آردوینو استفاده میشه فقط چراغ قرمز ماژول روشن میشه و وای فای نمیده
    وقتی گراند و Vcc ماژول رو جداگانه به گراند و Vcc پاور کامپیوتر(3.3) وصل میکنم چراغ های قرمز و آبی روشن میشه ولی هنوز هم وای فای نمیده

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

    پاسخ
    • این مشکل فقط بخاطر تغذیه نامناسب هست.
      پیشنهاد من استفاده از nodemcu هست بجای arduino و esp8266

      پاسخ
      • استفاده از nodemcu خوبه ولی من الان برای آردوینو و ماژول هزینه کردم و میخوام از همین جواب بگیرم

        درباره منبع تغذیه: کجای کار مشکل داره؟ ولتاژ یا جریانی ک کشیده میشه؟

        پیشنهادتون اینه که با ۵ ولت آردوینو و رگولاتور ۳.۳ ولت کار کنم یا از همون ۳.۳ پاور کامپیوتر استفاده کنم؟

        دلیل این که سمت این پروژه رفتم همین مطلب سایت شما بود. چون شما نتیجه گرفتید انتظار داشتم مشکل زیادی نباشه

        پاسخ
  13. و یک مساله دیگه
    وقتی کد رو آپلود میکنم اون ستاره ها که وسطش نوشتید initiation complete میاد ولی ip ای نمیده

    لطف کنید بگید باید روی سریال مانیتور چه چیز هایی بیاد ک مطمئن بشیم کد درست آپلود شده و آیا این مساله ممکنه دلیل کار نکردن وای فای باشه یا خیر

    پاسخ
    • آره نیاز به جریان داره با ولتاژ 3.3 .
      در کل esp8266 با AT COMMAND کمی مشکل داره .و درست کار نمیکنه
      اما nodemcu همونه ولی مشکلش حل شده.

      پاسخ
      • الان دیدم قیمتای nodemcuواقعا نمی ارزه
        بخصوص من که دارم روی برد چاپی کار میکنم،مونتاژش خیلی سخت میشه و احتمال سوختنش طی لحیم کاری هست

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

        پاسخ
  14. سلام و خسته نباشید .دوست عزیز بنده با نرم افزار اردینیو یک 8266esp را به اینترنت وصل کردم و حتی صفحه وب نوشتم که بشه ال ای دی روی خود espخاموش روشن کرد.حالا میخام با کمک ardunio uno چنتا سنسور متل جی پی اس و دما به این espمتصل کنم.سوالی که هست چجوره با نرم افزار اردینیو این esp به جز سرویس گیرنده به سرویس دهنده ام تبدیلش کنم که نت از گوشی من بگیره بفرسه به بررد بوردی که اردینیو و چنتا سنسور هست..اگر کلشو بزارین ممنون میشم.ممنونم

    پاسخ
    • سلام.
      کلا استفاده از بارگذاری صفحات وب روی خود میکرو کنترلر و esp روش خوب و سریعی نیست.
      بجاش استفاده از تکنولوژی روز دنیا در صنعت iot و استفاده از mqtt و کلا message broker ها رو توصیه میکنم.
      اگه فرصت داشته باشم .آموزش خواهم داد و آموزش سنگینی خواهد شد.

      پاسخ
  15. سلام من کد شمارو کپی کردم و اینکه سخت افزار همچی درسته
    فقط میزنه خطا در کانکت شدن
    مشکلش چبه؟

    پاسخ
  16. fial to connect

    کد اپلود شده
    فقط از (nodmcu esp8266 (ch34OG
    استفاده کردم
    نرم افزار TCP Client
    سخت افزار عین شما

    پاسخ
    • دوست عزیز حدسم اینه که ماژول esp شما بد کانفیگ شده.در اینگونه موارد باید ماژول رو به حالت سریال به arduino وصل کنی و یا از طریق uart ماژول esp رو با at Command دستی کانفیگ کنی.
      روش هاش توی اینترنت هست.
      این نکته رو هم بگم که esp ماژول خسته ای هست و بهترین جایگزین nodemcu هست

      پاسخ
  17. Archiving built core (caching) in: C:\Users\mahdi\AppData\Local\Temp\arduino_cache_874573\core\core_arduino_avr_unowifi_5638c217b04eda8279099c4937887265.a

    پاسخ
  18. سلام
    منو که یادتونه؟ 🙂
    سر این پروژه یدونه esp8266 سوزوندم و رفتم یکی دیگه خریدم
    مشکل قبلی هم همون تغذیه بود که فرمودید، از یدونه رگولاتور 3.3 ولت LF33cv استفاده کردم و 5 ولت آردوینو رو بهش دادم
    همونطور که گفتید یه وقفه 1.5 ثانیه ای داره که خب برای من مشکلی نیست.
    الان سوالم اینه که چطور از ماژول دیتا به روی گوشی بفرستم؟ فرض کنید من به آردوینو یه سنسور دما وصل کردم و میخوام اطلاعاتشو بفرستم به گوشی.
    (اینم میدونم که esp8266 نسبت به nodemcu خیلی ضعیف تره ولی اگه بشه میخوام با همین 8266 کار کنم. nodemcu نمیصرفه برام بخرم)

    پاسخ
    • سلام دوست عزیز.
      بله یادم هست.
      در رابطه با کند بودنش که راه حل داره اما کمی پیچیده هست.
      اول باید توی اردواینو از کلاک خارجی استفاده کنید که اسم بازاریش همون کریستال هست.
      این باعث میشه لَگ ش کمتر بشه.همینطور باید روی ESP کد آپلود کنید تا دیگه از حالت پشتیبانی AT Command در بیاد.بعدش کاملا شبیه nodeMcu میشه.
      در حقیقت تیم توسعه nodeMcu هم همین کار رو کردند.

      اما در رابطه با فرستادن دما ، سورس توی اینترنت زیاده فقط باید کمی سرچ کنید.اما بهترین روشش استفاده از publisher/subscriber ها مثل MQTT و RabitMQ هست.
      موفق باشید.

      پاسخ
  19. سلام

    بزرگوار من قراره یه پروژه بسازم ماشین کنترلی با وای فای که بصورت تانک حرکت کنه(دو تا موتور و طبعا دو تا رله) و میخوام از nodemcu استفاده کنم

    الان همین کد شما رو اگه فقط قسمت عملکردشو تغییر بدم برا تفاوت روشن و خاموش شدن هاش، دیگه چیز دیگه ای لازم نیس تغییر کنه؟ همین کد رو روی آردوینو بریزیم با nodemcu هم مچ کنیم دیگه delay نداره؟

    پاسخ
  20. سلام
    بازم منم 🙂

    آقا من هر چی میگردم تو نت برای این که همین پروژه رو با نود ام سی یو کار کرده باشه نیست.

    همه رو خود nodemcu برنامه نوشتن‌‌ و وصلش کردن، برای من خود آردوینو هم مهمه که باشه
    بی زحمت یه آموزش برا من ایمیل کن یا لینکشو بزار همینجا.
    خودت نداری رو نیکی تی وی چنین پروژه ای رو؟

    پاسخ
  21. سلام ببخشید من بورد WEMOS D1 رو دارم که هسته esp 8266 وای فای داره.متاسفانه وقتی بورد رو روشن میکنم گوشی و لپ تابم وای فایی رو نمیتونن پیدا کنن.
    ممنون میشم کمک کنین.

    پاسخ
  22. salam
    email ya shoamre telephoneteono bedin
    mikham bahaton mashverat konam

    پاسخ

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1000 تومان
خرید
  • این آموزش رایگان است و این خرید فقط و فقط جهت بهبود کدشما می باشدونه چیز دیگر
  • آموزش کنترل سخت افزار با گوشی هوشمند اندروید و WIFI
  • هوشمند سازی با WIFI