راه اندازی ESP8266 بدون نیاز به میکروکنترلر با آردوینو ۱٫۶٫۶

راه اندازی ESP8266 بدون نیاز به میکروکنترلر با آردوینو ۱٫۶٫۶

با سلام این بار می خوام آموزش راه اندازی ESP8266 سری ESP-01 بدون نیاز به میکروکنترلر و با آردوینو رو براتون اینجا قرار بدم. اول از هر چی باید بهتون بگم که این ماژول مجهز به حافظه فلش به شماره ۲۵Q40BT با ظرفیت ۵۱۲KB که با پروتکل SPI با چیپ ESP8266 ارتباط برقرار می کند و معمولا حدود ۱۹۸,۶۱۲ بایت به ماژول اختصاص داده می شود و همچنین ۸۱,۹۲۰ بایت RAM در اختیار شما قرار می دهد که ۳۳,۰۱۴ بایت از این فضا به خود چیپ اختصاص داده می شود.

برای مشاهده لینک ها Login یا Register کنید.برای مشاهده لینک ها Login یا Register کنید.

در این سری شما نهایتا فقط به چهار پایه RX ، TX ، GPIO2 و GPIO0 دسترسی دارین که البته با اتصال ماژول از طریق پورت سریال و ارسال دستور از ESP8266 به میکرو کنترلر می تونید پایه ها رو توسعه بدین. با توجه به فضای خیلی زیاد حافظه فلش و رم نیاز به اتصال به میکروکنترلر برای راه اندازی وای فای و حتی اتصال به بلوتوث نمی باشد. حالا شروع می کنیم طریقه راه اندازی ماژول رو با آردوینو ۱٫۶٫۶ .

نصب آردوینو ۱٫۶٫۶ :

به آدرس برای مشاهده لینک ها Login یا Register کنید.  بروید و نسخه ۱٫۶٫۶ را دانلود کنید و نصب کنید ، البته ار نسخه های جدیدتر یا قدیمی تر هم می توانید استفاده کنید اما من روی این نسخه تست زدم و آموزش رو هم روی این نسخه اجر می کنم.

نصب و پشتیبانی بردهای ESP8266 در آردوینو :

بعد از نصب آردوینو در ابزار بر روی گزینه File و سپس بر روی Preferences کلیک کنید تا پنجره ایی همانند شکل ۲ باز شود. بعد آدرس زیر رو در  جلوی گزینه Additional Moards Manager URLs وارد کنید و دکمه OK را کلیک کنید.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

برای مشاهده لینک ها Login یا Register کنید. شکل ۱ برای مشاهده لینک ها Login یا Register کنید. شکل ۲

حالا به Tools بروید و بر روی Board و بعد Boards Manager کلیک کنید. تا پنجره ایی همانند شکل ۴ باز شود. نکته ایی اینجاست که باید خدمت شما عرض کنم اونم اینه که در اکثر مواقع برای نصب بردهای ESP8266 نیاز به ف.ی.ل.ت.ر ش.ک.ن پیدا می کنید چون بعد از وارد کردن آدرس همانند شکل زیر برد esp8266 اضافه نمی شود. خوب حالا اگر در هنگام نصب ورژن بالاتر هم موجود بود شما همون ورژن ۲٫۰٫۰ رو نصب کنید تا مشکلی در حین آموزش پیش نیاد.

برای مشاهده لینک ها Login یا Register کنید. شکل ۳ برای مشاهده لینک ها Login یا Register کنید. شکل ۴

اتصال و برنامه ریزی ماژول :

بعد از تکمیل نصب برد که حدود ۱۵۰ مگابایت می باشد برنامه را یک بار ببندید و مجددا باز کنید تا بردها و سمپل ها اضافه شوند. حالا توبت اتصال برد به کامپیوتر و برنامه ریزی اون می باشد. اگر از مبدل برای مشاهده لینک ها Login یا Register کنید. موجود در برای مشاهده لینک ها Login یا Register کنید. استفاده می کنید همانند شکل ۵ قاب رو برداری و سیم قرمز رو به ۳٫۳ ولت وصل کنید.(این قسمت اختیاری می باشد و شما می توانید از تغذیه ۳٫۳ ولتی برد های arduino هم استفاده کنید.).

