🛠️ نصب ESP32 در آردوینو IDE: از آدرس Board Manager تا درایور CP2102 و CH340 و اولین آپلود

✍️ تیم ووکوی فارسی ·

برد ESP32 را خریده‌ای، به کامپیوتر وصلش کرده‌ای و آردوینو IDE را باز کرده‌ای، ولی در لیست بردها اثری از ESP32 نیست. طبیعی است: آردوینو IDE به‌صورت پیش‌فرض فقط بردهای خود آردوینو را می‌شناسد و ESP32 را باید جداگانه اضافه کنی. در این راهنما نصب ESP32 در آردوینو IDE را قدم‌به‌قدم انجام می‌دهیم: اضافه کردن آدرس Board Manager، نصب پکیج، نصب درایور USB (CP2102 یا CH340)، انتخاب برد و پورت، و در آخر آپلود اولین برنامه برای اطمینان از این‌که همه‌چیز درست است.

اگر فعلاً برد نداری یا نصب طول می‌کشد، نگران نباش: همین کدها را می‌توانی همین حالا در شبیه‌ساز آنلاین اجرا کنی؛ همان تجربه‌ای که در ووکوی (Wokwi) داری. آخر مقاله توضیح داده‌ایم چطور.

چه چیزهایی لازم است؟

قدم ۱: اضافه کردن آدرس Board Manager

آردوینو IDE را باز کن و از منوی File گزینه‌ی Preferences را بزن (در مک: Arduino IDE و بعد Settings). پایین پنجره کادری هست به اسم Additional boards manager URLs. این آدرس را داخلش بگذار:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

این آدرس رسمی شرکت Espressif، سازنده‌ی ESP32، است. اگر قبلاً آدرس دیگری (مثلاً برای ESP8266) در این کادر داری، آن را پاک نکن؛ آدرس‌ها را با ویرگول از هم جدا کن یا روی آیکون کنار کادر بزن و هر آدرس را در یک خط بنویس. آدرس قدیمی‌تری که با raw.githubusercontent.com شروع می‌شود هم هنوز در بعضی آموزش‌ها دیده می‌شود و کار می‌کند، ولی آدرس بالا به‌روزتر است.

قدم ۲: نصب پکیج esp32 از Boards Manager

از منوی Tools به Board و بعد Boards Manager برو (در IDE 2 آیکون بردها در نوار سمت چپ هم همین را باز می‌کند). در کادر جست‌وجو بنویس esp32. دو نتیجه ممکن است ببینی؛ مورد درست esp32 by Espressif Systems است، نه «Arduino ESP32 Boards» که فقط برای بردهای ESP32 خود شرکت آردوینو است. روی Install بزن و صبر کن تا دانلود و نصب تمام شود.

💡 نسخه‌ی ۳ هسته‌ی ESP32 چند دستور را عوض کرده است؛ مهم‌ترینش PWM است که در نسخه‌ی ۳ با ledcAttach(pin, freq, bits) نوشته می‌شود و در نسخه‌ی ۲ با ledcSetup و ledcAttachPin. اگر کد یک آموزش قدیمی خطای «was not declared» داد، اول نسخه‌ی هسته را چک کن. توضیح کامل در آموزش PWM با ledc است.

قدم ۳: نصب درایور USB (CP2102 یا CH340)

خود ESP32 مستقیم USB نمی‌فهمد؛ روی برد یک تراشه‌ی کوچک کنار سوکت USB هست که USB را به سریال تبدیل می‌کند. برای این‌که ویندوز آن را بشناسد، گاهی باید درایورش را نصب کنی. با یک ذره‌بین یا دوربین گوشی، نوشته‌ی روی این تراشه را بخوان:

نوشته‌ی روی تراشهدرایوراسم در Device Manager
CP2102 یا CP2104 (مربعی کوچک)CP210x USB to UART Bridge VCP از سایت Silicon LabsSilicon Labs CP210x USB to UART Bridge
CH340C، CH340G یا CH9102درایور CH340/CH341 (یا CH9102) از سایت WCHUSB-SERIAL CH340

