معرفی و راه اندازی ماژول ESP32-CAM

جالب است بدانید در سال‌های گذشته برای تهیه یک دوربین‌ دیجیبتال با قابلیت پشتیبانی از WiFi باید هزینه بالایی را پرداخت می‌کردیم، تا این‌که خوشبختانه در اوایل سال 2019 برد ESP32-CAM به بازار عرضه‌‎ شد. این ماژول با پشتیبانی از یک دوربین‌ دیجیتال و کارت‌ حافظه‌ی میکرو SD، به ‌طرز شگفت‌انگیزی روند‌ قیمت قبلی را تغییر داد، به‌ طوری‌‌‌که امروزه می‌توانید، یک ماژول ESP32-CAM را با قیمت مناسبی خریداری‌ کرده و با استفاده از آن یک دوربین‌ دیجیتال با قابلیت اتصال به شبکه WiFi را بسازید.

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


اگر علاقمند به راه‌ اندازی ماژول ESP32-CAM در پروژه‌های رباتیک خود هستید، پیشنهاد می‌کنیم نحوه ساخت ربات ماشینی دوربین دار توسط این ماژول را در این آکادمی آموزش ببینید.

راه‌ اندازی ماژول ESP32-CAM در پروژه ساخت ربات متحرک دوربین دار

مروری بر سخت‌افزار ماژول ESP32-CAM

پیش از راه اندازی ماژول ESP32-CAM ابتدا لازم است که آن را مورد بررسی قرار دهیم و برای آشنایی بهتر، اجزای به کار رفته در این ماژول را معرفی کنیم.

روی برد ESP32-CAM یک ماژول ESP32-S قرار گرفته، که به عنوان هسته‌ی مرکزی این محصول عمل‌ می‌کند، زیرا در داخل این ماژول، تراشه‌ی ESP32-S به کار رفته که از دسته‌‌ی تراشه‌های SoC (system on chip) ساخت شرکت AI Thinker است که کلیه‌ی عناصر یک سیستم‌ کامپیوتری، شامل پردازنده (CPU)، حافظه‌ی RAM، فضای‌ ذخیره‌سازی اطلاعات و سایر موارد جانبی را ترکیب‌ کرده و در یک تراشه‌ی واحد جای داده‌ است. برد توسعه‌ی ESP32-CAM ویژگی‌ها و قابلیت‌های بیشتری را به ماژول ESP32-S اضافه می‌کند که در ادامه به توضیح هریک از آن‌ها می‌پردازیم:

  • پردازنده‌ی ESP32-S

ماژول وای فای و بلوتوث ESP32-S قرار گرفته برروی برد ESP32-CAM، ساخت شرکت AI Thinker بوده و از نظر شکل ظاهری و مشخصات کلی، معادل با نوع ESP-WROOM-32 ساخت شرکت Espressif می‌باشد.

 این ماژول دارای یک پردازشگر دوهسته‌ای 32 بیتی به نام Tensilica Xtensa® LX6 می‌باشد که با فرکانس‌ خیره‌کننده‌ی 240 مگاهرتز، اطلاعات را پردازش می‌کند! این فرکانس کاری بالا در پردازش اطلاعات، همان چیزی‌است که ESP32-S را به محصولی قدرتمند برای پردازش‌ ویدیو، تشخیص‌ چهره وحتی هوش‌ مصنوعی تبدیل‌ کرده‌ است.

پردازنده‌ی ماژول ESP32-S ساخت AL Thinker
  •  حافظه‌ی RAM

از آنجا که حافظه‌ی RAM  برای پردازش سریع و پیچیده در مدارات الکترونیک بسیار مهم‌ است، ماژول ESP32-s، نیز دارای 520 کیلوبایت حافظه‌ی RAM داخلی بوده، که در محفظه‌ی تراشه، کنار سایر اجزاء قرار دارد.

با توجه به اینکه سرعت انجام برخی تسک‌ها محدود می‌شود به اینکه حافظه رم چقدر سریع می‌تواند داده‌ها را به پردازنده برساند (RAM-intensive tasks)، یک حافظه‌ی PSRAM خارجی 4 مگابایتی نیز به منظور افزایش ظرفیت ‌حافظه‌ی رم برروی برد توسعه‌ی ESP32-CAM درنظر گرفته شده‌است. این ظرفیت اختصاص‌یافته برای RAM، مقدار زیادی است که برای پردازش‌های صوتی یا گرافیکی هم مناسب‌ است.‌

فضای‌های ذخیره‌سازی RAM بر روی ماژول ESP32-S

