روشهای پروگرام کردن ماژولهای ESP01 و ESP01s

روش های پروگرام کردن ماژول های ESP01 و ESP01S - (قسمت اول)
این مطالب آموزشی شما را با روشهای پروگرام کردن ماژول ESP01 و ESP01S آشنا میکند. همانطور که در مقاله تفاوتهای این دو ماژول ESP01 و ESP01S بیان شد، برای این کار 4 روش وجود دارد که در هر کدام از روشها از ماژول و برد توسعه مشخص استفاده میشود. برای اجرای هر روش نیاز به ابزارهای سخت افزاری و و تنظیمات نرم افزاری مشخص هستیم که در ادامه توضیح خواهیم داد. در ابتدای هر روش، وایرینگ مدار را پیاده سازی و اجرا میکنیم و سپس به سراغ پروگرام نرمافزاری ماژول میرویم. با ما همراه باشید.
روش اول : ماژول پروگرامر و مبدل ESP01/ESP01S به USB
در این روش ابتدا ابزارها و وسائل سخت افزاری را که در لیست زیر بیان شده تهیه و در دسترس قرار میدهیم.
سیم و سیم جامپر
ماژول پروگرامر و مبدل ESP01 به USB
پین هدر تک ردیفه
میکرو سوئیچ
Arduino IDE





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

توجه: همانطور که میدانید، ماژول های ESP6288 بصورت پیش فرض با توجه به Firmware نصب شده مخصوص خودشان که بر روی آنها قرار دارد توسط دستورات کنترلی (AT Command) قابل هدایت و کاربری هستند. نکته مهم اینجاست که پس از عمل پروگرام کردن ماژول، این خاصیت غیر فعال میشود. اما میتوان به روشهایی که در مقاله() توضیح خواهیم داد مجددا Firmware را بر روی ماژول فعال کرد.


