آموزش آپلود اولین برنامه روی ESP (ESP8266 / ESP32) — قدمبهقدم، از صفر تا اجرا
فهرست مطالب
-
پیشنیازها و موارد ضروری
-
نصب درایورها (CH340 / CP210x)
-
انتخاب محیط توسعه: Arduino IDE یا PlatformIO؟
-
راهاندازی Arduino IDE برای ESP
-
نوشتن و آپلود اولین برنامه (Blink) — قدمبهقدم
-
استفاده از PlatformIO (VSCode) — قدمبهقدم
-
آپلود با ESP-IDF (برای ESP32، حالت حرفهای)
-
اجرای MicroPython و آپلود اسکریپت با ampy یا WebREPL
-
آپلود OTA (بهروزرسانی بیسیم)
-
تست و استفاده از Serial Monitor
-
عیبیابی: خطاهای رایج و راهحلها
-
نکات تکمیلی و بهترین روشها
-
جمعبندی و قدمهای بعدی
1 — پیشنیازها و موارد ضروری
قبل از شروع چند مورد ساده لازم است:
-
یک برد توسعه ESP (مثلاً NodeMCU، Wemos D1 Mini، ESP32 DevKit).
-
کابل USB سالم (برخی کابلها فقط شارژ هستند؛ برای دیتا باید کابل دیتا داشته باشید).
-
کامپیوتر ویندوز/مک/لینوکس با پورت USB.
-
اینترنت برای دانلود درایور و پکیجهای برد.
-
(اختیاری) دانگل USB-to-UART داخلی (در بعضی بردها لازم نیست).
2 — نصب درایورها (CH340 / CP210x)
بسیاری بردهای ارزان از مبدل USB ↔ UART مانند CH340 یا CP2102/CP2104 استفاده میکنند. اگر سیستم برد را نشناسد، باید درایور نصب شود.
مراحل:
-
برد را با کابل USB به کامپیوتر وصل کن.
-
در ویندوز: به Device Manager برو، اگر درایور نصب نیست، در بخش Ports یک دستگاه ناشناس ظاهر میشود (مثلاً USB Serial).
-
درایور CH340: درایور CH340 را از سایت رسمی یا منابع قابلاعتماد دانلود و نصب کن.
-
درایور CP210x: برای CP2102/CP2104 از سایت سیلیکون لب (Silicon Labs) نسخه مناسب سیستمعامل را نصب کن.
-
مک/لینوکس: معمولاً نیاز به نصب درایور نیست، اما در لینوکس ممکن است نیاز به اضافه کردن کاربر به گروه
dialoutداشته باشی:
-
سپس سیستم را دوباره لاگین کن.
نکته: اگر برد شناسایی نشد، کابل را عوض کن یا پورت USB دیگر را امتحان کن.
3 — انتخاب محیط توسعه: Arduino IDE یا PlatformIO؟
دو مسیر رایج:
-
Arduino IDE — ساده، مناسب مبتدیان، سریع برای اولین آپلود.
-
PlatformIO (در VSCode) — حرفهای، مدیریت پروژه بهتر، Dependencyها، Build configuration، مناسب پروژههای بزرگ.
در این مقاله هر دو روش را پوشش میدهم تا هر کدام را که میخواهی انتخاب کنی.
4 — راهاندازی Arduino IDE برای ESP
نصب Arduino IDE و اضافه کردن پشتیبانی ESP:
-
Arduino IDE را از سایت رسمی دانلود و نصب کن. (نسخه 1.8.x یا 2.x)
-
باز کن:
File > Preferences -
در فیلد Additional Boards Manager URLs لینکهای زیر را اضافه کن:
-
برای ESP8266:
-
-
برای ESP32:
-
(هر دو را با کاما جدا کن اگر لازم شد.)
-
سپس
Tools > Board > Boards Managerرا باز کن، در کادر جستجوesp8266یاesp32را جستجو کن و پکیج مربوطه را نصب کن.
انتخاب برد و پورت:
-
به
Tools > Boardبرو و برد موردنظرت را انتخاب کن (مثلاً NodeMCU 1.0 (ESP-12E Module) یا ESP32 Dev Module). -
به
Tools > Portبرو و پورت صحیح (COMx در ویندوز یا /dev/ttyUSBx در لینوکس) را انتخاب کن.
5 — نوشتن و آپلود اولین برنامه (Blink) — قدمبهقدم
کد نمونه (ESP8266/ESP32 — LED روی پین داخلی):
روی بسیاری از بردهای ESP داخلی یک LED به GPIO مشخص متصل است:
-
در NodeMCU: غالباً D0/D4 (GPIO2 یا GPIO16 بسته به برد)
-
در ESP32 DevKit: غالباً پین 2 یا 5 (بسته به برد)
کد عمومی:
مراحل آپلود در Arduino IDE:
-
کد را کپی و در IDE باز کن (
File > New). -
برد مناسب را از
Tools > Boardانتخاب کن. -
پورت را انتخاب کن.
-
Sketch > Verify(یا آیکون تیک) را بزن تا کد کامپایل شود. -
اگر درست کامپایل شد،
Upload(پیکان راست) را بزن. -
اگر برد دارای اتوماتیک ریست است، آپلود خودکار انجام میشود. در غیر این صورت:
-
بعضی بردها نیاز به فشردن دکمه
BOOTیاENهنگام آپلود دارند. معمولاً وقتی آپلود شروع میشود (مراحل "Connecting..." در پنجره IDE) دکمه بوت را فشار بده.
-
بعد از آپلود:
-
اگر LED شروع به چشمک زدن کرد یعنی همه چیز درست است.
-
در غیر این صورت از Serial Monitor خطاها را بررسی کن.
6 — استفاده از PlatformIO (VSCode) — قدمبهقدم
برای پروژههای حرفهای پیشنهاد میشود از PlatformIO استفاده کنی.
مراحل نصب و راهاندازی:
-
VSCode را نصب کن.
-
از داخل VSCode به بخش Extensions برو و
PlatformIO IDEرا نصب کن. -
یک پروژه جدید بساز:
PlatformIO Home > New Project-
نام پروژه، برد را انتخاب کن (مثلاً
esp32devیاnodemcuv2) -
فریمورک:
ArduinoیاESP-IDFرا انتخاب کن.
-
کد Blink در PlatformIO:
فایل src/main.cpp را باز کن و همان کد را قرار بده.
سپس PlatformIO: Build و بعد PlatformIO: Upload.
PlatformIO به طور خودکار toolchain و پکیجها را مدیریت میکند.
نکته: PlatformIO قابلیت استفاده از محیطهای چندگانه (debug, release) و مدیریت کتابخانهها را دارد — برای پروژههای بزرگ خیلی مفید است.
7 — آپلود با ESP-IDF (برای ESP32، حالت حرفهای)
اگر میخواهی از امکانات کامل ESP32 استفاده کنی (FreeRTOS، Bluetooth، BT Mesh، TLS سختافزاری)، باید از ESP-IDF استفاده کنی.
مراحل کلی:
-
نصب ESP-IDF (راهنمای رسمی Espressif را دنبال کن).
-
تنظیم محیط (Windows: ESP-IDF Tools Installer؛ Linux: اسکریپت نصب).
-
ایجاد پروژه نمونه (مثلاً
hello_world) باidf.py create-project. -
کامپایل و آپلود:
این مسیر کمی پیچیدهتر است ولی برای پروژههای صنعتی و حرفهای ضروری است.
8 — اجرای MicroPython و آپلود اسکریپت
اگر میخواهی با Python کار کنی، میتوانی MicroPython را فلَش کنی.
مراحل:
-
فایل باینری MicroPython برای ESP32/ESP8266 را از سایت رسمی دانلود کن.
-
از
esptool.pyبرای پاکسازی و فلش استفاده کن:
-
بعد از فلش، میتوانی با
ampyیاrshellیا WebREPL اسکریپتهای Python را روی برد آپلود کنی: