آردوینو برد ESP8266 ماژول دوربین

آموزش راه اندازی ماژول ESP32-CAM

نوشته شده توسط CiferTech

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

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

 


معرفی ESP32-Cam


ESP32 نسل پیشرفته ESP8266 است. یکی از تفاوت‌های آن بلوتوث داخلی‌اش می‌باشد. همچنین دارای هسته وایفای ۲,۴ گیگا هرتزی و بلوتوث داخلی تولید شده با تکنولوژی ۴۰ نانومتری شرکت TSMC می‌باشد. این ماژول دارای بهترین پرفورمنس در مصرف انرژی می‌باشد یعنی با کمترین مصرف انرژی بهترین نتیجه را برای ما به همراه دارد. اگر بخواهیم دقیق‌تر به این برد نگاه کنیم باید بگوییم که این یک chip است که پلتفرم NodeMCU در اون پیاده سازی شده که به این نوع چیپ ها System on a chip microcontrollers هم گفته می‌شود.

از دیگر امکانات ماژول ESP32-cam می‌توان به دوربین OV2640 با قابلیت ثبت تصویر با فرمت JPEG, BMP, grayscale اشاره کرد. همچنین با LED flash مونتاژ شده بر روی این ماژول قادر به تصویر برداری در مکان‌های تاریک نیز خواهید بود. یکی از ویژگی‌های کاربردی این ماژول ورودی micro SD با قابلیت ارتقا تا ۴GB است که به کاربر اجازه ذخیره تصاویر را هم می‌دهد.

” برای درک بهتر می توانید آموزش تصویری را در کانال یوتیوب من تماشا کنید ”


روش راه اندازی ESP32-cam


برای شروع باید کتابخانه مربوط به این ماژول در نرم افزار Arduino IDE نصب گردد. ابتدا باید لینک زیر در محل ذکر شده FilePreferences کپی و پیست شود.

سپس با مراجعه به بخش برد ها در Tools > Board > Boards Manager  و جسجوی ESP32 قادر به دانلود کتابخانه مربوط خواهید بود.

در ادامه می‌توانید در بخش File Examples ESP32 Camera کدهای مربوط به این ماژول را پیدا کنید. مثال CameraWebServer مربوط به این آموزش می‌باشد.

قبل از آپلود کد در ماژول باید تنظیمات شبکه را مشخص کنیم :

در این مرحله مدل ماژول خود در بین دیگر مدل ها که در کد موجود است با کامند و آن کامند کردن مشخص کنیم.

حال زمان پروگرام کردن ماژول رسیده، به یک FTDI programmer نیاز داریم تا کد های موجود در Arduino IDE را بر روی ماژول پروگرام کنیم ، مانند تصویر زیر اتصالات را برقرار کنید، دقت داشته باشید که پایه GPIO 0 باید به GND متصل باشد تا عمل پروگرام صورت گیرد.

از منوی Tools موارد انتخاب شده در تصویر را با نرم افزار خود تطابق دهید.

پس از آپلود شدن کد، پین GPIO 0 را که قبل‌تر به GND متصل کرده بودید را از GND جدا کنید. سپس سریال مانیتور را در نرم افزار اردوینو باز کنید و باند ریت را برای روی ۱۱۵۲۰۰ قرار دهید سپس دکمه RESET بر روی ماژول را فشار دهید.

همانطور که مشاهده می کنید نرم افزار به شما یک IP Address می دهد که با جسجوی این IP در مرورگر خود می توانید دوربین را فعال کنید .


اتصالات


Vcc == Vcc

GND == GND

TX == U0R

RX == U0T


لیست قطعات


  1. ماژول ESP32-CAM
  2. FTDI programmer

 


سورس کد آردوینو


کدهای زیر را کپی کرده و در آردوینو IDE قرار دهید. سپس روی برد آردوینو آپلود کنید. چنانچه روش آپلود کدها را نمی‌دانید، به آموزش کار با برد آردوینو مراجعه کنید.

 

تمامی مراحل ضروری جهت اجرای پروژه در این آموزش توضبح داده شده است، مراحل را یک به یک اجرا کرده و در صورت هر گونه سوال از طریق بخش دیدگاه ها با ما در ارتباط باشید. 

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