بعد از نصب، برد را وصل کن و در ویندوز Device Manager را باز کن. زیر بخش Ports (COM & LPT) باید یک خط جدید مثل COM5 ببینی. اگر به‌جایش زیر Other devices یک دستگاه با علامت زرد تعجب هست، درایور درست نصب نشده است. اگر هیچ چیز تازه‌ای ظاهر نمی‌شود، تقریباً همیشه مشکل از کابل است.

قدم ۴: انتخاب برد و پورت

از Tools و Board و esp32، گزینه‌ی ESP32 Dev Module را انتخاب کن. این گزینه برای تقریباً همه‌ی بردهای DevKit با ماژول WROOM-32 درست است. اگر دقیقاً برد DOIT سی‌پایه داری، DOIT ESP32 DEVKIT V1 هم مناسب است. بعد از Tools و Port همان پورتی را که در Device Manager دیدی انتخاب کن. چند تنظیم دیگر هم در منوی Tools ظاهر می‌شود که مقدار پیش‌فرضشان برای شروع درست است:

تنظیممقدار پیشنهادیتوضیح
Upload Speed921600اگر آپلود وسط کار خطا داد، 115200 کن
CPU Frequency240MHz (WiFi/BT)بیشترین سرعت
Flash Size4MBاندازه‌ی حافظه‌ی بیشتر بردها
Partition SchemeDefault 4MB with spiffsاگر برنامه‌ات خیلی بزرگ شد، Huge APP را انتخاب کن
Erase All Flash Before Sketch UploadDisabledفعالش کنی، فایل‌های SPIFFS و تنظیمات ذخیره‌شده هم پاک می‌شوند

قدم ۵: آپلود اولین برنامه

این برنامه‌ی کوچک هم چراغ آبی روی برد را چشمک می‌زند و هم در سریال مانیتور مدل تراشه و حافظه‌ی آزاد را چاپ می‌کند. اگر هر دو را دیدی، نصب کامل و درست است.

// ESP32 install test: blink the on-board LED and print chip info.
const int LED = 2;   // the blue LED on most ESP32 DevKit boards

void setup() {
  Serial.begin(115200);
  delay(500);                         // give the USB serial a moment
  pinMode(LED, OUTPUT);
  Serial.println("ESP32 is alive!");
  Serial.print("Chip model: ");
  Serial.println(ESP.getChipModel());
  Serial.print("Free heap (bytes): ");
  Serial.println(ESP.getFreeHeap());
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(300);
  digitalWrite(LED, LOW);
  delay(700);
  Serial.print("Uptime: ");
  Serial.print(millis() / 1000);
  Serial.println(" s");
}

روی دکمه‌ی Upload (فلش رو به راست) بزن. اولین کامپایل ESP32 چند دقیقه طول می‌کشد؛ دفعه‌های بعد خیلی سریع‌تر است. در پایین پنجره متنی مثل Connecting........ می‌بینی. اگر نقطه‌ها زیاد شد و خطا داد، در همین لحظه دکمه‌ی BOOT روی برد را نگه دار تا درصد آپلود شروع شود و بعد رها کن. وقتی پیام Hard resetting via RTS pin آمد، برنامه روی برد است.

خطاهای رایج نصب و راه‌حلشان

پیام یا علامتعلتراه‌حل
ESP32 در لیست بردها نیستآدرس Board Manager اشتباه یا پکیج نصب نشدهآدرس را دوباره کپی کن و در Boards Manager پکیج Espressif را نصب کن
منوی Port خاکستری استکابل شارژی یا درایور نصب‌نشدهکابل داده‌ی دیگری امتحان کن، بعد درایور را نصب کن
Failed to connect to ESP32: Timed out waiting for packet headerبرد خودکار به حالت آپلود نرفتههنگام Connecting دکمه‌ی BOOT را نگه دار
دانلود پکیج وسط کار قطع می‌شوداینترنت ناپایداردوباره Install بزن؛ فایل‌های دانلودشده نگه داشته می‌شوند
A fatal error occurred: MD5 of file does not matchسرعت آپلود برای کابل زیاد استUpload Speed را 115200 کن
Servo.h: This library only supports boards with an AVR...کتابخانه‌ی مخصوص آردوینواز ESP32Servo استفاده کن

