راهاندازی ESP32 و ESP8266 با آردوینو؛ آموزش گامبهگام
اگر قصد دارید یک دستگاه هوشمند بسازید، اطلاعات سنسورها را از طریق اینترنت ارسال کنید یا تجهیزات الکترونیکی را با تلفن همراه کنترل کنید، خانواده ماژولهای ESP32 و ESP8266 از گزینههای کاربردی برای شروع هستند. این ماژولها قابلیت ارتباط بیسیم Wi-Fi را در اختیار شما قرار میدهند و میتوان آنها را با محیط برنامهنویسی Arduino IDE راهاندازی کرد.
در این آموزش چه چیزی یاد میگیرید؟
- تفاوت ESP32 و ESP8266 و انتخاب ماژول مناسب
- نصب پکیج بردها در Arduino IDE
- آمادهسازی سختافزار برای برنامهریزی
- اجرای اولین برنامه و مشاهده خروجی سریال
- اتصال ماژول به شبکه Wi-Fi
- رفع خطاهای متداول هنگام کامپایل و آپلود کد
این راهنما هم برای افرادی که از برد توسعه USBدار استفاده میکنند و هم برای کسانی که میخواهند ماژولهای مستقل ESP32 و ESP8266 را روی مدار خود به کار ببرند، مفید است.
ESP32 و ESP8266 چیستند؟
ESP32 و ESP8266 خانوادههایی از تراشههای الکترونیکی شرکت Espressif هستند که برای ساخت سیستمهای تعبیهشده و پروژههای دارای ارتباط بیسیم استفاده میشوند. هر دو خانواده میتوانند در پروژههای اینترنت اشیا، کنترل از راه دور، ثبت داده، پایش سنسورها و ساخت تجهیزات متصل به شبکه به کار بروند.
یکی از دلایل محبوبیت این تراشهها، امکان برنامهنویسی آنها با Arduino IDE است. بنابراین برای بسیاری از پروژهها لازم نیست از ابتدا سراغ محیطهای توسعه پیچیدهتر بروید؛ میتوانید با ساختار آشنای برنامههای آردوینو شروع کنید و بهتدریج امکانات بیشتری به پروژه اضافه کنید.
ESP8266؛ انتخابی برای پروژههای Wi-Fi
ESP8266 برای پروژههایی که به ارتباط Wi-Fi و کنترل تجهیزات نیاز دارند، همچنان گزینهای کاربردی است. ماژولهایی مانند ESP-12E، ESP-12F، ESP-01 و ESP-07S از مدلهای شناختهشده این خانواده هستند.
برای نمونه، اگر هدف شما ساخت یک کنترلکننده ساده متصل به شبکه، ارسال داده یک سنسور یا راهاندازی یک سرویس کوچک تحت شبکه باشد، ESP8266 میتواند گزینه مناسبی باشد؛ بهشرط آنکه امکانات، تعداد ورودی و خروجیها و محدودیتهای سختافزاری مدل انتخابی با نیاز پروژه مطابقت داشته باشد.
ESP32؛ امکانات بیشتر برای پروژههای پیشرفتهتر
ESP32 خانواده گستردهتری از تراشهها را شامل میشود. بسیاری از مدلهای آن علاوه بر Wi-Fi، از Bluetooth نیز پشتیبانی میکنند و بسته به نسخه تراشه، امکانات پردازشی، حافظه، رابطهای ارتباطی و قابلیتهای متفاوتی دارند.
مدلهایی مانند ESP32-WROOM-32، ESP32-WROOM-32D، ESP32-WROVER و ESP32-S3 در پروژههای مختلف استفاده میشوند. بااینحال، نباید فرض کرد تمام اعضای خانواده ESP32 مشخصات یکسانی دارند؛ امکانات دقیق به مدل تراشه و ماژول وابسته است.
ESP32 و ESP8266 نام تراشهها و خانوادههای آنها هستند؛ اما محصولی که از فروشگاه تهیه میکنید ممکن است یک ماژول مستقل یا یک برد توسعه کامل باشد. این تفاوت در روش اتصال، تغذیه و برنامهریزی اهمیت زیادی دارد.
تفاوت ESP32 و ESP8266 چیست؟
انتخاب بین ESP32 و ESP8266 باید بر اساس نیاز پروژه انجام شود، نه صرفاً جدیدتر بودن یا قیمت. برای مقایسه بهتر، ابتدا ویژگیهای عمومی این دو خانواده را بررسی کنید.
| ویژگی | ESP8266 | ESP32 |
|---|---|---|
| ارتباط Wi-Fi | دارد | در مدلهای دارای Wi-Fi پشتیبانی میشود |
| Bluetooth | بهصورت داخلی ندارد | در بسیاری از مدلها موجود است؛ نوع آن به تراشه بستگی دارد |
| تنوع امکانات | مناسب پروژههای نسبتاً سادهتر | تنوع بیشتری در امکانات و مدلها دارد |
| ورودی و خروجیها | تعداد و قابلیتها وابسته به ماژول و پایههای در دسترس است | تعداد و قابلیتها به مدل تراشه و طراحی برد وابسته است |
| کاربرد متداول | کنترل Wi-Fi، سنسورها و پروژههای متصل به شبکه | اینترنت اشیا، کنترل بیسیم و پروژههای پیچیدهتر |
| روش برنامهریزی | Arduino IDE با پکیج ESP8266 | Arduino IDE با پکیج ESP32 |
اگر پروژه شما تنها به Wi-Fi و چند ورودی و خروجی نیاز دارد، ESP8266 میتواند انتخاب اقتصادی و مناسبی باشد. اگر به امکانات بیشتر، پردازش پیچیدهتر یا قابلیتهای ارتباطی متنوعتری نیاز دارید، بررسی مدلهای ESP32 منطقیتر است.
در هر دو حالت، پیش از انتخاب نهایی باید مشخصات دقیق مدل، حافظه، پایههای قابل استفاده، نوع آنتن، ولتاژ کاری و امکانات ارتباطی آن را بررسی کنید.
برای راهاندازی ESP32 و ESP8266 به چه قطعاتی نیاز داریم؟
قطعات موردنیاز به این بستگی دارد که از برد توسعه استفاده میکنید یا ماژول خام را مستقیماً روی مدار قرار دادهاید.
روش سادهتر: استفاده از برد توسعه
اگر تازه شروع کردهاید، برد توسعهای که رابط USB و مدار تغذیه مناسب دارد، معمولاً کار را سادهتر میکند. در این روش به قطعات زیر نیاز دارید:
- یک برد توسعه سازگار با ESP32 یا ESP8266
- کابل USB دارای قابلیت انتقال داده
- رایانه با Arduino IDE نصبشده
- در صورت نیاز، بردبورد و سیم جامپر برای اتصال سنسورها
روش پیشرفتهتر: استفاده از ماژول مستقل
ماژولهایی مانند ESP32-WROOM-32، ESP32-WROVER، ESP-12E و ESP-12F معمولاً به مدار پشتیبان مناسب نیاز دارند. برای برنامهریزی آنها باید به مواردی مانند تغذیه پایدار ۳٫۳ ولت، رابط USB به سریال سازگار با منطق ۳٫۳ ولت، پایههای بوت و ریست و اتصال صحیح پایههای کنترلی توجه کنید.
پایههای این ماژولها را مستقیماً به خروجی ۵ ولت متصل نکنید. تغذیه و سطح منطقی باید مطابق مشخصات همان قطعه باشد. همچنین، خروجی ۳٫۳ ولت یک مبدل USB به سریال الزاماً توان کافی برای تغذیه ماژول را ندارد؛ جریان موردنیاز و مدار رگولاتور را بررسی کنید.
مرحله اول: نصب Arduino IDE
Arduino IDE محیطی برای نوشتن، کامپایل و آپلود برنامه روی بردهای سازگار است. نسخه رسمی این نرمافزار را از صفحه دانلود Arduino IDE دریافت و نصب کنید.
پس از نصب، نرمافزار را اجرا کنید. برای شناسایی ESP32 و ESP8266 باید پکیج برد مربوط به هر خانواده را از طریق Boards Manager نصب کنید. این دو پکیج متفاوت هستند؛ نصب یکی به معنی نصب دیگری نیست.
نصب پکیج ESP32 در Arduino IDE
- Arduino IDE را باز کنید.
- از منوی تنظیمات، بخش Preferences را باز کنید. در نسخههای مختلف ممکن است مسیر یا نام گزینه کمی متفاوت باشد.
- در فیلد Additional Boards Manager URLs، نشانی زیر را وارد کنید:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
- اگر از قبل نشانی دیگری در این فیلد دارید، آن را بدون بررسی حذف نکنید؛ در صورت نیاز نشانیها را با ویرگول از هم جدا کنید.
- از منوی Tools، وارد بخش Board و سپس Boards Manager شوید.
- عبارت
esp32را جستوجو کنید. - پکیج ESP32 ارائهشده توسط Espressif Systems را نصب کنید.
- پس از پایان نصب، در صورت نیاز Arduino IDE را مجدداً اجرا کنید.
بعد از نصب، باید مدل برد خود را از بخش انتخاب برد مشخص کنید. انتخاب گزینه مناسب به نوع تراشه و بردی که استفاده میکنید بستگی دارد.
نصب پکیج ESP8266 در Arduino IDE
برای پشتیبانی از خانواده ESP8266، مراحل مشابهی را طی کنید؛ اما این بار نشانی مربوط به پکیج ESP8266 را وارد کنید.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- وارد Preferences شوید.
- نشانی بالا را در Additional Boards Manager URLs اضافه کنید.
- از بخش Tools، وارد Boards Manager شوید.
- عبارت
esp8266را جستوجو کنید. - پکیج مربوط به ESP8266 Community را نصب کنید.
- از بخش انتخاب برد، مدل مناسب را انتخاب کنید.
نکته: نصب هر دو پکیج روی یک سیستم امکانپذیر است. بااینحال، هنگام کامپایل و آپلود باید برد صحیح را انتخاب کنید؛ زیرا ESP32 و ESP8266 از هسته نرمافزاری یکسانی استفاده نمیکنند.
مرحله دوم: انتخاب برد صحیح
پس از نصب پکیج، ماژول یا برد خود را با کابل USB به رایانه متصل کنید. اگر از برد توسعه استفاده میکنید، معمولاً میتوانید آن را مستقیماً به رایانه متصل کنید؛ اما ماژول مستقل ممکن است به مبدل USB به سریال و مدار راهاندازی جداگانه نیاز داشته باشد.
در Arduino IDE دو گزینه مهم وجود دارد:
- Board: مدل برد یا تراشهای که قرار است برنامه روی آن اجرا شود.
- Port: درگاه ارتباطی مربوط به برد متصلشده به رایانه.
در خانواده ESP32، بسته به مدل سختافزار ممکن است گزینههایی مانند ESP32 Dev Module یا گزینهای اختصاصی برای برد شما وجود داشته باشد. برای ESP8266 نیز انتخاب گزینههایی مانند NodeMCU 1.0 یا Generic ESP8266 Module به نوع سختافزار وابسته است.
نام تجاری ماژول بهتنهایی برای انتخاب برد کافی نیست. مشخصات برد توسعه، تراشه اصلی و مدار USB به سریال را بررسی کنید. اگر از ماژول خام استفاده میکنید، تنظیمات انتخاب برد باید با تراشه و پیکربندی سختافزار شما مطابقت داشته باشد.
مرحله سوم: نکات اتصال سختافزاری
در بردهای توسعه، مدار USB به سریال و بخش مهمی از مدار تغذیه معمولاً روی خود برد قرار دارند. به همین دلیل، برای شروع اغلب کافی است کابل USB مناسب را متصل کنید و درگاه صحیح را انتخاب کنید.
اما در ماژولهای مستقل، اتصال سختافزاری اهمیت بیشتری دارد. پیش از آپلود برنامه موارد زیر را بررسی کنید:
- ولتاژ تغذیه و ظرفیت جریان منبع تغذیه با مشخصات ماژول مطابقت داشته باشد.
- سطح منطقی رابط سریال با منطق ۳٫۳ ولتی ماژول سازگار باشد.
- پایههای TX و RX رابط سریال بهدرستی و بهصورت ضربدری متصل شده باشند.
- پایههای فعالسازی، ریست و انتخاب حالت بوت مطابق دیتاشیت همان ماژول تنظیم شده باشند.
- اگر از منبع تغذیه مستقل استفاده میکنید، اتصال زمین مدارها مشترک باشد.
- پایههای ورودی و خروجی را بدون بررسی مشخصات، به ولتاژ ۵ ولت متصل نکنید.
وجود یک ماژول ESP32 یا ESP8266 به معنی آمادهبودن آن برای اتصال مستقیم به USB نیست. ابتدا بررسی کنید محصول شما برد توسعه است یا ماژول مستقل. این موضوع میتواند از بروز خطاهای آپلود و آسیب به قطعه جلوگیری کند.
مرحله چهارم: اجرای اولین برنامه روی ESP32
برای بررسی اولیه، بهتر است برنامهای ساده اجرا کنید که بدون نیاز به سنسور یا قطعه جانبی، پیغام مشخصی را در Serial Monitor نمایش دهد. این روش کمک میکند ارتباط سریال و اجرای برنامه را بررسی کنید.
کد زیر را در یک Sketch جدید قرار دهید:
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.println("ESP32 is ready!");
}
void loop() {
Serial.println("ESP32 is running");
delay(2000);
}
چگونه کد را اجرا کنیم؟
- کد را در Arduino IDE وارد کنید.
- برد مناسب ESP32 را انتخاب کنید.
- درگاه ارتباطی صحیح را مشخص کنید.
- روی Verify کلیک کنید تا کد کامپایل شود.
- اگر کامپایل موفق بود، روی Upload کلیک کنید.
- پس از پایان آپلود، Serial Monitor را باز کنید.
- سرعت ارتباط سریال را روی 115200 قرار دهید.
اگر برنامه بهدرستی اجرا شود، پیغام ESP32 is ready! و سپس پیامهای تکرارشونده را مشاهده میکنید.
این آزمایش ساده نشان میدهد که محیط توسعه و ارتباط سریال تا حد زیادی آماده هستند؛ بااینحال، برای اطمینان از عملکرد تمام بخشهای سختافزار، باید مدار و امکانات موردنیاز پروژه را جداگانه آزمایش کنید.
مرحله پنجم: اجرای اولین برنامه روی ESP8266
برای ESP8266 نیز میتوان از برنامه مشابهی استفاده کرد. در این مرحله تفاوت اصلی، انتخاب برد مناسب ESP8266 در Arduino IDE است.
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.println("ESP8266 is ready!");
}
void loop() {
Serial.println("ESP8266 is running");
delay(2000);
}
پس از انتخاب برد و درگاه صحیح، برنامه را کامپایل و آپلود کنید. سپس Serial Monitor را با سرعت 115200 باز کنید.
اگر از برد توسعهای مانند NodeMCU استفاده میکنید، ممکن است اتصال USB و ورود به حالت برنامهریزی بهصورت خودکار انجام شود. در ماژولهای مستقل مانند ESP-12E یا ESP-12F، بسته به طراحی مدار، ممکن است لازم باشد پایههای بوت و ریست را برای برنامهریزی به وضعیت مناسب ببرید.
توجه: این برنامه برای آزمایش ارتباط سریال طراحی شده است و به LED داخلی وابسته نیست. بنابراین برای شروع، از تفاوت شماره پایه یا قطبیت LED داخلی در بردهای مختلف جلوگیری میکند.
مرحله ششم: اتصال ESP32 و ESP8266 به Wi-Fi
بعد از بررسی ارتباط سریال، میتوانید سراغ قابلیت اصلی بسیاری از پروژهها، یعنی اتصال به شبکه Wi-Fi بروید. در این بخش یک نمونه کد برای هر خانواده ارائه میکنیم.
نکته امنیتی: نام شبکه و رمز عبور نمونههای زیر را با اطلاعات شبکه خودتان جایگزین کنید. اطلاعات واقعی شبکه را در کدهای عمومی، مخازن عمومی یا تصاویر قابل انتشار قرار ندهید.
کد اتصال ESP32 به Wi-Fi
در پکیج ESP32، کتابخانه WiFi.h برای کار با قابلیت Wi-Fi استفاده میشود.
#include <WiFi.h>
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.print("Connecting to Wi-Fi");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Wi-Fi connected!");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
در این برنامه، ماژول در حالت Station قرار میگیرد؛ یعنی بهعنوان یک دستگاه به شبکه موجود متصل میشود. پس از موفقیت اتصال، آدرس IP اختصاصیافته از سوی شبکه در Serial Monitor نمایش داده میشود.
کد اتصال ESP8266 به Wi-Fi
برای ESP8266 باید کتابخانه مخصوص این خانواده، یعنی ESP8266WiFi.h را وارد کنید.
#include <ESP8266WiFi.h>
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.print("Connecting to Wi-Fi");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Wi-Fi connected!");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
چگونه مطمئن شویم اتصال برقرار شده است؟
بعد از آپلود موفق، Serial Monitor را باز کنید و منتظر بمانید تا پیام اتصال نمایش داده شود. در صورت موفقیت، برنامه آدرس IP دستگاه را چاپ میکند.
اگر اتصال برقرار نشد، موارد زیر را بررسی کنید:
- نام شبکه و رمز عبور را دقیق وارد کرده باشید.
- شبکه از باند فرکانسی پشتیبانیشده توسط ماژول استفاده کند. ESP32 و ESP8266 کلاسیک مورد استفاده در این آموزش برای Wi-Fi باند ۲٫۴ گیگاهرتز هستند.
- سیگنال شبکه کافی باشد.
- منبع تغذیه هنگام برقراری ارتباط بیسیم افت ولتاژ نداشته باشد.
- برد صحیح و پکیج مربوط به همان خانواده انتخاب شده باشد.
نکته درباره کد اتصال: حلقه انتظار در این نمونه برای آموزش ساده و آزمایش اولیه مناسب است؛ اما اگر پروژه شما باید به کارهای دیگر ادامه دهد یا در صورت قطع شبکه دوباره متصل شود، بهتر است منطق اتصال غیرمسدودکننده و مدیریت خطا نیز به برنامه اضافه کنید.
چگونه از ESP32 یا ESP8266 در پروژه واقعی استفاده کنیم؟
پس از اجرای اولین برنامه و اتصال به Wi-Fi، میتوانید ماژول را وارد پروژه اصلی کنید. نوع کاربرد به نیاز شما و امکانات مدل انتخابی بستگی دارد.
۱. کنترل تجهیزات از طریق شبکه
با استفاده از قابلیتهای شبکه میتوانید یک کنترلکننده طراحی کنید که فرمانها را از یک برنامه، صفحه وب یا سرویس دیگر دریافت کند. برای چنین پروژهای باید علاوه بر اتصال Wi-Fi، روش ارتباطی، امنیت دسترسی و نحوه کنترل خروجیها را نیز طراحی کنید.
۲. ارسال داده سنسورها
ESP32 و ESP8266 میتوانند داده سنسورهای سازگار را جمعآوری کرده و به یک سرور یا سامانه پایش ارسال کنند. در این حالت باید نوع رابط سنسور، ولتاژ منطقی، پروتکل ارتباطی و کتابخانه موردنیاز را بررسی کنید.
۳. ساخت دستگاه اینترنت اشیا
در پروژههای اینترنت اشیا، ماژول میتواند اطلاعات را از تجهیزات دریافت کند و از طریق شبکه در اختیار یک سامانه مرکزی قرار دهد. انتخاب روش ارتباطی و طراحی نرمافزار به حجم داده، تأخیر قابلقبول، امنیت و پایداری موردنیاز وابسته است.
۴. استفاده از Bluetooth در پروژههای سازگار
اگر پروژه به ارتباط Bluetooth نیاز دارد، پیش از انتخاب ماژول باید نوع دقیق آن را بررسی کنید. همه مدلهای ESP32 قابلیتهای Bluetooth یکسانی ندارند و ESP8266 نیز Bluetooth داخلی ندارد. بنابراین انتخاب تراشه باید با پروتکل ارتباطی موردنیاز پروژه هماهنگ باشد.
خطاهای رایج هنگام راهاندازی ESP32 و ESP8266
اگر هنگام کامپایل، آپلود یا اجرای برنامه با مشکل مواجه شدید، بهتر است بهجای تغییر تصادفی تنظیمات، خطا را بر اساس مرحلهای که در آن رخ داده بررسی کنید.
خطای شناسایی نشدن برد در Arduino IDE
اگر نام برد موردنظر در منوی انتخاب برد وجود ندارد، ابتدا بررسی کنید پکیج مناسب ESP32 یا ESP8266 نصب شده باشد. اگر نصب کامل نشده یا دانلود فایلها با خطا مواجه شده است، وضعیت اینترنت و پیامهای Boards Manager را بررسی کنید.
نمایش ندادن درگاه COM
اگر درگاه ارتباطی برد نمایش داده نمیشود، کابل USB دیگری را امتحان کنید؛ زیرا برخی کابلها فقط برای شارژ ساخته شدهاند و قابلیت انتقال داده ندارند. همچنین درایور رابط USB به سریال و شناسایی دستگاه در سیستمعامل را بررسی کنید.
خطای Failed to connect یا ورود نکردن به حالت برنامهریزی
این خطا ممکن است به انتخاب نادرست برد، درگاه اشتباه، اتصال نامناسب رابط سریال، تغذیه ناکافی یا وضعیت نامناسب پایههای بوت مربوط باشد.
اگر از ماژول مستقل استفاده میکنید، ابتدا مدار بوت و ریست را مطابق مشخصات سختافزار بررسی کنید. در بعضی بردها نگهداشتن دکمه BOOT هنگام شروع آپلود یا فشردن دکمه RESET در زمان مناسب لازم است؛ اما این رفتار در تمام بردها یکسان نیست.
خطای کتابخانه یا شناخته نشدن WiFi.h
اگر کتابخانه مربوط به Wi-Fi شناخته نمیشود، ابتدا نوع برد انتخابشده را بررسی کنید. برای ESP32 از WiFi.h و برای ESP8266 از ESP8266WiFi.h استفاده میشود. این دو کتابخانه را نباید بهجای یکدیگر به کار ببرید.
برقراری نشدن اتصال Wi-Fi
نام شبکه، رمز عبور، باند فرکانسی، قدرت سیگنال و پایداری تغذیه را بررسی کنید. همچنین مطمئن شوید که ماژول به دلیل محدودیت دسترسی شبکه یا تنظیمات روتر از اتصال محروم نشده باشد.
ریست شدن ماژول هنگام اتصال به شبکه
یکی از مواردی که باید بررسی شود، توانایی منبع تغذیه در تأمین جریان موردنیاز هنگام فعالیت بیسیم است. افت ولتاژ، سیمکشی نامناسب و رگولاتور نامتناسب میتوانند موجب ناپایداری شوند. مشخصات تغذیه را از دیتاشیت مدل مورد استفاده بررسی کنید.
ابتدا یک برنامه ساده سریال را اجرا کنید، سپس آپلود را بررسی کنید و در مرحله بعد سراغ اتصال Wi-Fi بروید. این روش کمک میکند محل مشکل را سریعتر مشخص کنید.
برای شروع کدام ماژول ESP32 یا ESP8266 را انتخاب کنیم؟
برای انتخاب قطعه مناسب، ابتدا امکانات موردنیاز پروژه را مشخص کنید. اگر تنها به اتصال Wi-Fi و اجرای یک برنامه سبک نیاز دارید، یکی از ماژولهای ESP8266 میتواند کافی باشد. اگر به امکانات بیشتر یا قابلیتهای ارتباطی متنوعتری نیاز دارید، بررسی مدلهای ESP32 انتخاب مناسبتری است.
| نیاز پروژه | پیشنهاد برای بررسی | نکته انتخاب |
|---|---|---|
| کنترل ساده از طریق Wi-Fi | ESP8266 ESP-12E یا ESP-12F | پایههای موردنیاز و مدار تغذیه را بررسی کنید. |
| پروژههای مبتنی بر خانواده ESP32 | ESP32-WROOM-32 یا ESP32-WROOM-32D | مدل دقیق تراشه و مشخصات برد را بررسی کنید. |
| پروژههای مبتنی بر ESP32-S3 | ESP32-S3-WROOM-1 | حافظه فلش، PSRAM و امکانات مدل انتخابی اهمیت دارند. |
| پروژهای که به بررسی امکانات حافظه نیاز دارد | ESP32-WROVER یا مدلهای دارای PSRAM | وجود و ظرفیت حافظه جانبی را از مشخصات قطعه تأیید کنید. |
| ماژول کوچک برای مدار سفارشی | ESP-01 یا ESP-01S | محدودیت پایهها و نیاز به مدار برنامهریزی را در نظر بگیرید. |
این جدول یک راهنمای اولیه برای انتخاب است، نه جایگزین بررسی دیتاشیت. حتی در یک خانواده مشابه، تفاوت مدلها میتواند بر حافظه، تعداد پایههای در دسترس، امکانات ارتباطی و روش راهاندازی تأثیر بگذارد.
خرید ماژول ESP32 و ESP8266 از میکرونور
اگر قصد دارید آموزش را بهصورت عملی دنبال کنید، میتوانید محصولات مرتبط با خانوادههای ESP32 و ESP8266 را در فروشگاه میکرونور بررسی کنید. پیش از انتخاب نهایی، مشخصات مدل موردنظر را با نیاز پروژه و روش برنامهریزی خود مطابقت دهید.
برای بررسی گزینههای خانواده ESP32 در پروژههای مبتنی بر Wi-Fi.
مشاهده محصول ESP32-WROOM-32 ←گزینهای برای بررسی در پروژههای مبتنی بر خانواده ESP32.
مشاهده محصول ESP32-WROOM-32D ←برای پروژههایی که به بررسی مدلهای خانواده WROVER نیاز دارند.
مشاهده محصول ESP32-WROVER-IE ←برای بررسی نسخه ESP32-S3 با پیکربندی حافظه مشخصشده در نام محصول.
مشاهده محصول ESP32-S3-WROOM-1-N16R8 ←برای مقایسه نسخههای مختلف خانواده ESP32-S3 متناسب با نیاز پروژه.
مشاهده محصول ESP32-S3-WROOM-1-N4 ←گزینهای دیگر از خانواده ESP32-S3 برای بررسی مشخصات و انتخاب.
مشاهده محصول ESP32-S3-WROOM-1-N4R2 ←برای پروژههای مبتنی بر خانواده ESP8266 و ارتباط Wi-Fi.
مشاهده محصول ESP8266 ESP-12E ←برای بررسی یک گزینه دیگر از خانواده ماژولهای ESP8266.
مشاهده محصول ESP8266 ESP-12F ←برای پروژههایی که با محدودیت فضا و تعداد پایهها طراحی میشوند.
مشاهده محصول ESP8266 ESP-01S ←برای بررسی گزینههای دیگر خانواده ESP8266 در طراحی مدارهای سفارشی.
مشاهده محصول ESP8266 ESP-07S ←برای انتخاب دقیقتر، مشخصات محصول را بررسی کنید و در صورت استفاده از ماژول مستقل، قطعات جانبی موردنیاز برای تغذیه و برنامهریزی آن را نیز در نظر بگیرید.
سؤالات متداول درباره راهاندازی ESP32 و ESP8266 با آردوینو
آیا میتوان ESP32 و ESP8266 را با Arduino IDE برنامهریزی کرد؟
بله. با نصب پکیج مناسب هر خانواده در Boards Manager میتوان برنامههای سازگار را با Arduino IDE کامپایل و روی برد یا ماژول موردنظر آپلود کرد. انتخاب برد صحیح و آمادهبودن سختافزار نیز ضروری است.
برای شروع یادگیری ESP32 بهتر است یا ESP8266؟
هر دو گزینه مناسبی هستند. ESP8266 برای بسیاری از پروژههای ساده مبتنی بر Wi-Fi کافی است؛ درحالیکه خانواده ESP32 مدلهای متنوعتری با امکانات بیشتر ارائه میدهد. انتخاب نهایی باید بر اساس نیاز پروژه انجام شود.
آیا برای برنامهریزی ماژول ESP8266 به برد آردوینو UNO نیاز داریم؟
خیر. بسیاری از ماژولهای ESP8266 را میتوان با رابط USB به سریال مناسب و مدار راهاندازی صحیح مستقیماً برنامهریزی کرد. برد Arduino UNO الزاماً موردنیاز نیست؛ مهم این است که رابط، تغذیه و پایههای بوت درست تنظیم شده باشند.
چرا هنگام آپلود برنامه، ESP32 یا ESP8266 شناسایی نمیشود؟
علت میتواند کابل فاقد قابلیت انتقال داده، درایور نامناسب، انتخاب درگاه اشتباه، تغذیه ناکافی یا ورودنکردن ماژول به حالت برنامهریزی باشد. ابتدا کابل، درگاه، برد انتخابی و سپس اتصالات سختافزاری را بررسی کنید.
آیا ماژولهای ESP32 و ESP8266 با ولتاژ ۵ ولت کار میکنند؟
پایههای تراشهها و ماژولهای رایج این خانوادهها بر مبنای منطق ۳٫۳ ولت هستند. بردهای توسعه ممکن است ورودی USB یا مدار تغذیه مخصوص داشته باشند، اما این موضوع به معنی تحمل ۵ ولت در تمام پایهها نیست. مشخصات سختافزار را پیش از اتصال بررسی کنید.
چرا کد Wi-Fi روی ESP32 اجرا میشود اما روی ESP8266 خطا میدهد؟
یکی از علتهای رایج، استفاده از کتابخانه یا پکیج اشتباه است. برای ESP32 معمولاً از WiFi.h و برای ESP8266 از ESP8266WiFi.h استفاده میشود. برد انتخابی و نسخه پکیج نیز باید با کد سازگار باشند.
آیا تمام مدلهای ESP32 از Bluetooth پشتیبانی میکنند؟
خیر. قابلیتهای ارتباطی در مدلهای مختلف خانواده ESP32 یکسان نیست. پیش از خرید باید مشخصات دقیق تراشه یا ماژول و نوع Bluetooth موردنیاز پروژه را بررسی کنید.
آیا ESP32 و ESP8266 برای پروژههای اینترنت اشیا مناسب هستند؟
بله. این خانوادهها برای بسیاری از پروژههای اینترنت اشیا، از ارسال داده سنسورها تا کنترل تجهیزات از طریق شبکه، قابل استفادهاند. انتخاب مدل مناسب به نیازهای ارتباطی، منابع سختافزاری، مصرف انرژی و الزامات امنیتی پروژه بستگی دارد.
جمعبندی
راهاندازی ESP32 و ESP8266 با آردوینو با نصب پکیج مناسب، انتخاب برد صحیح و آمادهسازی سختافزار آغاز میشود. پس از آن میتوانید با اجرای یک برنامه ساده سریال، ارتباط اولیه را بررسی کنید و سپس به سراغ اتصال Wi-Fi و توسعه پروژه بروید.
اگر بهتازگی وارد دنیای اینترنت اشیا شدهاید، ابتدا یک نمونه ساده را اجرا کنید و بعد بهتدریج سنسورها، سرویسهای شبکه و امکانات کنترلی را اضافه کنید. در انتخاب قطعه نیز بهجای تکیه بر نام خانواده، مشخصات دقیق مدل، مدار تغذیه و روش برنامهریزی را بررسی کنید.
در فروشگاه میکرونور میتوانید مدلهای مختلف ESP32 و ESP8266 را بررسی کرده و بر اساس نیاز پروژه خود انتخاب کنید.