نکته:

۱٫ هرگز ماژول رو به ولتاژ ۳٫۳ بالاتر وصل نکنید.

۲٫ در صورت استفاده از برد آردوینو برای تغذیه ماژول از آداپتور برای روشن کردن برد آردوینو استفاده نکنید.

۳٫ سعی کنید از تغذیه مشترک برای برد آردوینو و ماژول ESP8266 استفاده کنید.

برای مشاهده لینک ها Login یا Register کنید. شکل ۵

حالا نوبت به اتصال ماژول به کامپیوتر می رسد. طبق شکل ۶ و توضیحات زیر اتصالات رو به صورت صحیح انجام دهید.

GND رو به پایه GND ماژول

VCC 3.3 رو به پایه VCC و CH_PD ماژول

TX رو به پایه RX ماژول

RX رو به پایه TX ماژول وصل کنید.

تا اینجا ارتباط بین ماژول و کامپیوتر برقرار است و آماده ارسال و دریافت اطلاعات می باشند. حالا برای برنامه ریزی ماژول ابتدا باید پایه GPIO0 رو به GND متصل کنید و پایه RST رو هم یک لحظه به GND وصل کنید تا ماژول ریست شود به حالت برنامه ریزی برود. دقت کنید بعد از این مراحل حداکثر تا چند ثانیه بعد عملیات برنامه ریزی رو آغاز کنید.

برای مشاهده لینک ها Login یا Register کنید. شکل ۶

حالا می ریم سراغ نرم افزار آردوینو. اول از هر چی همانند شکل ۷ برد Generic ESP8266 Module انتخاب کنید سپس باود ریت رو بر روی ۱۱۵۲۰۰ یا در صورت نیاز پایین تر قرار دهید و بعد پورت مناسب رو هم انتخاب کنید. به باقی تنظیمات دست نزنید.

برای مشاهده لینک ها Login یا Register کنید. شکل ۷

بعد به قسمت نمونه کدها بروید و همانند شکل ۸ نمونه کد WiFiAccessPoint رو انتخاب کنید و سپس کد رو کامپایل کنید تا از صحت عمکرد کتابخانه ها و دیگر تنظیمات مطمئن شوید. اکنون نوبت به آپلود کردن کد می رسه اگر تمامی مراحل را درست انجام داده باشید بعد از آپلود کردن برنامه همانند شکل ۹ برنامه شروع به آپلود شدن در ماژول می شود. لازم به ذکر است به دلیل پایین بودن باود ریت مراحل آپلود قدری طول می کشد پس عجله نکنید و تا نمایش پیغام Upload Compelet منتظر بمانید.

برای مشاهده لینک ها Login یا Register کنید. شکل ۸ برای مشاهده لینک ها Login یا Register کنید. شکل ۹

اگر از نمونه کد WiFiWebServer استفاده کردید از برای مشاهده لینک ها Login یا Register کنید. می تونید app اندرویدی و سورس کد اندرویدی رو دانلود کنید و برنامه رو تست بزنید. امیدوارم تا اینجا مفید واقع شده باشه. منتظر ادامه آموزش به همراه برنامه اندروید باشید.

نکته:

در سری ۷ پایه ۱۵ باید به گراند وصل باشه.

نوشته شده توسط امیر امرایی

وبسایت

68 ديدگاه

  1. […] راه اندازی ESP8266 بدون نیاز به میکروکنترلر با آردوینو ۱٫۶٫۶ … […]

    • yk گفت:

      سلام من مطالبی در مورد راه اندازی مازول esp خوندم اکثرا از برنامه ی جانبی برای کانفیگ و درایور و مبدل سریال بهusb استفاده کردن یعنی این روش میتونه جایگزین باشه و اینکه برای مدل ۰۷هم همینه؟؟

  2. mojtaba32 گفت:

    سلام. خیلی ممنون از مطالبتون.
    منتظر ادامه هستیم. مخصوصا کد نویسی بعد از این مرحله

  3. amin گفت:

    سلام. نحوه ارتباط دو تا از این ماژول ها به هم رو هم توضیح بدید
    مثلا یکی باشه کلاینت او یکی سرور. بتونن به هم پیام ارسال کنن.

    • امیر امرایی گفت:

      ببخشید من الان دوتا ماژول در دسترس ندارم ولی برای این کار فقط کافی است یکی از ماژول ها رو روی مد اکسس پوینت و دیگری رو استیشن تعریف کنی.
      که اگه از نمونه کد های WiFiClient و WiFiWebServer اسفاده کنی و با نمونه کد WiFiAccessPoint وب سرور رو اکسس پوینت تعریف کنی به نتیجه ایی که می خوای می رسی.

      ولی انشاالله حتما نحوه ارتباط دو تا ماژول با یکدیگه رو می ذارم .

  4. meke گفت:

    درود دوست عزیز
    من برنامه رو باروش شما نصب کردم ولی هنگام وریفای کردن کلی ایراد میگیره از جمله txt , وبعضی از کتابخانه ها رو درواقع من تو این زمینه تازه کارم ولی خیلی دوستدارم که روش کار با وایفای ماژول رو بیاموزم در صورت ممکن محبت کنید راهنمائی های لازم را بفرمائید
    سپاسگذار محبت شما هستم

  5. meke گفت:

    درضمن من هم با آردوینو مگا و هم با یونو ونرم افزار آردوینو ورژن ۱٫۶٫۷ هم تست میکنم و درحال حاظر هم دارم با نرم افزار ۱٫۶٫۵ تست میکنم که هنوز لایبرری دانلود نشده دارم دانلودش مکنم ممکن هستش با این ورژن جواب بده نمیدونم.
    ایا میشه برناه رو بدون آردوینو وبا usb serial وارد esp8266 کرد؟
    برا ج.ابتون سپاسگذارم.

    • امیر امرایی گفت:

      بله میشه.
      به C:\Users\username\AppData\Local\Temp بروید، البته این پوشه مخفی است پس از حالت Hidden خارجش کنید و بعد محتویات این پوشه رو تا جایی که به شما دسترسی می ده پاک کنید. حالا آردوینو رو اجرا کنید و برنامه رو کامپایل کنید متوجه می شید که یه فولدر که با build شروع میشه ایجاد می شه حالت وارد پوشه بشید و دنبال فایلی با پسوند bin با نام پروژه تون بگرید و اون رو از طریق نرم افزار ESP8266Flasher.exe روی ماژول آپلود کنید.

    • امیر امرایی گفت:

      با یه نسخه بالاتر که جواب میده ، پایین تر هم باید جواب بده.
      نیاز به mega و uno تو این حالت نداره

  6. aban گفت:

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

  7. مجید گفت:

    سلام
    من برای اولین بار که به سراغ آردینو اومدم. مطالب خیلی خلاصه و مفید بود وسریع به جواب رسیدم.
    ممنون

  8. امیرحسین گفت:

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

  9. امیرحسین گفت:

    سلام
    ممنون از جوابتون
    اما در برنامه روی ESP چطور به پایه های GPIO دسترسی دارید . دستور AT آن چیست ؟

    متشکرم

    • امیر امرایی گفت:

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

      • امیرحسین گفت:

        سلام
        ممنون از توضیحتون
        من متاسفانه با بردهای آردینو کار نمی کنم . با AVR با استفاده از کدویژن کار می کنم
        آیا کتابخانه ای برای استفاده در C می شناسید ؟

        متشکرم

      • امیر امرایی گفت:

        برد های آردوینو از میکروکنترلرهای avr مثل ATMEGA328 و ۲۵۶ استفاده می کنه ، این تا اینجا.
        برنامه نویسی هم به زبان C هست. پس برای شما مشکلی پیش نمیاد.
        حالا به جای اینکه کلی وقت بذاری برای اینکه کتابخانه پیدا کنی برای کدویژن یه کم وقت بزار آردوینو رو یاد بگیر. من خودم قبلش با بسکام کار می کردم بعد که قابلیت های آردوینو دیدم کلا اومدم روی آردوینو.
        و این برای شما خیلی راحتره.

      • امیرحسین گفت:

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

        متشکرم

      • امیر امرایی گفت:

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

  10. امیرحسین گفت:

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

    بازهم متشکرم که یک جمله به من گفتید .

  11. رضا گفت:

    سلام استاد من با برد آردوینو wemos di خیلی راحت کار می کنم و نتیجه هم می گیرم. ولی وقتی که خود ماژول ESP8266 – 12E رو با روشی که شما هم به آن اشاره فرمودید پروگرم می کنم بعد از پروگرم کردن کلاً کامپیوتر پورت سریالی که بهش وصل شده بود رو گم می کنه، انگار که ماژول رو خارج کرده باشی و اگه GPIO0 رو هم از منفی مدار جدا کنی باز هم هیچ فرقی به حالش نمیکنه دکمه ریست رو هم که فشار میدی همینطوریه علت چیست؟
    با نرم افزارهای اندرویدی که از اینترنت دانلود کردم یا خودم نوشتم به ماژول D1 وصل میشم ولی به خود ESP8266 نمیتونم وصل بشم. ممنون میشم راهنمایی بفرمایید.

  12. kaziNa گفت:

    سلام
    من بعد از آپلود برنامه با این هشدار و ارور مواجه میشم:
    warning: espcomm_sync failed
    error: espcomm_open failed
    میشه لطفا کمکم کنید. واسه بروژه دانشگام موندم و به همین برنامه نیاز دارم فک کنم

  13. احمدرضا گفت:

    سلام من ماژول ESP8266 را به صورت web server راه اندازی کردم. بطور مثال از طریق موبایل فرمان میدهم تا یک LED روشن شود. مشکل من اینست که وقتی برق قطع و وصل میشود آن LED را که قبلا فرمان داده بودم روشن شود دیگر روشن نیست. و دوباره باید فرمان دهم تا روشن شود. انگار وقتی برق قطع و وصل میشود ماژول ریست میشود و کد ها را دوباره از اول میخواند. من میخواهم هر فرمانی را که به ماژول میدهم در حافظه اش ذخیره شود به طوری که وقتی برق قطع و وصل شد ماژول همان فرمان هایی را که قبلا از طریق موبایل بهش داده بودم دوباره اجرا کند.

  14. O_O_O_O گفت:

    آیا حافظه eeprom روی هیچ کدام از ماژول ها یا برد های esp8266 وجود دارد؟

  15. dehghan13 گفت:

    سلام.
    چطور میشه برنامه دانلود شده را جایی ذخیره کرد تا در صورت نصب مجدد ویندوز لازم نباشه دوباره ۱۵۰مگ دانلود کرد و یا حتی لایبری را به دیگران داد تا مجبور به دانلود نباشند. ممنون

  16. O_O_O_O گفت:

    سلام مرسی از سایت خوبتون
    من با سه تا برد esp8266 مدل wemos D1 در حالت station(یعنی برد با مودم در ارتباط است) سه تا لامپ را در جاهای مختلف خانه به وسیله موبایل کنترل میکنم. حدودا هشت تا موبایل و تبلت و لپ تاپ هم با مودم در ارتباطنند. بعد وقتی یک برد دیگر هم اضافه میکنم تا بتوانم یک لامپ دیگر در یک قسمت دیگر از خانه را کنترل کنم ارتباط یکی از دستگاه ها (موبایل ، تبلت ، لپ تاپ ، یا یکی از برد های esp8266 ) قطع میشود. مشکل چیست؟

  17. zohregh گفت:

    سلام.بعد از کامپل کردن از من این خطا رو میگیره.باید چه کار کنم؟
    error :Failed to open COM3
    error :espcomm_open failed
    error: espcomm_upload_mem failed

  18. amir_assadi گفت:

    با سلام, من ماژول esp-05 دارم و این ماژول دارای ورودی و خروجی نیست. میخواستم بدونم راهی وجود داره که بتوان روی ماژول برنامه ریخت؟ در ضمن من از طریق منبع تغذیه خارجی و با استفاده از ماژول مبدل منطقی نیاز ۳٫۳ ولت ماژول را برآورده کردم. زمینهای منبع تغذیه خارجی و برد آردوینو مگا رو هم به هم وصل کردم ولی با چندین کتابخانه که از اینترنت گرفتم نتونستم با آردوینو وای فای رو راه اندازی کنم. نه مثالهای وب سرور- نه حالت toggle led و نه at command و ….. . نکته دیگه ای رو که باید بگم این است که ماژول در حالت عادی ۷۰ میلی آمپر از تغذیه میکشد و اسم ماژول به نام AI_THINKER_ 041F73 بر روی لپ تاپ و موبایل من نمایان میشود که به نظر نمایانگر SSID و PASS این ماژول میباشد. در هر حال من از سیم بندی RX , TX رو هم به ترتیب به پورتهای مختلف از RX1-TX1 گرفته تا RX3-TX3 و همچنین از پینهای PWM هم استفاده کردم.(TX ماژول به RX و RX ماژول به TX). با تمامی این اوصاف تا به الان موفق به راه اندازی نشدم. در صورت امکان بنده را راهنمایی بفرمایید. من حتی میتوانم کتابخانه ها و مثالهایی که تست کردم و نحوه سیم بندی که انجام دادم را هم برای شما بفرستم.

  19. amy گفت:

    برای اینکه ماژول درحالت station تعریف بشه هم باید به همین صورت برنامه ریزی بشه؟اصلا مد station با مد access point چه تفاوتی داره؟

    • امیر امرایی گفت:

      بله.
      access point = اکسس پوینت یعنی نقطه دسترسی ، نقطه ایی که دستگاه های از طریق اون به یه شبکه وصل می شن. مثل مودم شما که با گوشی بهش وصل می شی.
      station = استیشن یعنی ایستگاه که باید به یه اکسس پوینت وصل بشه ، گوشی شما یک استیشن است.

  20. yk گفت:

    سلام ، وقتتون بخیر
    من به یه مشکل دیگ برخوردم برای ارسال at command ها ،بعد از ارسال زمانی حدود چند دقیقه میبره بعد یه خط از نوشته های در هم شده میفرسته bude rate زو هم یه بار ۹۶۰۰یبار ۱۱۵۲۰۰گذاشتم ولی بازم همون شد؟؟ الان ایراد ز چیه

  21. panapa گفت:

    سلام
    بعد از اینکه تمام مراحل رو به درستی انجام دادیم میتونیم به وسیله ی برنامه اندرویدی که گذاشتید پایه های gpio رو خاموش و روشن کنیم؟؟

  22. علی گفت:

    سلام
    بعد از اینکه همه این کارار رو کردیم و ماژول راه اندازی شد چجوری
    مثلا با gpio 2 یه led رو خاموش روشن کنم از طریق وای فای گوشی

  23. حسن گفت:

    سلام چطوری میتونم ماژول رو ریست فکتوری بکنم؟

  24. amir گفت:

    سلام امیر اقا من چندتا سوال داشتم درباره یه پروژه ای که میخوام ببنم با esp خواستم بدونم میتونم تو تلگرام با هاتون در ارتباط باشم ؟؟
    اگر بشه خیلی ممنون میشم

  25. esi گفت:

    سورس کد لینکش خراب

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

دیدگاه خود را بیان کنید

شما باید وارد شوید تا بتوانید نظر دهید.

انتشار نوشته هاي اين وبگاه در سايت ها و نشريات تنها با ذکر نام و درج لينک مجاز است.
طراحي شده توسط ميلاد دهقان عضو گروه رویین