CiferTech

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۶۱ دیدگاه

  • سلام
    خیلی ممنونم بابت این آموزش، فقط برای انتخاب برد موقع آپلود، کدام گزینه را باید انتخاب کنیم؟

    • پس از آپلود کد و سرچ کردن ip (داخل آموزش ذکر شده) داخل مرورگر و اعمال ۵ ولت به ماژول می توانید دوربین ماژول را راه اندازی کنید . برای درک بهتر همینطور می توانید آموزش تصویری در کانال یوتیوب من رو تماشا کنید .

    • خیلی ممنون از توجه شما ،
      خیر ، همینطور که در آموزش ذکر شده با کپی کردن لینک مربوط در بخش File> Preferences قادر خواهید بود از منوی Boards Manager برد Esp32 را به لیست خود اضافه کنید .
      (کلمه esp32 را در بخش Boards Manager جستجو کنید)

    • با تشکر از توجه شما ،
      بله این ماژول برای کاربرد های ثبت تصاویر بصورت زنده یا ذخیره بر روی SDcard کاربرد دارد ،برای جزئیات بیشتر دیتاشیت ماژول ESP32 را از لینک زیر مطالعه کنید .
      http://esp32.net/

  • سلام
    با تشکر از زحمات شما مهندس عزیز
    برای پرو گرامر از رابط سریال به usb ماژولFTDI میشه استفاده کرد.

  • سلام و عرض ادب
    چطور میشه زمانی که دوربین داره کار میکنه LED فلش روی ماژول یا پینهای ماژول رو خاموش یا روشن کرد.

    • با اتصال پایه GPIO4 به تغذیه، LED فلش روشن خواهد شد. برای اطلاع بیشتر درباره پین های این ماژول می توانید به datasheet این ماژول مراجعه کنید.

      • متشکرم از وقتی که میگذارید و پاسخ میدید.
        بله این رو میدونم که با تغذیه میشه GPIO4 را تغیر وضعیت داد، بنده منظورم در زمان کار ماژول بود. مثلا وقتی تصویر رو Live داریم میینیم از طریق وایفای به پینهای ماژول مثل LED دسترسی داشته باشیم.

  • باسلام ایا پرگرام کردن این ماژول با هر مدل از پرگرام های usb به ttl مثل پراگرامر cp2102 همراه با پایه ریست امکان پذیر اسا یا فقط با ftdi امکان پرگرام شدن را دارد

  • سلام
    تنظیمات شبکه دقیقا کدام شبکه است؟
    بنده از PC استفاده می کنم. آیا این شبکه بوسیله wifi خود برد ایجاد می شود و یا شبکه ای دیگر است؟

    • با سلام
      خیر این شبکه توسط خود ماژول ایجاد نمی شود شما باید ssid و پسوورد شبکه وای فای و یا هات اسپات تلفن همراه خودتون رو در این قسمت وارد کنید.

  • سلام
    من طبق اموزش قدم قدم جلو رفتم ولی توی سریال مانیتور این اخطار رو بهم داد
    [E][camera.c:1049] camera_probe(): Detected camera not supported.
    [E][camera.c:1249] esp_camera_init(): Camera probe failed with error 0x20004

    • سلام . دوست عزیز .
      منم مشکل شما رو داشتم . ولی تونستم حلش کنم.
      اگر از درست وارد کردن username و password وای فای مطمئن هستی . این کار هایی که من انجام دادم رو انجام بده و ببین کارت حل میشه یا نه .
      تمامی مراحل بالا رو انجام بده تا مرحله اپلود کد برنامه. ولی وقتی برنامه روی برد اپلود شد و گزینه done upload رو دیدی پایه ولتاژ ۳٫۳ رو که از پروگرامر(FDTI-FT232) به esp زدی رو جدا کن و همچنین پایه GND رو جدا کن. ولی پایه های ارتباط UART رو جدا نکن. حالا با یک منبع تغذیه جدا ۵ ولت به ماژول ولتاژ بده. پایه ۵ ولت رو بزن به پین ۵V و سیم گراند رو هم بزن به پین GND کنار ۵V .( حتما گراند ولتاژ ورودی رو بزن به همین پایه GND چون نمی دونم چرا ولی من خودم که زدم به پایه های دیگه مدار کار نداد.)
      حالا پروگرامر رو وصل کن به سیستم و ولتاژ ۵ ماژل رو هم تامین کن.
      بعد سریال مونیتور اردوینو رو باز کن . حالا دکمه ریست ماژول رو بزن. الان IP که توی سریال مونیتور بهت داد رو توی مرور گر بزن. و الان هم دیگه نیازی به پروگرامر نداریم. می تونی جداش بکنی.

  • سلام مهندس جان.من به ftdi programer و یا به بورد آردوینو برای پروگرم کردن بورد esp32-cam دسترسی ندارم میتونم برا آپلود پروژه از wemos استفاده کنم؟
    اگه جواب اوکیه لطفا خودتون یه تست و راهنمایی بفرمایید چون من هر کاری کردم بعد از کامپایل پروژه آپلود نمیشه.

      • سلام و تشکر از پاسختون.یه پروگرمر cp2102 گیر آوردم و باهاش پروگرم کردم و نتیجه کامل باهاش گرفتم.ممنون بابت اشتراک گذاریتون.

  • سلام.من با پورت فوروارد کردن مودمم و البته با آی پی ایستا سعی میکنم که ارنباط رو تو اینترنت نیز داشته باشم ولی نمیتونم.آیا در این مورد نیز تجربه ای دارید؟

  • سلام
    توی چندین ویدئو دیدم که موقع نوشتن کد توی Arduino IDE تاکید داشتند که برای استفاده ی درست از کتابخانه ها بردتون حتما ساخته ی AI Thinker باشه. با توجه به اینکه تو سایت های ایرانی این برد رو برای خرید پیدا نمکینم و اون هایی که هست تفاوت قیمت قابل توجهی با مدلی که AI Thinker روش درج نشده دارند، میخواستم ببینم آیا حتما باید این برد باشه یا از برد های دیگه هم میشه استفاده کرد؟ (در توضیحاتشون فقط نوشته چین).
    مثل این مورد:
    http://www.n******.ir/Shops/ProductDetail/38579?part_number=ESP32-CAM

    • با سلام
      خیر نوع ماژول آنچنان تفاوتی ندارد، البته که از نظر کیفیت تفاوت هایی هست اما برای راه اندازی مشکلی نخواهد بود. حتی در کتابخانه مرجع ماژول نام انواع این ماژول ذکر شده.

  • سلام. با تشکر از شما.
    آیا ماژولی هست که خودش، شبکه رو بوجود بیاره؟
    منظورم اینه که دیکه نیازی به وای فای یا هات اسپات گوشی نباشه.

    • با سلام
      با استفاده ماژول های ESP که در این آموزش نیز از آن استفاده شده این امکان وجود دارد تنها به تغییراتی در کد نیاز است.

  • سلام و خسته نباشید
    آیا امکان اینکه از هرجایی بصورت زنده ویدئوی برد esp32 رو مشاهده کنیم وجود داره؟؟

  • سلام.
    ۱-پورت FTDI رو به چی وصل میکنید؟
    ۲- اگه قرار است در TOOLS سخت افزار ESP را انتخاب کنیم پس آردوینو چه می شود؟
    یکم توضیح بدید…ممنونم……

    • با سلام،
      ۱- منظورتون رو متوجه نشدم، با استفاده از FTDI پروگرامر، esp را پروگرام میکنیم و خود پروگرامر نیز به سیستم شما متصل می گردد.
      ۲- در این آموزش اصلا با آردوینو کاری انجام نمی دهیم تمام پروسه بر روی ماژول esp32 صورت میگیرد.

  • سلام.
    این ماژول محدوده مسافت نداره؟؟ از هر جای کشور میشه پخش تصاویر زنده رو مشاهده کرد؟؟ممنونم..

    • با سلام،
      بله در این آموزش شما اطلاعات دوربین را از شبکه مجلی که مشخص کردید دریافت خواهید کرد، اما با ارسال اطلاعات به فضای کلاود و یا استفاده از Home assistant این امکان وجود دارد.

  • سلام مهندس ممنون از پاسخ هاتون….
    خوشبختانه امروز تونستم راه بندازم… ۲ نکته اینجا لازم میدونم بگم.
    ۱- مصرف جریان قبل از استارت نمایش دوربین ۰٫۰۸ آمپر و بعد از استارت ۰٫۱۶ آمپر هست. میخواستم بدونم برای شما نیز چنین است؟
    ۲- موضوع مهم اینه که بعد از خاموش – روشن شدن وای فای (حالا چه موبایل یا هر مودم دیگه ای) برای نمایش مجدد پخش زنده باید دکمه ریست روی ماژول زده شود وگرنه چیزی رو نشون نمیده… فکر میکنم دستوری باشه که این موضوع رو اصلاح کنه و با خاموش روشن شدن وای فای دیگه دکمه ریست رو نزنیم و اتومات نشون بده…

    • با سلام
      ۱- من بطور دقیق اندازه گیری نکردم ولی جای نگرانی نیست افزایش جریان مصرفی طبیعیه.
      ۲- این مورد باید بررسی بشه ولی در حالت عادی ماژول یکبار برای اتصال به شبکه وایفای تلاش میکنه و زمانی که دسترسی اینترنت قطع میشه برای اجرای دوباره کد و تلاش مجدد برای اتصال باید ماژول رو دستی ریست کنیم، حالا در کد نویسی ماژول کاری که باید بکنیم اینه که این تلاش برای اتصال رو داخل یک حلقه قرار بدیم و با چندتا شرط ساده هم توسعه داده بشه.

      • سلام. با قطع و وصل منبع تغذیع +۵ ولت مجددا تصاویر برمیگرده. خب اگه دوربین در ارتفاع باشه نمیشه نردبان بذاریم بریم بالا … من از sim800 استفاده میکنم و یک رله میتونم اونجا بذارم و با ارسال پیامک اون رله وصل شه و تغذیه رو on و off کنه. خوبیش اینه که زمانی که نمیخوای دوربین فعال باشه دیگه جریانی هم نمیکشه… ولی در مورد ریست روش شما نرم افزاری است و قطعا بهتر است.ممنونم……

  • سلام. با زدون دکمه Get Still ظاهرا می توان عکس گرفت. ولی نمیدونم کجای اندورید ذخیره میشه… اگه اطلاع دارین بفرمایید…ممنونم.

    • با سلام
      گزینه get still تنها باعث فریز شدن تصویر می شود برای عکس برداری باید از کد متناسب با نیاز خودتون استفاده کنید. این آموزش تنها برای استریم تصویر میباشد.

  • سلام . می خواستم بدونم می تونیم دوربین این ماژول رو ارتقا بدیم. مثل دوربین با کیفیت بهتری روی این ماژول بزاریم

    • با سلام
      اگر قصد افزایش کیفیت دوربین رو دارید می تونید از nodeMcu و دوربین هایی برای مثال OV7670 استفاده کنید و لازم به استفاده از خود ماژول espcam به صورت جدا نیست.

  • سلام. می خواستم بدونم میشه کیفیت دوربین این ماژول رو ارتقا داد.مثلا یه دوربین ۴ مگا پیکسل گذاشت روی ماژول

    • با سلام
      اگر قصد افزایش کیفیت دوربین رو دارید می تونید از nodeMcu و دوربین هایی برای مثال OV7670 استفاده کنید و لازم به استفاده از خود ماژول espcam به صورت جدا نیست.

  • یه پین هدر ۳ تایی پشت پین هدر های خروجی هستش. توی شماتیکی که که بالا گذاشته بودید.انگار دو تاش به هم وصل بودن. ولی دقیق معلوم نبود .میشه بگید کدوماش به هم وصل شده .تشکر

    • با سلام
      همینطور که داخل متن نوضیح دادم، پایه های GPIO0 و GND به هم متصل و پس از اتمام مراحل پروگرام، جدا حواهند شد.

  • سلام. من تمام مراحل رو انجام دادم. ولی وقتی دکمه ریست رو زدم. توی سریال مونیتور نوشت که دوربین رو نمی تونم. شناسایی کنم
    camera_probe(): detected camera not supported
    esp_camera_init():camera probe failed with error 0X20004

    • با سلام، در این مواقع مشکل از شبکه وای فایی هست که برای esp مشخص کرده اید، دوباره esp را پروگرام کرده و از شبکه اینترنت دیگری استفاده کنید.