البته این نکته را هم درنظر داشته‌باشید، که حافظه‌ی RAM به تنهایی کافی‌نیست و اگر فضای ذخیره‌سازی کافی برای برنامه‌ها و داده‌های خود نداشته‌باشید، این ویژگی‌ها هیچ ارزشی ندارند، اما تراشه‌ی ESP32-S با داشتن 4 مگابایت حافظه‌ی‌فلش Flash، در این‌مورد نیز می‌درخشد.

  •  دوربین

سنسور دوربین OV2640 قرارگرفته برروی برد ESP32-CAM، همان چیزی‌ است که آن را از سایر بردهای توسعه ESP32 متمایز می‌کند و آن را برای استفاده در پروژه‌های ویدیویی مانند “آیفون تصویری” ایده‌آل می‌کند.

سنسور دوربین OV2640 روی ماژول ESP32-CAM

دوربین OV2640 دارای رزولوشن 2 مگاپیکسلی بوده، یعنی تصاویر به‌ دست آمده از آن حداکثر دارای 1600×1200 پیکسل می‌باشند و این مقدار برای بسیاری از کاربردهای نظارتی کافی است. البته برد توسعه‌ی ESP32-CAM با طیف گسترده‌ای از سنسورهای دوربین، سازگار است که می‌توانید با نوع دیگری از این سنسورها ماژول ESP32-CAM را راه اندازی کنید.

لیست کامل سنسور دوربین های سازگار با ماژول ESP32-CAM را می‌توانید در سایت github مشاهده کنید.

  • فضای ذخیره‌سازی

این ماژول دوربین وای فای با قابلیت پردازش و ارسال تصاویر از طریق اینترنت، امکان ذخیره‌سازی اطلاعات را توسط اسلات کارت حافظه‌ی microSD که روی برد توسعه‌ی ESP32-CAM قرارگرفته به ما می‌دهد. با قرار دادن کارت حافظه‌ای با فضای ذخیره‌سازی دلخواه در این اسلات، می‌توانید داده یا تصاویر را ثبت و ضبط کنید.

اسلات کارت حافظه روی ماژول ESP32-CAM
  • آنتن

بر روی برد ماژول ESP32-S یک آنتن روبردی و همینطور یک کانکتور UFL برای اتصال آنتن خارجی قرارگرفته‌ است. همانطور که در تصویر زیر نمایش داده شده‌است، با لحیم کردن یک مقاومت صفر اهمی در قسمت جامپر انتخاب آنتن می‌توانید انتخاب کنید از آنتن روبردی استفاده می‌کنید یا آنتن خارجی.

آنتن روبردی و محل اتصال آنتن خارجی روی ماژول ESP32-S

اگر تمایل دارید برای راه اندازی ماژول ESP32-CAM از یک آنتن خارجی استفاده کنید، می‌توانید با مراجعه به بخش آموزش اتصال آنتن خارجی به این ماژول، نحوه نصب و استفاده از آنتن‌های خارجی را بیاموزید.

  • LED ها

برد ESP32-CAM دارای دو عدد ال ای دی قابل برنامه ریزی می‌باشد. یکی ای آن ها LED مربعی سفید رنگ است، که به عنوان فلاش دوربین در نظر گرفته شده، اما می‌توان از آن برای روشنایی نیز استفاده کرد.

در طرف دیگر برد نیز یک ال‌ای‌دی قرمزرنگ وجود دارد که به عنوان نشانگر وضعیت استفاده‌ می‌شود. این ال‌ای‌دی به پین GPIO شماره 33 ماژول متصل است و همانطور که دانستید، وضعیت آن توسط کاربر قابل برنامه‌ریزی می‌باشد.

LED های به کار رفته در پشت و روی ماژول ESP32-CAM

مشخصات فنی ماژول ESP32-CAM :