برای همه‌ی حالت‌های خطای آپلود، یک مقاله‌ی جدا داریم: رفع خطای آپلود ESP32. اگر کتابخانه‌ای لازم داشتی (مثل ESP32Servo یا PubSubClient)، از Tools و Manage Libraries نصبش کن؛ راهنمای کتابخانه‌های آردوینو این بخش را کامل توضیح داده است.

بدون نصب: اجرا در شبیه‌ساز

نصب پکیج ESP32 و درایور گاهی یک عصر کامل وقت می‌گیرد، مخصوصاً با اینترنت کند. اگر می‌خواهی همین امروز کد بنویسی، برد ESP32 تینکرکد فارسی در مرورگر اجرا می‌شود و چیزی نصب نمی‌کند. برنامه‌ی تست بالا را می‌توانی همان‌جا اجرا کنی و چشمک زدن LED و پیام‌های سریال را ببینی. باز کردن و خواندن مثال‌ها رایگان است و اجرای برد ESP32 به اشتراک Plus نیاز دارد. پروژه‌ی آماده‌ی «سلام ESP32» نقطه‌ی شروع خوبی است و اگر می‌خواهی کد را واقعاً با کامپایلر ++C بسازی، درباره‌ی اجرای واقعی و کامپایل آنلاین بخوان. این شبیه‌ساز روی اینترنت ملی هم کار می‌کند، پس اگر wokwi.com برایت کند است، جایگزین خوبی است. بعد که نصب روی کامپیوتر تمام شد، همان کد را بدون تغییر روی برد واقعی آپلود کن.

اشتباه‌های رایج

نصب تمام شد؟ اولین پروژه‌ی واقعی را بساز: چشمک‌زن دو LED با ESP32 و بعد وصل شدن به وای‌فای. همه‌ی آموزش‌های این برد در صفحه‌ی ESP32 هستند.

بدون نصب، ESP32 را در مرورگر امتحان کن 🛠️

سؤال‌های رایج

آدرس Board Manager برای ESP32 چیست؟

آدرس رسمی Espressif این است: https://espressif.github.io/arduino-esp32/package_esp32_index.json که باید در File و Preferences در کادر Additional boards manager URLs قرار بگیرد.

چرا پورت ESP32 در آردوینو IDE دیده نمی‌شود؟

یا درایور تراشه‌ی USB (CP2102 یا CH340) نصب نیست، یا کابل فقط شارژی است و سیم داده ندارد. اول کابل دیگری امتحان کن و بعد در Device Manager ببین برد با چه اسمی شناخته می‌شود.

در لیست بردها کدام را برای ESP32 DevKit انتخاب کنم؟

گزینه‌ی ESP32 Dev Module برای تقریباً همه‌ی بردهای DevKit با ماژول WROOM-32 کار می‌کند. گزینه‌ی DOIT ESP32 DEVKIT V1 هم برای همان برد سی‌پایه درست است.

بدون نصب هیچ چیزی می‌شود کد ESP32 را امتحان کرد؟

بله، در یک شبیه‌ساز آنلاین مثل ووکوی یا شبیه‌ساز فارسی تینکرکد می‌توانی کد ESP32 را در مرورگر اجرا کنی و بعد که برد و نصب آماده شد، همان کد را روی برد واقعی بریزی.

مقاله‌های مرتبط

🎛️

analogRead در ESP32: خواندن پتانسیومتر با ADC دوازده‌بیتی و تبدیل به ولتاژ

👆

پین لمسی ESP32: ساخت کلید لمسی بدون هیچ قطعه‌ای با touchRead

🦾

راه‌اندازی سروو موتور با ESP32: کتابخانه‌ی ESP32Servo، روش ledc ۵۰ هرتز و تغذیه‌ی درست

🛠️

نصب میکروپایتون روی رزبری پای پیکو و راه‌اندازی Thonny، قدم‌به‌قدم

همه‌ی آموزش‌های ESP32 و اینترنت اشیا ← · همه‌ی مقاله‌ها