آردوینو اینترنت اشیا IOT برد Esp32

ساخت دوربین امنیتی کلاود ESP32-Cam با قابلیت دسترسی از هر نقطه

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

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

 

ساخت دوربین امنیتی با ESP32-cam - دیجی اسپارک

 


ngrok چیست؟!


ngrok یک برنامه cross-platform است که توسعه دهندگان را قادر می سازد با حداقل تلاش یک سرور توسعه محلی را در معرض اینترنت قرار دهند. این نرم افزار باعث می شود وب سرور محلی شما در زیر دامنه ngrok.com میزبانی شود، به این معنی که به هیچ IP یا نام دامنه عمومی در دستگاه محلی یا Local نیازی نیست. عملکرد مشابه را می توان با Reverse SSH Tunneling بدست آورد، اما این امر به تنظیمات بیشتر و همچنین میزبانی از سرور راه دور خود نیاز دارد.

 

ngrok با ایجاد یک تونل TCP tunnel از یک زیر دامنه ایجاد شده به طور تصادفی در ngrok.com (به عنوان مثال ۳gf892ks.ngrok.com) به ماشین محلی می تواند محدودیت های نقشه برداری NAT و فایروال را دور بزند. پس از مشخص کردن پورتی که سرور وب شما روی آن گوش می کند، برنامه کلاینت با اتصال سرور، شروع به اتصال می کند و سپس هر کسی می تواند با آدرس منحصر به فرد از سرور محلی خود درخواست کند.

 


تراشه ESP-32


ESP32 نسل پیشرفته ESP8266 است. یکی از تفاوت‌های آن بلوتوث داخلی‌اش می‌باشد. همچنین دارای هسته وایفای ۲,۴ گیگا هرتزی و بلوتوث داخلی تولید شده با تکنولوژی ۴۰ نانومتری شرکت TSMC می‌باشد. این ماژول دارای بهترین پرفورمنس در مصرف انرژی می‌باشد یعنی با کمترین مصرف انرژی بهترین نتیجه را برای ما به همراه دارد. اگر بخواهیم دقیق‌تر به این برد نگاه کنیم باید بگوییم که این یک chip است که پلتفرم NodeMCU در اون پیاده سازی شده که به این نوع چیپ ها System on a chip microcontrollers هم گفته می‌شود. از دیگر امکانات ماژول ESP32-cam می‌توان به دوربین OV2640 با قابلیت ثبت تصویر با فرمت JPEG, BMP, grayscale اشاره کرد. همچنین با LED flash مونتاژ شده بر روی این ماژول قادر به تصویر برداری در مکان‌های تاریک نیز خواهید بود. یکی از ویژگی‌های کاربردی این ماژول ورودی micro SD با قابلیت ارتقا تا ۴GB است که به کاربر اجازه ذخیره تصاویر را هم می‌دهد.

 


ماژول FTDI programmer


برای پروگرام کردن ESP32-cam بدلیل اینکه پروگرامر داخلی برای قرار داده نشده، از این ماژول استفاده می کنیم در واقع این ماژول مبدل USB به TTL می باشد که از Rx و Tx با برد ESP-CAM و از طریق ارتباط USB با سیستم مورد استفاده ما ارتباط برقرار میکند. در این ماژول دو سطحی ولتاژ ۳٫۳ و ۵ ولت وجود دارد که در پروژه های مختلف می تواند مفید باشد.

 


نحوه کار پروژه


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

پروژه دوربین امنیتی Cloud با برد ESP32 - دیجی اسپارک

 


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


ماژول ESP32-CAM

ماژول مبدل FT232 برای پروگرام

برد esp32-cam و دسترسی به تصویر دوربین - دیجی اسپارک

 


نصب افزونه ESP32


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

نصب افزونه ESP32 - دیجی اسپارک

 

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

 

روش نصب پکیج esp32 در آردوینو - دیجی اسپارک

 


پروگرام کردن ESP32-cam


برای پروگرام کردن این برد از شماتیک زیر استفاده کنید و اتصالات را مطابق شماتیک زیر متناسب با USB TO TTL استفاده شده برقرار کنید. دقت داشته باشد که در زمان پروگرام شدن کد یعنی پس از کامپایل کردن کد، دو پین GPIO 0 و GND به یکدیگر متصل هستند و پس از کامپایل موفق کد، برای اجرا شدن پروژه باید این اتصال را جدا کنید.

روش پروگرام کردن ESP32-cam - دیجی اسپارک

 

  • اتصالات به شرح زیر می‌باشد.

اتصالات پروگرامر ESP32-cam - دیجی اسپارک

 


راه‌اندازی ngrok


در اولین مرحله برای اجرای این پروژه در سایت ngrok.com اقدام به ساخت یک اکانت خواهیم کرد. ابتدا وارد سایت ngrok.com خواهیم شد، و با استفاده از گزینه SignUp به صفحه ای در پایین نشان داده شده وارد می‌شویم.

ثبت نام و راه‌اندازی ngrok - دیجی اسپارک

 

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

مراحل ثبت نام در ngrok - دیجی اسپارک

 