برای راه اندازی ماژول ESP32-CAM در پروژه‌های خود بهتر است با قابلیت‌های این قطعه بیشتر آشنا شوید تا از آن‌ها در موقعیت‌های مناسب استفاده کنید. در بخش زیر می‌توانید این ویژگی‌ها را به‌طور خلاصه مرور نمایید:

  • پردازنده‌ها :
    • CPU: ریزپردازنده دوهسته‌ای 32 بیتی Tensilica Xtensa® LX6 با فرکانس 240 مگاهرتز
    • دارای کمک‌پردازنده‌ای با توان مصرفی بسیار کم (ULP)
  • حافظه :
    • 520 کیلوبایت حافظه SRAM
    • 4 مگابایت حافظه PSRAM خارجی
    • 4 مگابایت حافظه Flash داخلی
  • اتصال بی سیم :
    • وای فای : 802.11 b/g/n
    • بلوتوث : v4.2 BR/EDR و BLE
  • دوربین :
    • سنسور 2 مگاپیکسلی OV2640
    • رزولوشن UXGA 1622×1200
    • دارای فرمت های خروجی YUV422، YUV420، RGB565، RGB555 و داده های فشرده 8 بیتی
    • سرعت انتقال تصویر 15 تا 60 فریم بر ثانیه
    • دارای ال‌ای‌دی فلاش داخلی
    • پشتیبانی از بسیاری از سنسورهای دوربین
  • پشتیبانی از کارت microSD
  • امنیت :
    • پشتیبانی از همه‌‌ی ویژگی‌های امنیتی‌استاندارد IEEE 802.11 از جمله؛ WFA ،WPA
    • راه‌ اندازی ایمن
    • رمزگذاری حافظه‌ی فلش
    • دارای OTP 1024 بیتی، با امکان دسترسی تا 768 بیت برای کاربران
    • رمزنگاری سخت افزاری: SHA-2 ،AES ،RSA، رمزنگاری خم بیضوی (ECC) و مولد اعداد تصادفی (RNG)
  • مدیریت توان :
    • دارای رگولاتور داخلی کاهنده
    • پاور جداگانه برای RTC
    • جریان مصرفی 5میکروآمپر در حالت Sleep
    • دارای پین راه‌اندازی با وقفه، تایمر، مبدل آنالوگ به دیجیتال، وقفه حسگر لمسی خازنی

شماتیک و دیتاشیت ماژول ESP32-CAM

برای اطلاعات بیشتر در مورد ماژول ESP32-CAM می‌توانید شماتیک و دیتاشیت‌های موجود را از لینک‌های زیر دانلود و مطالعه نمایید.

توان مصرفی ماژول ESP323-CAM چقدر است؟

توان مصرفی ماژول ESP323-CAM، بسته به نوع استفاده‌ای که از آن می‌شود، متفاوت خواهد بود:

زمانی که از ماژول، برای فیلم‌ برداری استفاده نمی‌کنید، مصرف جریان تنها 80 میلی‌آمپر بوده و ماژول در کمترین میزان توان مصرفی خود قرار دارد. این مقدار به هنگام فیلم‌ برداری بدون‌ فلاش به 100 تا 160 میلی‌آمپر افزایش می‌یابد، که در صورت روشن بودن فلاش، می‌تواند به 270 میلی‌آمپر برسد.

وضعیت ماژولتوان مصرفی
حالت آماده به کار80 میلی آمپر ساعت
فیلم برداری بدون فلاش100~160  میلی آمپر ساعت
فیلم برداری با فلاش270  میلی آمپر ساعت میلی آمپر ساعت

پین‌های ماژول ESP32-CAM

ماژول ESP32-CAM در مجموع دارای 16 پین خروجی است. در ادامه شرح مختصری از کاربرد هریک از پایه‌های ماژول را جمع‌آوری کرده‌ایم. برای درک بهتر، پین‌های با عملکرد مشابه را در یک گروه قرار‌داده‌ایم که به صورت رنگی مشخص شده‎‌اند:

معرفی کاربرد هر پایه از ماژول ESP32-CAM  با رنگبندی متمایز

پين‌های تغذیه : بر روی برد ESP32-CAM، دو پین 3.3 و 5 ولت، جهت تغذیه‌ی ماژول وجود دارد. از آن‌جایی که بسیاری از کاربران، مشکلاتی را هنگام تغذیه‌ی ماژول، با ولتاژ 3.3 ولت، گزارش کرده‌اند، توصیه‌ می‌شود همیشه ماژول ESP32-CAM را، از طریق پایه‌ی 5 ولت تغذیه‌ نمایید. پین VCC موجود برروی برد، معمولاً به صورت پیش‌فرض، دارای ولتاژ 3.3 ولت، از خروجی رگولاتور موجود بر روی برد می‌باشد. با این حال می‌توانید، با استفاده از تغییر وضعیت مقاومت صفراهم در نزدیکی پین VCC، خروجی این پین را، بر روی 5 ولت، تنظیم کنید.

GND : پین زمین است.

پین‌های GPIO : تراشه‌ی ESP32-S، در مجموع دارای 32 پین ورودی خروجی (GPIO) است، اما از آن‌جایی که بسیاری از این پین‌ها، به صورت داخلی برای دوربین و PSRAM استفاده‌می‌شوند، برد ESP32-CAM ، تنها دارای 10 پین ورودی و خروجی (GPIO) در دسترس می‌باشد. این پین‌ها می‌توانند، وظایف‌ جانبی مختلفی مانند UART ،SPI ،ADC و Touch را به‌خود اختصاص‌ دهند.

