اگر تابه حال درباره میکرو های ESP8266 نسخه ۱۲x نشنیدهاید. لازم است بدانید، این میکروها، ارزان، پرقدرت و البته هسته اصلی پروژههای اینترنت اشیا و WiFi را میسازند. این میکروها معمولا در ماژولها یا همان DEVELOPMENT BOARD هایی از جمله Nodemcu یا wemos D1 استفاده میشود. ولی در شرایطی که نیاز به اجرای پروژه با هزینه کمتر است. بایستی از تراشه ESP8266 نسخههای سری ۱۲ استفاده کرد. در این حالت پروژه با میکرو ESP8266 روی یک برد قابل پیاده سازی است. با توجه به ماهیت این میکرو، روش پروگرام کردن آن کمی متفاوت خواهد بود. در این پست دو روش ساده پروگرم کردن میکرو های ESP8266 12x را آموزش میدهم. در ادامه این آموزش با مرجع تخصصی ESP8266 به زبان فارسی، دیجی اسپارک همراه باشید.
روش اول، استفاده از مبدل USB
در این روش با استفاده از مبدل USB به سریال، ماژول ESP8266 12e را پروگرام میکنیم. قبل از هرکاری لازم است که سیمهای کوتاهی را با دقت به پایههای ESP8266 لحیم کنیم. از انجا که این میکرو از نوع smd میباشد. با چالشهایی روبرو خواهیم بود. این کار ممکن است که دشوار به نظر برسد اما با دقت و ارامش قطعا ممکن و قابل انجام است.
مبدل USB به سریال
در این پروژه از هر نوع مبدل USB به سریال میتوانید استفاده کنید. اما من از مدل PL2303hx محصول prolific استفاده کردم. این مبدلها امکان برقراری ارتباط با کامپیوتر از طریق پورت usb را فراهم میکنند. در حقیقت با اتصال این مبدل به کامپیوتر و نصب برنامه درایور، یک پورت سریال مجازی به پورتهای کامپیوتر افزوده میشود. این مبدل قابلیت کار با سیستم عاملهای windows، MAC،android ،linux را دارد. در خروجی این مبدل علاوه بر پینهای txd ،rxd و gnd ولتاژ خروجی ۵v و ۳٫۳v هم در نظر گرفته شده است.
اتصالات مبدل USB به ESP8266
پایه EN ،RST و GPIO0 با یک مقاومت ۱۰K پول آپ میشوند. GPIO15 با یک مقاومت ۱۰K به زمین متصل میکنیم. با این روش به حالت Pull Down تبدیل میکنیم. یک خازن ۱۰ میکرو فارادی بین پایه VCC و GND قرار میدهیم. پایه ۳٫۳ ولت مبدل USB به سریال را به VCC میکرو ESP8266 متصل میکنیم. برای فعال سازی حالت برنامه نویسی میکرو در زمانی که اقدام به آپلود کد روی میکروکنترلر میکنیم. وقتی ESP8266 میخواهد شروع کند پایهی GPIO0 باید LOW شود راحت ترین راه برای این کار اضافه کردن دو تا کلید فشاری مانند تصویر پایین است. ابتدا کلید GPIO0 رو فشار میدهیم. سپس کلید RST را فشار میدهیم. حالا هردوتا کلید را رها میکنیم. لازم نیست این مراحل را چندین بار حین پروسه آپلود انجام بدهید. وقتی که میکروکنترلر به حالت پروگرمینگ وارد شد. در آن حالت باقی میماند تا زمانی که دوباره کلیدها فشرده شوند. خب ورود به حالت پروگرمینگ فقط نیمی از راه است. اما در ادامه باید ESP را به مبدل متصل کنیم.
RXD مبدل را به TX میکرو متصل میکنیم.
TXD مبدل را به RX میکرو متصل میکنیم.
GND مبدل را به GND میکرو متصل میکنیم.
نکته مهم: اکثر مبدلهای USB به سریال توانایی فراهم کردن ولتاژ ۳٫۳ با جریان کشی ۲۵۰ میلی آمپر را ندارند. پس بهتر است ۳٫۳ را از یک منبع تغذیه تامین کنیم.
آپلود برنامه روی ESP8266 12X
برای اپلود کردن برنامه به برد مراحل زیر لازم است. در کامپایلر آردوینو IDE از قسمت EXAMPLE برنامه BLIKNK را باز میکنیم. سپس از قسمت TOOL>PORT پورتی که مبدل به آن متصل شده، را انتخاب میکنیم. پس از آن حالت پروگرمینگ را با کمک کلیدها که در بالاتر توضیح دادم، فعال میکنیم. اکنون برنامه را آپلود میکنیم. اگر نشد اتصالات را چک کنید سپس دوباره امتحان کنید. اگر باز هم نشد از طریق بخش نظرات همین آموزش سوالاتتان را مطرح بفرمایید. پس از آپلود کدها روی ESP8266 12X کلید ریست را دوباره تحریک کنید.
تنظیمات ESP8266 در آردوینو
BOARD SETTING این پروژه به شرح زیر میباشد.
Board: Generic ESP8266 Module
Flash Mode: DIO
Flash Size: 4M (3M Spiffs)
Reset Method: ck
Flash Frequency: 40MHz
Upload Speed: 115200
نکته: در بردهای ESP8266 یک عدد ال ای دی قرار دارد. این LED روی برد به پایه ۲ متصل است.
روش دوم، استفاده از Nodemcu
در روش دوم برای آپلود کدها روی ماژول ESP8266 به یک برد Nodemcu نیاز داریم. اگر تا به حال با هر یک از DEVELOPMENT BOARD های ESP8266 کار کرده باشید؛ حتما میدانید که هیچ کدام از آنها اقدامات پیچیدهی مرحله قبلی را لازم ندارند. برد به صورت اتوماتیک در حالت Programming قرار دارد. در این روش از برد Nodemcu به عنوان پروگرمر ESP8266 استفاده میکنیم.
ویژگی برد Nodemcu در آپلود کدها
امکان تامین ولتاژ ۳٫۳ به صورت مستقیم از پین ۳٫۳ ولت برد Nodemcu
بدون دردسر اتصالات Pull up و pull Down ماژول ESP را پروگرام میکنیم.
هزینه برد Nodemcu ناچیز بوده و معمولا در جیب هر مهندس سخت افزارای پیدا میشود.
آپلود برنامه با استفاده از Nodemcu
درواقع ما میکرو ESP8266 قرار گرفته روی برد Nodemcu را غیر فعال می کنیم. با وصل کرن پایه EN برد NODE MCU به GND و سپس وصل کردن میکرو ESP8266 به NODE MCU مانند توضیحات زیر، اقدامات صورت میگیرد.
ابتدا مانند مرحله قبلی اتصالات را برقرار میکنیم. و در ادامه:
پایه ۳٫۳ ولت NODE MCU را به ۳٫۳ ESP8266 متصل میکنیم.
پایه زمین NODE MCU را به زمین ESP8266 متصل میکنیم.
پایه TXبرد NODE MCU را به TX ماژول ESP8266 متصل میکنیم.
پایه RX برد NODE MCU را به RX ماژول ESP8266 متصل میکنیم.
پایه RST برد NODE MCU را بهRST ماژول ESP8266 متصل میکنیم.
پایه D3 برد NODE MCU را به GPIO0 ماژول ESP8266 متصل میکنیم.
پایه EN برد NODE MCU را به GND متصل میکنیم.
تنظیمات Arduino IDE
در برنامه آردوینو از قسمت TOOL> PORT پورتی که برد Nodemcu از آن به کامپیوتر متصل شده است، را انتخاب میکنیم. سپس نوع برد را “(NodeMCU 1.0 (ESP12-E Module” انتخاب میکنیم. حالا گزینه UPLOAD را کلیک میکنیم. کدها روی ماژول ESP8266 12X ما آپلود خواهند شد.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
بسیار عالی بود
خواهش می کنم 🙂
سلام من تمام مراحل گفته شده رو انجام دادم ولی نمیتونم ماژولمو پروگرام کنم این ارور رو میده :
Leaving…
Hard resetting via RTS pin…
ممنون میشم راهنماییم کنین
سلام از کدوم روش برای آپلود استفاده کردید ؟
با سلام من می خوام توسط برد آردوینو نانو و ماژول esp01 که فکر کنم همون esp8266 بشه یک ال ای دی را با نرم افزار remotexy v روشن کنم ولی نرم افزار را وقتی از قسمت tools/board/esp8266رفتم و بعد از منوی file /example/esp8266/blink را زدم ولی بوردم را نمی شناسه و آپلود نمیشه. نمیدونم بعنی باید این بورد nodemcu را تهیه بکنم تا بشه؟؟اگر میشه لطفا راهنماییم کنید ممنون میشم.
سلام
ایا در قسمت port، پورت مناسب را انتخاب نموده اید؟
عالی بود
با سلام ممنون از مطالب خوبتون.من می خوام توسط برد آردوینو نانو و ماژول وای فای (esp-01(esp8266 و می خوام از نرم افزار remotexy برای کنترل خاموش و روشن کردن ال ای دی ها استفاده کنم اما وقتی به صورت جداگانه یعنی برنامه blink را روی برد آردوینو نانو آپلود می کنم جواب میده ولی وقتی ماژول وای فای را وصل می کنم و در قسمت board /generic module esp8266 را انتخاب می کنم و از داخل منوی فایل گزینه example و بعد esp8266 را انتخاب و گزینه blink را می زنم ، ارور the selected serial port does not exist می دهد با وجود اینکه من پورتم را از device management چک کردم و از داخل برنامه پورت را انتخاب کردم.لطفا راهنمایی کنید.ممنون.
سلام
از منوی Tools، وارد قسمت port شوید و پورت را انتخاب نمایید.
عالی بود مرسی
با سلام من تمام مراحل رو با NodeMcu انجام دادم … اما موقع پروگرم شدن … وصل نمیشه کلا …
این پیام رو میده :
Connecting…….._____….._____….._____….._____….._____….._____…..____Traceback (most recent call last):
بهش وصل نمیشه و خطای Timed out میده …
چطور باید چک کنم که ماژول سالمه یا نه ؟
سلام
با nodemcu نیازی به مراحل بالا نیست، از طریق پورت usb برد رو به راینه متصل کنید و خیلی ساده برنامه را پروگرام نمایید.
سلام در روش پروگرام کردن با نودمسیو چه خازنی استفاده باید بکنیم؟
سلام
هیچ خازنی نیاز نیست، خیلی ساده کابل یو اس بی رو متصل کنید و به سادگی پروگرام کنید.