در حالت دوم این امکان فراهم شده که با استفاده از اکانت Github یا Gmail در کمترین زمان اقدام به ثبت نام کنیم. در تصویر زیر با کلیک بر روی تصاویر مربوط به Gmail یا Github به واسطه این اکانت ها که از قبل ساخته اید، قادر به ساخت اکانت اتوماتیک در سایت هستید.

ثبت نام با gmail در سایت ngrok - دیجی اسپارک

 

پس از ثبت نام در سایت در صفحه اول یعد از ثبت نام یک پنجره را مشاهده خواهید کرد که با استفاده از آن ترمینال ngrok را برای سیستم عامل مربوط دانلود کنید.

دانلود ngrok از سایت اصلی - دیجی اسپارک

 

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

 


دریافت IP Local (محلی)


برای دریافت IP لوکال از برد ESP32-CAM ابتدا باید کد مدنظر را در بر روی تراشه آپلود کنیم. کدی که برای این بخش استفاده می‌کنیم نمونه ساده شده مثال اصلی دوربین است که بدون تنظیمات اضافی قرار داده شده است، تا به راحتی در فضای وب انتقال داده شود. کد زیر نیاز به چند تغییر کوچک دارد که اولین مربوط به تنظیمات SSID و پسوورد مودم شما است که باید در فیلد های مشخص شده وارد کنید.

 

این کد برای تراشه های Wrover/ Ai Thinker به درستی کار میکند، به دلیل کانفیک قرار داده برای پین های مربوط در صورتی که از تراشه های متفرقه استفاده می‌کنید، این موارد را تغییر دهید.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

پس از آپلود کد در تراشه با انتخاب گزینه سریال مانیتور در Arduino IDE قادر خواهید بود ip لدکال ایجاد شده را دریافت کنید، که در مراحل بعدی به آن نیاز خواهیم داشت.

نکته: در صورت عدم نمایش ip یکبار با استفاده از میکروسوییج بر روی برد اقدام به ریست برد کنید.

 


راه‌اندازی پروژه و انتقال تصاویر


پس از انجام مراحل قبل از جمله آپلود کد و دریافت ip لوکال باید به سمت راه‌اندازی پیش نیاز های ngrok برویم و با استفاده از کامند های مربوط اقدام به ارسال تصاویر به سمت کلاود کنیم. ابتدا از تب سمت چپ در سایت ngrok بر روی گزینه Your Authtoken کلیک کنید.

 

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

 

در مرحله بعد ترمینالی که دانلود کردیم را اجرا می‌کنیم و کامند زیر را به همراه Authtoken که دریافت کردید وارد کنید.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

در نهایت با جستجوی لینک در مرورگر تصویر را بصورت لحظه ای دریافت خواهید کرد.

ارسال تصویر برد ESP32-cam به صورت آنلاین - دیجی اسپارک

 


کلام آخر با سایفر


در این پروژه ابتدا مانند دفعات پیش یک وب‌سرور ساده استریم تصاویر ساختیم و بصورت محلی به آن دسترسی داشته و با استفاده از سرویس ngrok اطلاعات این وب سرور را به سمت کلاود ارسال و با لینک مشخصی دریافت کردیم که به ما این امکان را داد تا در هر زمان و مکانی امکان اتصال به آن را داشته باشیم. این پروژه در نمونه محصولات امنیتی و نظارتی بسیار دیده می‌شود برای مثال دوربین های امنیتی که به دوربین های ip معروف هستند و یا محصولات ممراقب از کودک که یک سیستم نظارتی را برای شما فراهم می‌کند.

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

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

۱۱ دیدگاه

  • سلام مهندس ویندوز کامپیوتر من ۷ و ۳۲ بیت است
    من نسخه ۳۲ بیت را دانلود کردم و وقتی روی فایل دانلود شده کلیک کردم سریع صفحه ی دستورات باز شد و بسته شد چند بار هم تست کردم درست نشد
    دوباره بالای ۳۲ بیت نوشته شده بود ویندوز فقط اونم دانلود کردم و اصلأ باز نشد
    به نظر شما مشکل از کجاست ؟
    ایا باید ویندوز عوض کنم ؟

  • سلام مهندس مشکل باز نشدن فایل حل شد
    به این صورت که من داخل پوشه دانلود کامپیوتر روی فایل کلیک راست و گزینه Open with و روی گزینه Windows Explorer کلیک کردم و روی فایل که کلیک کردم یه پنجره ای باز شد و دو گزینه Cancel و Run داشت که من روی گزینه Run کلیک کردم و صفحه دستورات باز شد
    ولی مشکل بعدی که هست
    داخل صفحه دستورات نوشته C:\Windows\system32< و منم طبق گفته شما کامند ngrok authtoken به همراه توکن را بصورت زیر وارد کردم

    C:\Windows\system32< ngrok authtoken به همراه توکن وارد کردم و enter
    را فشار دادم
    اینو نوشت
    ngrok is not recognized as an internal or external command operable program or batch file.
    الان باید چکار کنم ؟

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

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

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

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

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

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