پین‌های UART : تراشه‌ی ESP32-S، دارای دو رابط UART است که شامل UART0 و UART2 می‌باشد. با این‌حال تنها پین RX (GPIO 16) از UART2 و پین‌های GPIO1 ,GPIO3 از UART0 در ESP32-CAM  قابل استفاده هستند. از آن‌جایی که ESP32-CAM فاقد پورت USB است، از این پین‌ها باید برای فلاش و همچنین اتصال به ماژول‌های UART مانند GPS، حسگرهای اثر انگشت، سنسورهای تشخیص فاصله و … استفاده‌ شود.

پین‌های کارت MicroSD : از این پین‌ها برای ارتباط با کارت microSD استفاده‌ می‌شود. ازاین‌رو، اگر از کارت microSD استفاده‌ نمی‌کنید، می‌توانید از این پین‌ها، به عنوان ورودی و خروجی معمولی، استفاده کنید.

پین‌های ADC : در ESP32-CAM، فقط پین‌های ADC2 قابل استفاده‌اند. با این‌حال، از آن‌جایی که پین‌های ADC2 به‌صورت داخلی توسط درایور وای‌فای استفاده می‌شوند، وقتی WiFi فعال‌است نمی‌توان از آن‌ها استفاده‌کرد.

پین‌های تاچ : ماژول ESP32-CAM دارای 7 پین ورودی و خروجی لمسی خازنی است. هنگامی که یک بارِ خازنی (مانند انگشت انسان) در نزدیکی این پین‌ها قرار بگیرد، ESP32 تغییر ظرفیت خازنی را تشخیص می‌دهد.

پین‌های SPI : ماژول ESP32-CAM تنها دارای یک SPI (VSPI) در مدهای Slave و Master می‌باشد.

پین‌های PWM : ماژول ESP32-CAM دارای 10 کانال از پین‌های PWM است (همه پایه‌های GPIO)، که همگی توسط یک کنترل‌کننده PWM کنترل می‌شوند. خروجی PWM را می‌توان برای درایو موتورهای دیجیتال و LEDها استفاده‌کرد.

پروگرام و راه اندازی ماژول ESP32-CAM با آردوینو

هدف از این آموزش، راه اندازی ماژول ESP32-CAM با آردوینو بوده است، اما متاسفانه پروگرام برد ESP32-CAM به تنهایی کار مشکلی به نظر می‌رسد به این دلیل که برد آن فاقد پورت USB می‌باشد، از این رو برای پروگرام‌ کردن آن از طریق IDE Arduino به یک مبدل USB به سریال نیاز دارید. بدین‌منظور می‌توانید از “مبدل USB به سریال FTDI” یا از “شیلد ESP32-CAM-MB” استفاده نمایید. در ادامه با یادگیری هر دو روش، متوجه ویژگی‌های هرکدام می‌شوید:

نحوه‌ی اتصال ماژول مبدل FTDI به برد ESP32-CAM

اگر قصد دارید از یک ماژول مبدل FTDI برای تبدیل USB به سریال استفاده نمایید، در مرحله اول لازم است مطابق شکل زیر اتصالات میان برد ESP32-CAM و مبدل FTDI را برقرار نمایید:

نحوه سیم‌بندی مبدل FTDI به ماژول ESP32-CAM

نکته:

بیشتر مبدل‌های FTDI دارای یک جامپر برای انتخاب ولتاژ 3.3 ولت یا 5 ولت می‌باشند، با توجه به این که برای تغذیه‌ی ماژول ESP32-CAM از ولتاژ 5 ولت استفاده کرده‌ایم، جامپر مبدل FTDI را بر روی حالت 5 ولت باید قرار داد.

در این مرحله، توجه‌ داشته‌ باشید، که برای هر بار پروگرام کردن ماژول ESP32-CAM، می‌بایست پین GPIO 0 را به زمین متصل‌ نمایید. اتصال این پین به زمین، در حالت پروگرام‌ کردن ماژول ضروری است و پس از اتمام پروگرام، باید اتصال این پین را از زمین جدا‌ کنید.

نحوه‌ی اتصال برد ESP32-CAM به شیلد ESP32-CAM-MB

علاوه‌بر مبدل USB به سریال FTDI ، برای پروگرام‌ کردن ESP32-CAM می‌توان از شیلد ESP32-CAM-MB نیز استفاده نمود. این قطعه نسبت به مبدل FTDI قیمت بالاتری دارد اما با فراهم کردن اتصالی آسان و بدون سیم‌بندی، این راه اندازی را برای شما راحت‌تر می‌کند. بدین منظور، تنها کافی‌است ماژول ESP32-CAM خود را بر روی پین‌هدرهای موجود بر روی برد ESP32-CAM-MB قراردهید تا اتصال میان دو برد برقرارشود. حال با استفاده از یک کابل میکروUSB ، شیلد را به رایانه خود متصل کنید، سپس برنامه‌ی مورد نظر خود را بر روی ماژول آپلود و آن را پروگرام کنید.