پس از بستن مدار بصورت شماتیک بالا، در ادامه به سراغ پیش نیازها و تنظیمات نرمافزاری میرویم. مراحل تنظیمات نرم افزاری بصورت زیر خواهد بود.
1- نصب پلتفرم نرمافزاری Arduino IED
بدین منظور که از آدرس (arduino.cc/en/Main/Software) اقدام به نصب پلتفرم نرم افزاری Arduino IED میکنیم.
2- نصب پکیج نرمافزاری و یا فایل توابع کتابخانه بردهای خانواده ESP8266
-از درون برنامه Arduino IED به مسیر File> Preferences می رویم.
– از سربرگ Setting در بخش Additional Boards Manager URLs، آدرس (http://arduino.esp8266.com/stable/package_esp8266com_index.json) را وارد کرده و سپس OK را انتخاب می کنیم.
-سپس در منوی Tools > Boards (Ctrl+Shift+B) > Board Manager > ESP8266 (ESP8266 by ESP8266 Community) عمل جستجو را انجام داده و اقدام به نصب آخرین ورژن می کنیم.
3- نصب درایور چیپ مبدل CH340 (در صورت نیاز)
گاهی در صورت عدم شناسایی پورت و یا درگاه، درایور چیپ مبدل ارتباطی ماژول USB به TTL (UART) باید نصب می شود. معمولا در سیستم عاملهای ویندوز 10 و پایین تر نصب درایور صورت می پذیرد. بدین منظور به آدرس (https://www.wch-ic.com/download/CH341SER_ZIP.html) وارد شده و اقدام به نصب و راه اندازی درایور کنید. بدین صورت پورت ارتباطی ماژول به سیستم عامل شناسایی می شود. بهتر است قبل از نصب از عدم اشغال پورت های دیگر توسط دستگاه های متصل به لپ تاپ و یا PC اطمینان حاصل کنید. تنها پورت فعال را اتصال ماژول به سیستم در نظر بگیرید.
4- تنظیمات درون برنامهی آردوینو
قبل از اقدام به آپلود و انتقال برنامه به ماژول، از پلتفرم نرم افزاری Arduino و از منوی Tools موارد زیر را تنظیم کنید. حتما دقت کنید Board را بر روی گزینه “Generic ESP8266 Module” قرار دهید. پورت در دستگاه شما ممکن است متفاوت باشد. با توجه به توضیحات بالا در شناسایی درگاه، Port فعال ماژول در بخش Port نمایش داده می شود. و از لیست بیرون رونده این منو می توانید بصورت دستی اقدام به انتخاب پورت متصل و فعال ماژول کنید.

پس از تنظیمات نرم افزاری برای تست و اجرای عمل پروگرام کردن ماژول، یک فایل Sketch جدید ایجاد کرده و کد برنامه زیر را در آن قرار می دهیم.
در این مرحله همانطور که کلید Micro Switch مدار ماژول رو پایین نگه داشتید، ماژول پروگرامر را به لپ تاپ و یا PC متصل کنید. سپس از منوی Sketch > Upload را انتخاب کرده که برابر با کلید میانبر(Ctrl+U) است. پس از چند ثانیه پیام Uploading همانند شکل(2) در بخش پیامهای خروجی برنامه Arduino IDE به صورت زیر مشاهده خواهید کرد.

در هنگام مشاهده اولین خط پیام درصد قرارگیری اطلاعات و کدهای برنامه در حافظه(Writing at 0x00000000… (7 %) )، کلید Micro Switch را که در حالت فشار قرار دادید رها کنید. سپس چند ثانیه منتظر بمانید تا عمل قرارگیری کدبرنامه بر روی ماژول ESP01S/ESP01 کامل شود و پیامی همانند شکل(3) را مشاهده کنید. تبریک می گوییم😊 شما موفق به پروگرام کردن ماژولهای ESP01 , ESP01S شدید.

خروجی برنامه را در Serial Monitor به صورت شکل(4) مشاهده خواهد کرد.

روش دوم : بکارگیری مبدل USB-UART CP2104 (ESP LINK V1.0 ESP8266-01)
در این روش از ماژول پروگرامر با مدل ESP LINK V1.0 ESP-01 استفاده میشود که در شکل(5) مشخص است. این روش پروگرام، بسیار سریعتر از روش اول است با این تفاوت که ماژول مبدل USB-TTL CH340G در روش قبلی، از نظر قیمتی مقرون به صرفه تر نسبت به برد مبدل فعلی بحساب میآید. همچنین فرآیند کار برنامه ریزی در مرحله آماده سازی سخت افزاری را راحتر کرده است. بدین جهت که، اضافه شدن یک دکمه فشاری (RST( Micro Switch بر روی برد مبدل و همچنین یک پین هدر 2×4، موجب حذف زحمت لحیم کاری شده است.


از این رو، تنها نیاز است با بررسی پایههای پین هدر و اتصال پینهای GPIO0 به GND توسط یک سیم جامپر 10سانت مادگی به مادگی به یکدیگر همانند شکل(7)، فرآیند تنظیمات نرم افزاری Arduino IDE و Uploading را شروع کنید. اما قبل از شروع لازم است که درایور چیپ مبدل CP2104 را دانلود و بر روی سیستم عامل ویندوز در حال اجرای دستگاه (لپتاپ و یا PC) خود نصب کنید.

جهت پروگرام مراحل زیر را به ترتیب ادامه دهید.
1- قرارگیری صحیح ماژول ESP01/ESP01S بر روی پین هدر ماژول مبدل
2- اتصال دو پبن GND به GPIO0 توسط سیم جامپر
3- نصب درایور چیپ مبدل CP2104
4- تنظیمات نرم افزاری در پلتفرم Arduino IDE همانند روش اول و انتقال برنامه موردنظر (Uploading) به ماژول ESP01/ESP01S
توجه: نکته مهم اینجاست که بعد از دیدن پیام مشابه شکل(8)، (…..Leaving… Soft restarting)، باید GPIo0 را Pull UP کنید. بدین منظور که سیم جامپر را از پایههای GPIO0 و GND جدا کنید. سپس Serial Monitor را فعال کرده و در پایان دکمه Micro Switch بر روی برد ماژول مبدل را یکبار فشار داده و رها کنید. در این زمان LED آبی رنگ بر روی ماژول طبق برنامه شروع به چشمک زدن کرده و پیام “IOENET HAVE FOR YOU SUCCESS WISHING” را در سریال مانیتور مشاهده خواهید کرد.

روش سوم: پروگرام از طریق برد Arduino UNO
در این روش با کمک برد آردوینو مدل UNO قصد داریم ماژول ESP01/ESP01S را پروگرام کنیم. بدین منظور همانند دو روش قبل، ابتدا وایرینگ مدار و تنظیمات سخت افزاری کار را آماده میکنیم. و سپس به سراغ مرحله آپلود برنامه نرم افزاری بر روی ماژول می رویم. ابتدا قطعات زیر را آماده می کنیم.
سیم جامپر
برد آردوینو UNO
ماژول ESP01/ESP01S
بردبورد
Arduino IDE





پس از آمادهسازی قطعات بالا، در ادامه همانند شماتیک شکل (9) وایرینگ مدار را پیادهسازی میکنیم.

بدین صورت که پایه RX ماژول ESP01S را توسط یک سیم جامپر به پایه 0←RX آردوینو متصل میکنیم و از طرف دیگر پایه TX ماژول را به پایه 1→TX آردوینو اتصال میدهیم. سپس پایه (CH_PD)EN ماژول را به کمک 3.3 ولت(VCC) ماژول Pull_Up میکنیم. بدین صورت که از پایه تغذیه 3.3ولت آردوینو یک سیم جامپر به بردبورد ارتباط داده و به صورت سری، هر دو پایه EN و 3.3 ولت از ماژول ESP01S را به آن متصل میکنیم. همچنین پایه GPIO0 را نیز به کمک پایه GND ماژول به حالت Pull_Down میبریم (این کار برای قرار دادن ماژول در مد پروگرام با Flash انجام می شود). بدین منظور که یک سیم جامپر از پایه GND به بردبورد متصل کرده و پایه GPIO0 و پایه GND ماژول را به صورت سری در ارتباط با آن قرار میدهیم. پیاده سازی واقعی مدار را در شکل(10) مشاهده بفرمائید.

تا اینجای کار پلتفرم سختافزاری ما تکمیل شد و نیاز است وارد مرحله تنظیمات نرم افزاری و آپلود کد بر روی ماژول شویم. قبل از انتقال کدبرنامه مورد نظر به ماژول که بر اساس سناریوی مشخص و یا پروژه در نظر دارید، ابتدا تنظیمات پلتفرم نرم افزاری Arduino IDE را برای اجرای کد انجام میدهیم. بدین صورت که پس از ورود به برنامه آردوینو، مشابه روش اول و دوم با رفتن به منوی Tools، موارد زیرمنوها را بر روی تنظیمات مشابه شکل(11) قرار میدهید.

حتما دقت کنید تا برد مورد نظر بر روی Generic ESP8266 Module قرارگرفته باشد. نکته مهم اینجاست که، قبل از اتصال کابل USB آردوینو به درگاه کامپیوتر خود، دکمه Reset بر روی برد آردوینو را در حالت فشار نگه دارید. سپس همانطور که این حالت را حفظ کردید، پورت کابل آردوینو را به کامپیوتر متصل کنید و کد برنامه مد نظر خود را پس از نوشتن، از Sketch به آردوینو (در اصل به ماژول ESP01S) و با زدن دکمه آپلود انتقال دهید.
همچنان که کلید Reset را در حالت فشرده نگه داشتهاید و دکمه آپلود از Arduino IDE را کلیک میکنید، باید تا ظاهر شدن پیام شکل(12) که در پنجره خروجی (Output) برای شما نمایش داده خواهد شد دکمه را در حالت فشرده نگه دارید.

پس از ظاهر شده پیام بالا، Serial Monitor را فعال میکنیم و نتیجهای را همانند شکل(13) مشاهده خواهیم کرد. در این وضعیت اگر آردوینو از قبلا پروگرام شده باشد، پیام خود را نمایش خواهد داد. اما به محض نگه داشتن کلید Reset بر روی برد، آردوینو به مد کاری ماژول ESP01S تغییر کاربری میدهد. و نتایج پروگرام بر روی ESP01S در سریال مانیتور نمایش داده خواهد شد. تبریک شما موفق به پروگرام کردن کردن ماژول ESP01S توسط برد آردوینو شدید.

روش چهارم: پروگرام ESP01S/ESP01 به کمک USB به TTL مدل D-SUN با مبدل CP2102
در این روش با کمک ماژول مبدل USB به سریال TTL با تراشه CP2102 شما می توانید به سادگی کار برنامهریزی ماژول را انجام دهید. بدین منظور ابزارهای سخت افزاری زیر را تهیه کنید.
سیم جامپر
ماژول مبدلUSB به TTL با چیپ CP2102
بردبورد
ماژول بیسیم ESP01s
Arduino IDE





سپس مدار سخت افزاری را مشابه شکل (14) پیادهسازی کنید.

لازم به توضیح است برای پیادهسازی مدار همانند شکل(15) کافیست پایه RXD از ماژول D-SUN یا همان USB به TTL را به پایه TX ماژول بیسیم ESP01s متصل کنید. همچنین پایه TXD از ماژول D-SUN را به پایه RX متصل کنید. پایه GPIO0 را نیز به کمک ولتاژ صفر Pull-Down میکنیم بدین صورت که از پایه GND ماژول D-SUN یک ولتاژ صفر به بردبورد متصل کرده و دو پایه GPIO0 و GND از ماژول ESP01S را به صورت سری بر روی بردبورد با پایه GND از D-SUN ارتباط می دهیم. ولتاز تغذیه 3.3 ولت ماژول ESP01s را نیز بطور مستقیم از پایه VCC به پایه 3.3 ولت D-SUN اتصال میدهیم.

پس از نوشتن کد لازم است، تنظیمات نرمافزاری زیر را ، از منوی Tools در آردوینو مشابه شکل(16) انجام دهید.

پس از اعمال تنظیماتی مانند انتخاب برد و پورت شناسایی شده، , مواردی مانند سرعت انتقال داده که معمولا بر روی عدد 115200 است، عمل Uploading برنامه را بر روی ماژول D-SUN انجام میدهیم.
پس از گذشت چند ثانیه و ظاهر شدن پیام Soft resetting مشابه شکل(12) در روش سوم، Serial Monitor را فعال کنید. در این زمان بطور هماهنگ چراغهای LED قرمز رنگ دریافت و انتقال داده ماژول مبدل D-SUN و LED آبی رنگ ماژول ESP01s هر یک ثانیه یکبار شروع به چشمک زدن میکند. برای اطمینان از پروگرام شدن ماژول، باید در سریال مانیتور پیامی مشابه شکل(18) ظاهر می شود. تبریک شما موفق به برنامه ریزی با روش چهارم از روش های پروگرامینگ ماژولهای ESP01S و ESP01 شدید.

اولین دیدگاه را ثبت کنید