بازگشت به بلاگ

دوربین مدار بسته با ESP32-CAM

راه‌اندازی دوربین مدار بسته با ESP32-CAM

در این آموزش یاد می‌گیریم چطور با ماژول ESP32-CAM یک دوربین مدار بسته با ESP32-CAM بسازیم و تصویر زنده (Live Stream) را از طریق Wi-Fi روی موبایل یا کامپیوتر ببینیم. در پایان فقط کافی است IP نمایش‌داده‌شده در Serial Monitor را در مرورگر باز کنید و Start Streaming را بزنید.

وسایل موردنیاز

• ماژول ESP32‑CAM (ترجیحاً AI‑THINKER)
• مبدل USB‑to‑TTL (مثل FTDI 232RL یا CP2102)
• کابل‌های جامپر
• منبع تغذیه 5V پایدار (حداقل 1 آمپر توصیه می‌شود)
• Arduino IDE + اینترنت برای نصب پکیج ESP32

مرحله 1: نصب پکیج برد ESP32 در Arduino IDE

برای اینکه Arduino IDE بتواند بردهای ESP32 را بشناسد، باید لینک Board Manager مربوط به Espressif را اضافه کنیم و سپس پکیج ESP32 را نصب کنیم.

1) از منوی File گزینه Preferences را باز کنید.

باز کردن Preferences در Arduino IDE برای اضافه کردن لینک Board Manager

باز کردن Preferences در Arduino IDE برای نصب برد ESP32

2) این لینک را در بخش Additional Boards Manager URLs قرار دهید (اگر چند لینک دارید با کاما جدا کنید):

https://dl.espressif.com/dl/package_esp32_index.json

شکل: قرار دادن لینک package_esp32_index.json در بخش Additional Boards Manager URLs

اضافه کردن ESP32 Boards URL در Arduino IDE

3) حالا به Tools > Boards > Boards Manager بروید.

شکل: رفتن به Tools > Boards > Boards Manager برای نصب پکیج ESP32

باز کردن Boards Manager برای نصب ESP32 در Arduino IDE

4) عبارت ESP32 را جستجو کنید و پکیج «ESP32 by Espressif Systems» را Install کنید.

شکل: جستجوی ESP32 در Boards Manager و کلیک روی Install

نصب ESP32 by Espressif Systems در Arduino IDE

مرحله 2: آماده‌سازی سخت‌افزار برای پروگرام ESP32‑CAM

برای آپلود کد روی ESP32‑CAM معمولاً از مبدل USB‑to‑TTL استفاده می‌شود. نکته مهم این است که در زمان پروگرام، پایه IO0 باید به GND وصل باشد و بعد از پایان آپلود، این اتصال را جدا کنید.

شکل: شماتیک اتصال ESP32-CAM به مبدل USB-to-TTL (FTDI 232RL) برای پروگرام

اتصال USB to TTL به ESP32-CAM برای آپلود برنامه

اگر از ماژول AI‑THINKER استفاده می‌کنید، ظاهر برد معمولاً مشابه تصاویر زیر است:

شکل: نمای نزدیک ماژول ESP32-CAM (مدل AI-THINKER)

ماژول ESP32-CAM مدل AI-THINKER

شکل: نمای دیگر ماژول ESP32-CAM روی میز (زاویه متفاوت)

برد ESP32-CAM برای ساخت دوربین تحت شبکه

مرحله 3: باز کردن مثال CameraWebServer

در Arduino IDE مثال آماده پخش زنده وجود دارد. مسیر زیر را باز کنید:

File > Examples > ESP32 > Camera > CameraWebServer

شکل: انتخاب مثال CameraWebServer در Arduino IDE (File > Examples > ESP32 > Camera > CameraWebServer)

باز کردن مثال CameraWebServer برای ESP32-CAM در Arduino IDE

بعد از باز شدن، کدی شبیه تصویر زیر می‌بینید.

شکل: نمای کد مثال CameraWebServer بعد از باز شدن در Arduino IDE

کد نمونه CameraWebServer برای ESP32-CAM

مرحله 4: تنظیم SSID و Password و انتخاب مدل دوربین

1) مقدار ssid و password را با نام و رمز Wi‑Fi خودتان جایگزین کنید.
2) اگر برد شما AI‑THINKER است، خط مربوط به CAMERA_MODEL_AI_THINKER را فعال کنید (uncomment) و سایر مدل‌ها را کامنت بگذارید.

شکل: فعال کردن مدل دوربین AI-THINKER در کد (define CAMERA_MODEL_AI_THINKER)

انتخاب CAMERA_MODEL_AI_THINKER در کد ESP32-CAM

مرحله 5: تنظیمات Tools برای آپلود

برای بسیاری از بردهای ESP32‑CAM، انتخاب «ESP32 Wrover Module» جواب می‌دهد. سپس پورت صحیح (COM/tty) را انتخاب کنید. Partition Scheme را هم روی گزینه‌ای مثل Huge APP قرار دهید تا فضای کافی داشته باشید.

شکل: تنظیمات Tools برای آپلود: انتخاب برد ESP32 Wrover Module و پورت و Partition Scheme

تنظیم برد و پورت ESP32-CAM در Arduino IDE

مرحله 6: آپلود کد و جدا کردن IO0 از GND

• قبل از آپلود: IO0 را به GND وصل کنید و یک بار دکمه Reset را بزنید.
• روی Upload کلیک کنید.
• بعد از پایان آپلود (Done uploading): اتصال IO0 و GND را جدا کنید و دوباره Reset را بزنید.

شکل: پیغام Done uploading در Arduino IDE بعد از آپلود موفق

آپلود موفق برنامه ESP32-CAM در Arduino IDE

مرحله 7: گرفتن IP از Serial Monitor و مشاهده تصویر زنده

Serial Monitor را با Baud Rate = 115200 باز کنید. بعد از ریست، ماژول به Wi‑Fi وصل می‌شود و یک IP نمایش می‌دهد. همان IP را در مرورگر وارد کنید.

شکل: نمای Serial Monitor و نمایش آدرس IP برای ورود به دوربین ESP32-CAM

گرفتن IP از Serial Monitor برای ESP32-CAM CameraWebServer

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

شکل: رابط وب ESP32-CAM در مرورگر و مشاهده تصویر زنده (Streaming)

صفحه وب دوربین ESP32-CAM و Start Streaming

مشکلات رایج و راه‌حل سریع

• وصل نشدن به Wi‑Fi: SSID/Password را دوباره بررسی کنید و از نزدیک بودن به مودم مطمئن شوید.
• ریست شدن هنگام استریم: منبع 5V ضعیف است؛ تغذیه 1A واقعی یا بیشتر استفاده کنید.
• آپلود انجام نمی‌شود: IO0 باید هنگام آپلود به GND وصل باشد و بعد از آپلود جدا شود.
• صفحه وب باز نمی‌شود: IP را دقیق از Serial Monitor بردارید و مطمئن شوید گوشی/PC روی همان شبکه است.