اجزای شیلد ESP32-CAM-MB

این شیلد مبدل USB به سریال، با بهره‌گیری از تراشه‌ی CH340G، داده‌ها را بین رایانه‌ی شما و ESP32-CAM ترجمه می‌کند. علاوه‌براین، برروی این برد، یک کلید ریست، یک کلید راه‌اندازی، یک LED نشانگر پاور و یک رگولاتور جهت تنظیم ولتاژ مورد نیاز ماژول ESP32-CAM، قرار گرفته‌ است.

تنظیمات Arduino IDE

پس ایجاد اتصالات لازم برای راه اندازی ماژول ESP32-CAM، لازم است برنامه آردوینو هم توسط نصب برد ESP32 و شناسایی کامل این ماژول، برای آپلود و برنامه ریزی آن آماده شود. با انجام مراحل زیر، می‌توانید این تنظیمات را به‌طور کامل انجام دهید:

1)  نصب برد ESP32

برای استفاده از ماژول ESP32-CAM یا هر ماژول ESP32 دیگری با استفاده از Arduino IDE، ابتدا می‌بایست برد ESP32 را از لحاظ نرم‌افزاری توسط Arduino Board Manager نصب نمایید. برای انجام این کار مراحل زیر را دنبال کنید:

  • برنامه‌ی Arduino IDE را اجرا کرده و به مسیر  File > Preferences بروید.
باز کردن منوی file در آردوینو و انتخاب گزینه perefernces
  • سپس آدرس زیر را کپی کرده و آن را مطابق شکل زیر در قسمت Additional Board Manager URLs وارد کنید و بر روی گزینه‌ی OK کلیک نمایید.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
قرار دادن آدرس کپی شده در قسمت Additinal Boards Manager URLs
  • اگر قبلاً URL برد دیگری را در این بخش وارد کرده بوده‌اید، می‌توانید با کلیک روی آیکن سمت راست آن، پنجره‌ای را باز کنید و آدرس کپی شده را در یکی از ردیف‌های لیست بردهای نصب شده اضافه کنید.
لیست آدرس نصب بردها در آردوینو
  • اکنون به مسیر …Tools > Board > Boards Manager بروید.
انتخاب گزینه  Board Manager از منوی Tools در آردوینو
  • حالا در پنجره‌ی باز شده، عبارت “esp32” را در قسمت جستجو وارد کرده و به دنبال ESP32 ساخت Espressif systems باشید. سپس آن را انتخاب و بر روی گزینه‌ی Install کلیک نمایید.
نصب ESP32 ساخت Espressif systems در  board Manager

نکته:

اطمینان حاصل کنید که آخرین نسخه از ESP32 Arduino core را نصب کرده‌اید. بدین منظور می‌توانید به مسیر Tools > Board > Boards Manager بروید، عبارت ESP32 را جستجو کنید و نسخه ای را که نصب نموده‌اید را تأیید کنید. اگر نسخه جدیدتری موجود است، می‌بایست آن را نصب نمایید.

2) انتخاب برد و پورت

پس از نصب ESP32 Arduino Core، نرم افزار Arduino IDE خود را مجدداً راه‌ اندازی نمایید و مطابق شکل زیر از مسیر Tools > Board > ESP32 Arduino، گزینه AI-Thinker ESP32-CAM را انتخاب کنید.

انتخاب گزینه AI-Thinker ESP32-CAM از منوی ESP32 Arduino در آردوینو

سپس ماژول ESP32-CAM را با استفاده از کابل USB به رایانه‌ی خود متصل‌ نمایید. سپس از مسیر Tools> Port، پورت COM که ماژول ESP32-CAM به آن متصل‌ است را انتخاب‌ کنید.

انتخاب پورت COM از منوی Ports  در  Tools

اکنون تنظیمات Arduino IDE شما برای ماژول ESP32-CAM به طور کامل انجام شده‌است و می‌توانید برنامه‌های مورد نظر خود را از طریق Arduino IDE بر روی آن آپلود نمایید.

درادامه با اجرای چند مثال همراه ما باشید :

 نمونه برنامه) اجرای برنامه‌ی ال‌ ای‌ دی چشمک‌ زن با ESP32-CAM

