آردوینو و ESP8266 جلسه 6

معرفی ESP8266

مطمعناً با ماژول وای فای ESP8266 مخصوصاً از نوع 01 آشنایی دارید. ما در سال‌های گذشته و در سایت قدیم در مقالات راه اندازی ماژول WiFi وای فای ESP8266 و ریموت وای فای با ESP8266 و بسکام در مد AP و
مرورگر اینترنت با ESP8266 و بسکام Bascom و ریموت کنترل با ESP8266 با مودم واسط (IP Remote) به اندازه کافی در مورد این ماژول توضیح داده‌ایم. در تمام جلسات پیشین از firmware پیشفرض ESP8266 که به AT Command مشهور است استفاده کرده بودیم و در محیط Bascom کد می‌زدیم. اما در جلسه ششم آموزش آردوینو قصد داریم با کتابخانه‌های قدرتمند C و ++C و  کامپایلر آردوینو داخل حافظه فلش خود ماژول کدنویسی کنیم.

نصب برد ESP8266 در آردوینو

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

برای نصب این گروه برد مخصوص آردوینو از منوی File روی Preferences کلیک کرده و در پنجره باز شده در قسمت Additional Boards Manager URLs در جلوی فیلد روی علامت شبیه پنجره کلیک کرده و در پنجره کوچک آدرس

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

را وارد و هر دوپنجره را OK می‌کنیم. ممکن است به ابزارهای عبور از تحریم هم نیاز پیدا کنید. این قسمت از آردوینو برای افزودن بردهای جدید به کار می‌رود. در صورتی که از بردهای متنوعی استفاده می‌کنید، URL ها را زیر یکدیگر اضافه کنید.

 

 

حال روی Tools>Board>Boards Manager  کلیک کرده و  عبارت ESP8266 را جستجو و نصب می‌کنیم.

بعد از نصب مجموعه برد از منوی Tools روی Board و سپس ESP8266 Boards کلیک کرده و اگر قصد دارید که با ماژول تنها کار کنید روی Generic ESP8266 Module کلیک کنید. در صورتی که می‌خواهید با ماژول‌های آماده مثل NodeMCU یا WEMOS کار کنید می‌توانید یکی از آنها را برگزینید. ماژول های NodeMCU یا WEMOS دارای مبدل USB به سریال داخلی و تبدیل سطح منطقی هستند و برای شروع کار استفاده از آنها پیشنهاد می‌شود. اما در صورتی که مایلید ماژول ESP8266-01 رابه طور مستقیم پروگرم کنید قسمت بعدی را بخوانید.

 

ساخت پروگرامر ESP8266

برای ساخت پروگرمر ESP8266 به یک ماژول USB به TTL (ترجیحاً با مد انتخاب 3.3 ولت) احتیاج دارید. در صورت استفاده از ماژول 5 ولت حتما باید سطح منطقی روی پایه RX ماژول ESP8266 را با کمک تقسیم مقاومتی به 3.3 ولت کاهش دهید (از این نقشه استفاده کنید) سپس مداری مطابق شکل زیر ببندید:

 

ما از یک ماژول مبدل USB به سریال FT232 با امکان تنظیم سطح منطقی IO ها روی 3.3 ولت استفاده کرده‌ایم که اتفاقاً خروجی ولتاژ 3.3 ولت نیز داشته و تغذیه ماژول را هم تامین می‌کند:

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

 

بعد از ساخت پروگرمر نوبت به تست و نحوه پروگرم کردن می‌رسد که در بخش بعدی توضیح می‌دهیم.

 

آپلود اولین برنامه روی ماژول ESP8266-01

برای تست ماژول یک پروژه آماده چشمکزن از آدرس File>Examples>ESP8266>Blink باز کنید. سپس از منوی Tools پورت ماژول را انتخاب نمایید. حال کلید Prog را روی پروگرامر نگه داشته و در همین حال کلید RESET را فشار دهید و رها کنید. اندکی پس از رها کردن کلید RESET کلید Prog را نیز رها کنید. در واقع با این کار پایه GPIO-0 ماژول را در حین روشن شدن ماژول زمین کرده‌اید. در این صورت ماژول آماده دریافت برنامه از پورت سریال خواهد بود. سپس از منوی Sketch روی Upload کلیک کنید یا کلید فلِش را بزنید و صبر کنید تا برنامه وارد ماژول شود.

 

 

 

 

اگر پروگرم شدن با موفقت انجام شود عبارتهایی مانند زیر را مشاهده خواهید کرد:

 

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

 

برنامه تست به شکل زیر است:

در این برنامه LED_BUILTIN بصورت پیشفرض پایه GPIO2 ماژول می باشد که از طریق منوی Tools می توانید آن را تغییر دهید. دقت داشته باشد که ما دو نوع ماژول ESP8266-01 داریم؛ یکی 01 و دیگری با پسوند S یعنی ESP8266-01S که در شکل زیر هر دو را مشاهده می‌فرمایید:

ماژول سمت راست ESP8266-01 و ماژول سمت چپ ESP8266-01S می باشد. از ماژول شما از نوع S باشد فقط یک LED دارد که قطب منفی آن به پایه GPIO2 متصل است. یعنی با LOW کردن پایه 2 چراغ روشن می‌شود. اگر ماژول شما از نوع بدون پسوند S و با دو عدد LED آبی و قرمز باشد حتما از منوی Tools گزینه Builtin Led را روی 1 قرار دهید. در این نوع ماژول نیز قطب منفی LED به پایه 1 متصل شده است. توجه داشته باشید که پایه 1 در این دو مدل ماژول در دسترس کاربر قرار ندارد و فقط پایه های 0 و 2 به بیرون سیم کشی شده‌اند. هنگام کار با پایه 0 دقت کنید که هر گز این پایه با مقاومت کم اهم یا ترانزیستور به نحوی به زمین متصل نشود چرا که به محض روشن شدن، ماژول وارد مد برنامه‌ریزی می‌شود و برنامه داخل فلش را اجرا نمی‌کند. همچنین پایه های CH_PD یا EN و پایه RESET ماژول همیشه باید با مقاومت حدود 4.7 الی 10 کیلو اهم Pullup شوند تا ماژول بصورت پایدار کار کند.

کمی بیشتر

در پوشه Examples  و در زیر مجموعه ESP8266 مثالهای فراوانی وجود دارد که می توانید آن ها را بررسی کرده و اجرا کنید. ما سعی می‌کنیم ان‌شاء‌الله در جلسات آتی برخی از مثال‌های کاربردی را مورد بررسی قرار دهیم. کار با ماژول Wi-Fi نیازمند درک صحیح از مفاهیم شبکه، IP و موارد مرتبط می‌باشد. حتما قبل از کار عملی در این زمینه مطالب تئوری زیادی در خصوص نحوه کار شبکه ها و کلاسهای IP مطالعه کنید تا سردرگم نشوید. البته می‌توان اصلا از قابلیت Wi-Fi این ماژول استفاده نکرد و فقط بعنوان یک میکروکنترلر قدرتمند با حافظه فلش 1 مگابایت و یا بیشتر نیز به آن نگاه کرد که برای اجرای برنامه‌های آفلاین و در مواقعی که نیاز به سرعت بالا می‌باشد قابل استفاده است. با این حال استفاده از بخش Wi-Fi و امکان اتصال به شبکه جهانی اینترنت مزیت اصلی استفاده از این ماژول به شمار می‌رود و نمی‌توان آن را نادیده گرفت. به عنوان یک ایده یا طرح کلی می‌توان ESP8266 را قلب تپنده IoT یا اینترنت اشیاء نامید.

 

 

 

منابع

https://forum.arduino.cc/t/esp8266-01-module-flashing-break-through-at-command-firmware/322821

بازدیدها: 387

4 دیدگاه دربارهٔ «آردوینو و ESP8266 جلسه 6»

  1. سلام واقعا دستتون درد نکنه خدا خیرتون بده ان شاالله خیلی عالی توضیح دادین
    استاد اگه بخواهیم ماژول ESP8266-01 رو به جای کابل رابط بین میکروکنترلر و گوشی اندروید جا گذاری کنیم باید چه تنظیماتی و از چه برنامه‌ای استفاده کنیم واگر هزینه داشته باشد حاضرم بپردازم چون نیاز دارم ممنون از لطفتون

    • سلام خواهش میکنم. می تونید با آردوینو یک وب سرور روی ESP8266 ایجاد کنید و ازیک برنامه Socket بر روی اندروید با ماژول ارتباط بگیرید. نیاز به یادگیری اندروید استودیو در سمت موبایل و کار با کتابخانه ESP8266WebServer در سمت ماژول هست.

    • سلام وقتتون بخیر و نیکی
      ممنونم از پاسختون استاد یه عرض دیگه داشتم منظورم دیتای خروجی atmega 32 رومیخواهم بدم به ESP01 و ESP01 هم اين دیتا رو پخش کنه و من هم اون دیتا رو با گوشی اندرویدی که یک نرم‌افزار اسکنر دارم در نرم‌افزار اون دیتا رو مشاهده کنم یعنی گوشی فقط گیرنده هست و تنظیمات ات کامند هم لطف فرمایید ان شاالله که روزیتون از طرف خدا چندین برابر بشه ان شاالله

دیدگاه‌ها غیرفعالند.