آموزش برنامه نویسی esp8266 با Arduino IDE
به نام خدا و با سلام خدمت دوستان عزیز
در این آموزش قصد دارم آموزش برنامه نویسی ماژول های wifi مدل esp رو با استفاده از آردویینو خدمت دوستان عرض کنم.
دقت کنید نیاز نیست هزینه اضافی برای برای برد های nodmcu یا برد های آماده بپردازید با این آموزش شما هر ماژول وای فای رو میتونید پروگرام کنید.
در این آموزش قراره که راه اندازی ماژول وای فای ESP8266-MOD با آردوینو رو آموزش بدیم.
اول بهتره یک معرفی کوتاه درباره ی این ماژول داشته باشیم.
- این ماژول یک میکروکنترلر ۳۲ بیتی داره که حافظه فلش اون ۴ تا ۳۲ مگابیت داره و دارای حداکثر فرکانس ۸۰مگاهرتزه !
- این سری از ماژول ها بیش از ۱۰ نوع در بازار وجود دارن و برد های توسعه خاصی از اون ها هم مثل nodemcu ، Witty cloud و .. وجود داره.
- این ماژول مثل یک میکروکنترلر قابلیت برنامه نویسی داره
- ماژول ESP8266 هم در مد Station و هم در مد Access Point قابلیت پیکربندی داره و …
طبق تصویر زیر مراحل رو طی میکنیم تا اول فایل های مورد نیاز رو دانلود کنیم ، پس حتما باید لپ تاپ و یا کامپیوترتون به اینترنت هم وصل باشه…
مرحله ۱ ->
مرحله دوم ->
در بخش نمایش داده شده باید متن زیر رو وارد کنین:
1 |
http://arduino.esp8266.com/stable/package_esp8266com_index.json |
و در آخر با زدن گزینه ی Ok تغییرات رو ذخیره کنین و تنظیمات دیگه ای انجام ندید.
مرحله ۳ ->
Go to Tools > Board > Boards Manager…
کتابخانه فوق در گیت هاب.
مرحله ۴ ->
بعد از نصب این کتابخونه ها ، نرم افزار آردوینو از ماژول ESP8266 و ماژول NodeMCU پشتیبانی میکنه و میتونین به راحتی راه اندازی ماژول WiFi ESP8266 با آردوینو رو انجام بدین.
وقتی همه تنظیمات بالا تموم شد میریم سراغ تنظیماتی که قراره توی سخت افزار ماژولمون انجام بدیم که بتونیم با نرم افزار آردوینو پروگرامش کنیم :
برای اینکه شما ماژول esp رو پروگرام کنید به مبدل usb به سریال نیاز دارید و چندین راه دارید :
- استفاده از بردهای آماده مثل nodmcu
- استفاده از مبدل usb به سریالی که رو خوده آردویینو هست که برا اینکار باید میکروشو بردارین.
- استفاده از ماژول های مبدل usb به سریال که مدل های زیادی دارن و به نظر من بهترینش CH340 هستش و یه مدل عالی داره که کاملا برای کار با ESP مناسبه از اینجا میتونید تهیش کنید و شکلش به صورت زیره:
اینجا شما با چهار پین RX , TX , GND , 3.3V سروکار دارید.
حالا طبق شماتیک زیر مدار ارتباط مبدل بالا به ESP رو رو برد بورد ببندید( دقت کنید که برای ماژول خام esp میتونید از هدربردش استفاده کنید) :
دانلود درایور ماژول مبدل ch340
خب بعد از تنظیمات سخت افزاریمون باید بریم سراغ تنظیمات IDE , مثله شکل زیر برید به آدرس نشون داده شده و تنظیمات رو طبق شکل زیر انجام بدین :
مقدار بادریت و پورت رو هم که در تصویر بالا مشخص کردم تنظیم کنید.
خب طبق شکل بالا اول روی گزینه ۱ و بعد ۲ و بعد گزینه ی سوم که Generic ESP8266 Module باشه رو انتخاب میکنیم ) و طبق اون تنظیمات رو انجام میدیم اما اون گزینه PORT رو که با فلش بنفش مشخص کردم همون شماره پورتی رو انتخاب میکنید که مبدلتون به اون وصل شده (برای اینکار باید برید به قسمت device manager کامپیوتر و اونجا com port هارو ببنید).
خب حالا که تمام تنظیماتتون رو بدرستی انجام دادین بریم سراغ پروگرام کردنش , برای پروگرام
کردن تمام اون اتصالاتی که نشون داده شد باید همونطور باقی بمونن .
یک example رو انتخاب کنین تا بتونیم تنظیماتی رو که انجام دادیم رو تست کنیم ، گزینه آپلود روی برد رو بزنین و بعد از انتخاب گزینه آپلود در نرم افزار آردوینو تقریبا بعد از ۳ – ۴ ثانیه دکمه ریست رو فشار بدین تا مراحل پروگرام بدرستی انجام بشه مثله شکله زیر :
بعد از موفق شدن در پروگرام کردن ماژولمون فقط باید یه کار رو انجام بدیم و اونم اینه که اتصال
پایه GPIO 0 ماژول رو به زمین قطع کنیم
توجه : اگر بعد از پروگرام کردن هنوز این پایه متصل باشه برنامه ای رو که پروگرام کردیم کار نمیکنه
برای هر بار پروگرام کردن ماژول باید پایه GPIO 0 ماژول رو به زمین متصل کنیم و بعد از
پروگرام کردنمون برای اجرای کدمون اونو قطع کنیم.
نکته بسیار مهم : به این هم دقت کنید که گاهی اوقات وقتی حجم برنامتون زیاد میشه ماژول شما واچ داگ ریست میشه و ارور استک (stack) میده و این ارور هارو به سریال مانیتور میفرسته و دیگه کار نمیکنه حالا برا رفع این مشکلات شما باید بعد از پروگرام کردن هم gpio0 و هم gpio15 رو گراند جدا کنید و تغذیه ماژول رو به کلی قطع کنید و دوباره وصل کنید که اونوقت ماژول خواهد کرد.
از شماتیک آلتیوم زیر میتونید در طراحی هاتون استفاده کنید :
که البته در شماتیک بالا دکمه ریست یادتون نره بزارید (من یادم رفت O_o ).
اگر آردویینو دارید و میکروش جدا میشه با استفاده از شکل زیر هم میتونید espتون رو پروگرام کنید :
به راحتی میتونید عمل پروگرام ماژول های وای فا رو انجام بدید
و همچنین نمونه کد زیر رو اجرا کنید تا ماژول وای به مودم وای فاتون متصل بشه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <ESP8266WiFi.h> const char* ssid = "your-ssid"; const char* password = "your-password"; void setup() { Serial.begin(115200); delay(10); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode(WIFI_STA); //We don't want the ESP to act as an AP WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected."); Serial.print("IP address: "); Serial.println(WiFi.localIP()); } void loop() { delay(1); } |
“your-ssid”
“your-password”
به جای دو عبارت فوق هم اسم و رمز مودم وای فاتونو قرار بدید کد رو آپلود کنید رو esp و از منوی tools سریال مانیتور رو باز کنید .
شما می توانید برخی کتابخانه های مفید و مثال های مربوط به ESP8266 را از اینجا دانلود کنید.
Universal-Arduino-Telegram-Bot-master
esp_mqtt-master (برای کار با پروتکل MQTT)
IRremoteESP8266-master (برای کار با کدهای IR)
esp8266-OLED-master (کار با نمایشگرهای OLED)
ArduinoJson-master(کار با فرمت JSON)
پسورد فایل های زیپ در صورت نیاز: esp8266project.ir
در اینجا یک برد هم برای پروگرام کردن ماژول های ESP با استفاده ار نرم افزار آلتیوم دیزاینر طراحی کردم که به راحتی میتونید ماژول های ESP8266 رو با پین هدر ریز که میخرید لحیم کنید و برد زیر رو با مبدل USB به سریال به سیستم متصل کنید و با اردوینو موقع پروگرام کردن کافیه چند لحظه تا شروع پروگرام شدن ماژول دکمه FLASH رو نگه دارید و روند پروگرام که شروع شد رهاش کنید و همچنین یه led هم روی برد تعبیه شده ،بعد از پروگرام شدن ، ماژول رو از رو برد جدا کنید و در پروژتون استفاده کنید.
تمامی قطعات dip هستن و همچنین علاوه بر سورس کامل آلتیوم، لیست کامل قطعات و شماتیک و pcb هم در فایل زیپ پروژه در قالب pdf موجود هستش.
موفق و سربلند باشید.
سلام ممنون از آموزش خوبتون
من میخوام یک فاصله سنج بسازم که ۴ تا مازول SRF05 استفاده کردم بعد میخوام دیتایی که این سنسورها میفرستن رو با WIFI به آردوینو بدم
لطفا راهنمایی کنید
سلام
باید از دوتا ماژول وای فا استفاده کنید که یکی به صورت سرور و دیگری به صورت کلاینت تعریف بشه دیتای فاصله از ماژول کلاینت میره به ماژول سرور ….
سلام مهندس ممنون از مطلب مفیدتون اما این آموزش در واقع برنامه نویسی ماژول رو توضیح نداده بلکه طریقه ی پروگرام کردن برنامه های آماده رو شرح داده. برنامه نویسی این ماژول یعنی توضیح کامل توابع کتابخانه ی ESP8266WiFi.h
سلام
خواهش میکنم
بله این بیس مطالب هستش و نحوه پروگرام کردن ماژول آموزش داده داده شده.
با یه سرچ کوتاه در گوگل آموزش ها و مثال های زیادی هستن که با دونستن بیس کار فقط یه کپی پیست کافیه.
متاسفانه شما به لقمه آماده عادت کردین دوست عزیز
لینک توضیحات و مثال ۱
لینک ۲
توضیح توابع کتابخانه کتابخانه ESP8266WIFI.H
سلام میخواستم ربات تشخیص مانع رو بسازم .و اتصال به وای فای رو هم لازم ذارم . چه نوعی از esp8266 رو بگیرم?
پسوند f ماژول خوبیه.در کل عملکرد همشون به یک شکله