اگر ماژول خود را از کابل USB جداکرده‌ا‌‌ید، دوباره آن را متصل‌ نموده و برد و پورت را مطابق مراحل قبل، در نرم‌‌افزار آردوینو تنظیم‌ نمایید. در این برنامه، از ال‌ ای‌ دی فلاش دوربین، که به پین (GPIO4) 4 متصل‌ است استفاده‌ می‌نماییم.

int flashPin = 4;

void setup() {
    pinMode(flashPin, OUTPUT);
}

void loop() {
    digitalWrite(flashPin, HIGH);
    delay(1000);
    digitalWrite(flashPin, LOW);
    delay(1000);
}

به‌منظور اجرای این برنامه، ابتدا کد زیر را در Arduino IDE خود کپی و سپس آن را بر روی ماژول ESP خود آپلود کرده و نتیجه را تماشا کنید. اکنون می‌بایست ال‌ای‌دی فلاش روی برد ESP32-CAM شما به حالت چشمک‌زن درآمده باشد. اگر از مبدل USB به سریال FTDI استفاده می‌کنید، در هنگام آپلود برنامه بر روی ماژول، حتما پین  0(GOIO 0) را به زمین  GND متصل‌ نمایید و پس از اتمام آپلود، آن را جدا کنید. در این حالت ممکن‌ است برنامه اجرا نشود، که می‌بایست دکمه‌ی RESET ماژول را یک بار فشار دهید، تا برنامه اجرا شود.

نحوه استفاده از مثال‌های آماده ESP32-CAM :

اگر به دنبال راه اندازی ماژول ESP32-CAM با آردوینو در پروژه‌های مختلف هستید، هسته‌ی ESP32 Arduino شامل مثال‌های زیادی از کاربردها و امکانات مختلف این ماژول، از اسکن شبکه‌های مجاور گرفته تا ساخت وب‌سرور، می‌باشد، پس برای دسترسی به این برنامه‌ها، مطابق شکل زیر، به مسیر File > Examples > ESP32 در نرم‌افزار آردوینو بروید تا مجموعه‌ای از برنامه‌های‌ نمونه را مشاهده‌ کنید. شما می‌توانید هر یک از این برنامه‌ها را انتخاب‌ و بر روی ماژول ESP32-CAM خود تست ‌کنید.

انتخاب گزینه esp32 در منوی Examples برای اجرای نمونه مثال‌های بیشتر

ساخت سرور پخش زنده ویدیو با ESP32-CAM

اگر علاقمند به راه اندازی ماژول ESP32-CAM در یک Web Cam با امکانات کامل هستید، که شامل ویژگی‌هایی نظیر تشخیص‌چهره و .. باشد، خوشبختانه باید بگوییم برای ساخت یک سرور پخش زنده‌ ویدیو فقط کافی است برنامه‌ی CameraWebServer را اجرا کنید. این برنامه‌ی نمونه، یک مثال کاربردی از امکانات و ویژگی‌های ماژول ESP32-CAM می‌باشد.

برای اجرای این برنامه‌ی ، مطابق شکل زیر، به مسیر File > Examples > ESP32 > Camera > بروید و گزینه‌ی CameraWebServer را انتخاب نمایید.

انتخاب گزینه گزینه‌ی CameraWebServer  از منوی File > Examples > ESP32 > Camera در آردوینو

البته برای ‌این‌که این برنامه برروی ماژول ESP32-CAM شما اجرا شود، می‌بایست چند تغییر ایجاد نماییم:

  • ابتدا باید، مدل دوربین مناسبی را انتخاب نمایید. از آن‌جایی که ما در این آموزش از مدل AI-THINKER استفاده می کنیم، در قسمتی از برنامه که مدل‌های مختلف دوربین ذکر شده‌است، مدل AI-THINKER  را پیدا می‌کنیم و دو کاراکتر //  قبل از آن راحذف می‌کنیم. در این حالت این خط از کد از حالت کامنت خارج شده و به برنامه اضافه می‌شود.
// ===================
// Select camera model
// ===================
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
// ** Espressif Internal Boards **
//#define CAMERA_MODEL_ESP32_CAM_BOARD
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
//#define CAMERA_MODEL_ESP32S3_CAM_LCD
  • در مرحله‌ی بعد، می‌بایست اطلاعات شبکه‌ی بی‌سیم خود، شامل نام شبکه‌ و رمز عبور آن را برای ماژول تعریف نمایید. بدین منظور، متغیرهای زیر را با نام و رمز عبور شبکه‌ی بی‌سیم خود پرکنید:
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

طبق توضیحاتی که داده‌ شد، کدهایی که می‌بایست اصلاح شوند در شکل زیر با رنگ زرد مشخص‌ شده‌اند:

خط کدهای زرد رنگ مشخص شده برای اصلاح برنامه در IDE

پس از اصلاح این دوقسمت از کد آردوینو، برای آپلود بر روی ماژول ESP32-CAM آماده‌ است.

نحوه دسترسی به سرور پخش ویدئو با ماژول ESP32-CAM :

پس از آن‌که، برنامه را بر روی برد ESP32-CAM آپلود کردید،برای ارسال تصویر به کمک آردوینو، ابتدا مانیتور سریال آردوینو را باز کرده و باودریت را بر روی 115200 تنظیم کنید. سپس کلید ریست RESET موجود بر روی ماژول را فشار دهید. اکنون می‌توانید آدرس IP را در مانیتور سریال آردوینو مشاهده‌ نمایید.

نمایش آدرس IP مربوط به ماژول ESP32-CAM  در مانیتور سریال

در مرحله‌ی بعدی، یک مرورگر وب را باز نموده و آدرس IP نمایش داده شده در مانیتور سریال را در آن وارد کنید. اطمینان حاصل‌ کنید، که مرورگر وب، در همان‌ شبکه‌ای است که ESP32-CAM به آن متصل شده‌ است.

حال ماژول ESP32-CAM، می‌بایست یک صفحه‌ی‌ وب را نمایش‌ دهد، که برای شروع پخش ویدیو لازم است بر روی گزینه StartStream در پایین صفحه کلیک کنید.

نمایش تصویر به‌صورت زنده در مرورگر وب

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

پنجره تنظیمات دوربین با گزینه‌های متعدد برای تغییر میزان کیفیت و رنگ‌ تصویر

برای گرفتن‌ عکس، بر روی گزینه‌ی Get Still را کلیک کنید. توجه داشته‌ باشید، که تصاویر به جای ذخیره‌ شدن در کارت microSD، در رایانه ذخیره‌ می‌شوند.

اتصال آنتن خارجی به ماژول ESP32-CAM :

ماژول ESP32-CAM دارای یک آنتن روبردی و یک کانکتورUFL، جهت اتصال آنتن‌ خارجی می‌باشد. شما می‌توانید با لحیم‌ کردن یک مقاومت صفر اهمی در قسمت نشان‌ داده‌ شده در شکل زیر، به‌عنوان جامپر انتخاب آنتن، بین استفاده از آنتن داخلی یا آنتن خارجی، یکی را انتخاب‌ نمایید.

طبق اطلاعات موجود در دیتاشیت AI-THINKER، آنتن روبردی موجود بر روی برد ماژول، دارای بهره‌ی 2.1dBi می‌باشد و اگر به روتر خود نزدیک‌باشید، به‌خوبی کار می‌کند.

اگر خیلی از روتر خود فاصله‌ دارید، ممکن‌ است با پخش کُند ویدیو و سایر مشکلات اتصال مواجه‌شوید، در این‌صورت، باید از یک آنتن‌ خارجی 2.4 گیگاهرتز با کانکتور IPX استفاده‌ نمایید. برای این کار، می‌بایست وضعیت جامپرانتخاب‌ آنتن (مقاومت صفراهم) را تغییردهید، تا کانکتور u.FL فعال‌ شود.

لحیم مقاومت با دوموقعیت مختلف برای استفاده از آنتK خارجی یا داخلی ماژول ESP32-CAM

بدین‌منظور، سه پد لحیم‌کاری در کنار کانکتور u.FL وجود دارند. یک مقاومت صفراهم، دو پد بالایی را به هم متصل‌می‌کند. کافی‌است، این مقاومت را بردارید و آن را بین پدهای پایینی قراردهید.

سخن آخر

در پایان از شما دانش‌پژوهان گرامی بسیار سپاسگذاریم که در این آموزش نیز همراه ما بودید و با نحوه راه اندازی ماژول ESP32-CAM با آردوینو که یکی از ماژول‌های پرکاربرد در ساخت دوربین‌های امنیتی و نظارتی است، به‌‌طور کامل آشنایی پیدا کردید. اگر در هنگام انجام مثال های متعدد مربوط به این پروژه دچار مشکل شده‌اید یا سؤالی ذهن شما را درگیر خود کرده است، کافی است با ارسال پرسش خود در بخش دیدگاه همین صفحه، پاسخ خود را از کارشناسان آکادمی روبوایکیو در اسرع زمان دریافت کنید.

برد توسعه ESP32-CAM را با دوربین OV2640 از فروشگاه روبوایکیو خریداری کنید

مقالات مشابه

۱۸ دیدگاه. Leave new

  • با سلام و وقت بخیر
    توی متن نوشتین که “اطمینان حاصل‌ کنید، که مرورگر وب، در همان‌ شبکه‌ای است که ESP32-CAM به آن متصل شده‌ است.” اگه توی همون شبکه نباشیم چی؟ امکانش هست؟ مثلا بخوایم به عنوان دوربین نظارتی ازش استفاده کنیم.

    با تشکر

    پاسخ
    • درود برشما جناب عزیزی
      ممنونیم، وقت شما هم بخیر
      در این‌صورت نیازه یک سرور تهیه کنید، ماژول ESP32 تصویر رو روی سرور بارگذاری کنه و از طریق گوشی یا لپ‌تاپ یا… به این سرور متصل بشید و تصویر رو ببینید که کار پیچیده‌تری هست و نیاز به مقداری دانش شبکه داره.

      پاسخ
  • سلام این ماژول را از کجا خریداری کرده می توانم

    پاسخ
    • سلام و ارادت خدمت شما دوست عزیز
      لینک خرید محصول در انتهای مقاله اضافه شد و شما می‌توانید در زمانی کوتاه ماژول ESP32-CAM را از سایت روبوایکیو خریداری نمایید

      پاسخ
  • ببخشید اگه ما با آداپتور ۵ ولت ۵۰۰ میلی آمپر به ماژول esp32 وصل کنیم خوبه یا میسوزه

    پاسخ
    • درود برشما دوست عزیز
      آداپتور ۵ ولت مناسب است اما با آداپتور ۷.۵ ولت (یا هر آداپتوری که بیش از ۵ ولت باشد) احتمال سوختن ماژول هست.

      پاسخ
  • بسیار عالی بود ممنون از مطلب جالبی که گذاشتین

    پاسخ
    • درود برشما حیدر عزیز
      ممنونیم ازت و خیلی خیلی خوش حالیم که این آکادمی را برای یادگیری خودتون در این حوزه انتخاب کردین و از آن لذت بردین 🙂

      پاسخ
  • سلام
    وقتی رزولوشن تصویر رو بالا بردم ماژول خیلی داغ شد و تصویر خیلی لگ میزد
    چطور میشه از رزولوشن های بالاتر بدون مشکل استفاده کرد؟

    پاسخ
    • درود برشما میثاق عزیز
      متاسفانه قدرت پردازشی و انتقال داده این ماژول، رزولوشن را محدود می‌کند. با انجام تغییراتی روی تنظیمات مثل خاموش کردن تشخیص چهره و.. می‌توانید بار پردازشی ماژول را کم کنید و رزولوشن را افزایش دهید.

      پاسخ
  • سلام من این پروژه رو درست کردم حتیتصویر هم گرفتم اما چند ساعت بعد که خواستم دوباره به ماژول متصل بشم وقتی ایپی که بهم داد رو داخل مرورگر میزدم میگفت دسترسی به این سایت امکان پذیر نیست درصورتی که قبلتر من همینجوری تصویر گرفته بودم لطفا راهنمایی کنید

    پاسخ
    • سلام و درود خدمت شما امین عزیز
      توجه کنید آی پی ممکنه عوض شده باشه و هر بار باید آی پی جدید رو بگیرید. همچنین ممکنه تنظیمات شبکه شما تغییر کرده باشه، به خصوص برخی از نرم‌افزارهای VPN تنظیمات شبکه سیستم رو دستکاری می کنند که باعث تداخل در اتصال به ماژول می شود.

      پاسخ
  • سلام برای من همه چیز درسته کامل تصویر دارم فقط پردازنده esp32 و پشت دوربین خیلی داغ میکنه. مشکل از کجاست؟

    پاسخ
    • درود بر مشا دوست و همراه عزیز
      داغ کردن تا حدی طبیعی است. بهتر است کیفیت تصویر رو تا حد ممکن کاهش دهید.

      پاسخ
  • درود، ما هرجایی باشیم با هر فاصله ای از دوربین میتونیم باز هم ببینیم؟

    پاسخ
  • سلام و عرض ادب. میشه من رو راهنمایی کنید من از ماژول استفاده میکنم برنامه رو اپلود میکنم اما زمانی که دکمه reset رو میزنم متاسفانه تو serial monitor هیچ اطلاعاتی به من نمیده و صفحه سفید چه کنم؟

    پاسخ
    • سلام و درود خدمت شما محمد عزیز
      پس از آپلود برنامه باید پایه GPIO0 رو از GND جدا کنید. سپس دکمه ریست رو بزنید تا برنامه اجرا شود. همچنین از صحیح بودن baudrate و پورت سریال انتخاب شده در Arduino IDE اطمینان حاصل کنید.
      موفق باشید 🙂

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

پر بازدید ترین مقالات