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

محتویات
سلام. آموزش راه اندازی پروژه دوربین وای فای با IoT (پخش زنده اینترنتی با ESP32-CAM) را آماده کرده ایم. فیلم عملکرد مدار را ببینید !
پروژه راه اندازی دوربین وای با فای باIoT
در این پروژه IoT ما یک دوربین را راه اندازی کردیم و با استفاده از آن یک زنگ درب هوشمند مبتنی Wi-Fi استفاده ساخته ایم. در این پروژه هر بار در که دکمه فشار داده شود، آهنگ خاصی در گوشی شما پخش میشود. و یک پیغام برای شما ارسال میشود که لینک مشاهده تصویر زنده در آن قرار داده شده است.
مدار این پروژه بسیار ساده است، فقط کافی است دو LED ، یک دکمه فشار و یک بازر را به پین های ESP32 GPIO وصل کنید. هر وقت دکمه را فشار دهید بازر فعال میشود. از یک LED برای نشان دادن وضعیت روشن و خاموش بودن استفاده می شود و ال ای دی دیگر برای نشان دادن وضعیت اتصال به شبکه استفاده می شود.
پیشنهاد میکنم قبل از خواندن ادامه مطلب، مقاله آموزش برنامه نویسی ESP32 را بخوانید.
قطعات مورد نیاز پروژه
- برد ESP32-CAM
- مبدل 220 به 5 ولت
- ال ای دی – 2 عدد
- دکمه
- بازر
نحوه پیاده سازی سیستم آیفون تصویری در سایت IFTTT
شما در ابتدا باید یک حساب کاربری در سایت IFTTT ایجاد کنید : کلیک کنید !
مرحله اول : ابتدا در قسمت Services روی Webhooks و سپس روی Documentation کلیک کنید و Key خود را کپی کنید.
مرحله دوم : روی آیکون پروفایل در بالای صفحه کلیک کنید. سپس گزینه Create را انتخاب کنید. پسس در صفحه ای که باز میشود روی دکمه +This کلیک کنید. در این جا webhooks را سرچ کنید و سپس روی آیکون webhooks کلیک کنید !
مرحله سوم : در قسمت choose trigger option روی “receive a web request” کلیک کنید.
سپس در اینجا باید یک نام انتخاب کنید. ما به طور مثال از “button_pressed” استفاده کردیم. توجه داشته باشید نمیتوانید از اسپیس استفاده کنید.
همچنین ببینید : پروژه IoT سنسور حرکت با هشدار در موبایل با ماژول ESP8266
مرحله چهارم : سپس روی دکمه +That کلیک کنید. در این قسمت عبارت Android را سرچ کنید و Android Device را انتخاب کنید. سپس در قسمت Choose Action ، گزینه Play a specific song را انتخاب کنید.
حالا نام موزیکی که میخواهید پخش کنید را وارد کنید. من 123 را انتخاب کردم که در گوشی ام دارم. شما میتوانید آهنگ دیگری انتخاب کنید. سپس روی ‘Create action’ و سپس روی ‘Finish’ کلیک کنید.
مرحله پنجم : حالا دوباره در قسمت ‘this’ بروید به ‘Webhooks’ و در ‘that’ روی ‘Android SMS’ کلیک کنید. در این قسمت شماره و متن پیام را تنظیم میکنید. ما لینک پخش زنده تصویر را در پیام قرار میدهیم.
توضیحات کد پروژه
کد نویسی این پروژه در نرم افزار آردوینو انجام شده است.
در ابتدا مثل همیشه کتابخانه های مورد نیزا را فراخوانی میکنیم :
#include "esp_camera.h" #include <WiFi.h>
در این قسمت نام و پسورد وای فای خود را وارد میکنیم :
const char* ssid = "Wi-Fi Name"; // نام وای فای const char* password = "Wi-Fi Password"; // پسورد وای فای
در این قسمت ما به IFTTT متصل میشویم، شما در خط دوم باید Key را که در مرحله اول دریافت کردید را وارد کنید.
const char *host = "maker.ifttt.com"; const char *privateKey = "Your Private Key"; // محل قرار دادن Key
در این قسمت پین ها را مشخص میکنیم :
const int buttonPin = 2; // پین دکمه const int led1 = 14; // پین ال ای دی const int buzzer = 15; // پین بازر
در این قسمت نیز نوع پین های مشخص شده را تعریف میکنیم :
void setup() { pinMode(buttonPin, INPUT); // پین دکمه به عنوان ورودی pinMode(led1, OUTPUT); // پین ال ای دی به عنوان خروجی pinMode(buzzer, OUTPUT); // پین بازر به عنوان خروجی
در این قسمت ما دستور میدهیم هنگامی که وای فای متصل شد ال ای دی را روشن کند :
Serial.println(""); Serial.println("WiFi connected"); digitalWrite(led1, HIGH); // روشن کردن ال ای دی
در این قسمت برعکس قسمت قبل یعنی هنگامی که وای فای قطع شد ال ای دی خاموش شود :
while (WiFi.status() == WL_DISCONNECTED) { ESP.restart(); digitalWrite(led1, LOW); // خاموش کردن ال ای دی Serial.print("Connection Lost"); // در صورت قطع ارتباط با وای فای
در این قسمت هم کد های زمانی که دکمه فشار داده میشود را بررسی میکنیم :
int reading = digitalRead(buttonPin); if (buttonState == LOW) { send_event("button_pressed"); // در صورت فشرده شدن دکمه Serial.print("button pressed"); digitalWrite(buzzer, HIGH); // فعال شدن بازر delay(3000); // به مدت 3 ثانیه digitalWrite(buzzer, LOW); // سپس خاموش شدن بازر
موارد موجود در فایل : شماتیک ، فایل Hex ، فایل آردوینو ، و …
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام. کار IFTT چی هست ؟ چه نقشی در پروژه داره؟
سلام عزیز
صدای زنگ پخش میکند.
سلام خسته نباشید بنده کاری را که گفتید انجام دادم دیگه ارور ان خط را نمیدهد ولی این ارور را میده
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
ممنون میشم کمکم کنید
سلام عزیز
پایه Io0 و GND را به هم متصل کنید سپس برد را ریست کرده یا دوباره به کامپیوتر متصل کنید و کد را آپلود کنید
برای یادگیری کار با این برد دوره ESP32 را مشاهده کنید
سلام خسته نباشید من کد که آپلود کردم این خط#include “camera_pins.h” را برایم خطا گرفت بعد کتاب خانه اش را جستوجو کردم ولی نبود ممنون میشم راهنماییم کنید
سلام عزیز
برد های ESP32 را در آردوینو نصب کنید و این پروژه همراه با تمام فایل های مورد نیاز به صورت پیشفرض در قسمت example های نرم افزارقرار گرفته است
سلام وقتتون بخیر
در قسمت انتخاب موسیقی
ارور میدهد مشکل از چیست؟
سلام
میشه فیلم و تصویر رو توسط بلوتوث به موبایل انتقال داد و یک روبات کنترلی ساخت؟
من با این برد پروژه نمونه خود نرم افزار اردوینو که در قسمتexampelsوجود دارد و به اسم camerawebserverاست رو اجرا کردم و مشکلی نداره.
سلام.من تمام تنظیمات رو انجام دادم ولی همش این ارور رو میده:\door_bell\door_bell\bootloader.bin was unexpected at this time.
exit status 1
Compilation error: exit status 1
سلام عزیز
متن کامل ارور را ارسال کنید
سلام
وقت بخیر
تا الان نرم افزار های سریال بلوتوث مختلفی را نصب کرده ام، اما مشکلی که هست هیچکدام به ماژول بلوتوث متصل نمی شود. ممنون میشم اگر نرم افزار سریال بلوتوث معتبر معرفی بفرمایید.
سلام عزیز
احتمالا مشکل شما از جای دیگری هست
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
دلیل این ایراد چیه؟
سلام عزیز
اتصالات را بررسی کنید اگر صحیح بود دقت کنید که پایه IO0 را به GND متصل کنید و سپس برد را ریست کنید.
بین پایه en و زمین یک خازن 10 uf بگذارید
نوشتار کامل خطا به سوی زیر است
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6360
entry 0x400806b4
[E][camera.c:1113] camera_probe(): Detected camera not supported.
[E][camera.c:1379] esp_camera_init(): Camera probe failed with error 0x20004
سلام عزیز
این ارور میتوانید به آسیب رسیدن به ربان اتصال دهنده دوربین به ماژول ESP32 مربوط باشد
سلام آقای رحیمی
برنامه CameraWebServer را روی esp32cam آپلود کردم اما پس از جدا کردن پایه IO0 به GND پس از زدن دکمه RST .آی پی مربوطه در سریال مانیتور نشان داده نمی شود و پیغام زیر را می دهد
00:20:42.521 -> [E][camera.c:1113] camera_probe(): Detected camera not supported.
00:20:42.521 -> [E][camera.c:1379] esp_camera_init(): Camera probe failed with error 0x20004
تشکر
سلام عزیز
یک تصویر از مدار همراه با توضیحات کاری که انجام دادید در انجمن قرار دهید
سلام
من یک esp32cam با شیلد پروگرامر مخصوص اون رو خریدم و می خواستم برنامه CameraWebServer رو در آن آپلود کنم.با انجام دادن تمام کارهای نرم افزاری و سخت افزاری پیغام خطا داد حجم برنامه از حجم esp32cam بیشتر است یا موقع آپلود برنامه هایی با حجم کمتر وقتی به connecting میرسد پیغام می دهد که : خطای بزرگ و قابل اتصال به esp32cam نیست.
در ضمن از کجا نوع esp32cam را بفهمیم ( wrover moduile یا al thinker یا … ) چون من هر نوعی را انتخاب کردم همین خطا ها را داد.
در بعضی از سایتهای خارجی گفته که باید یک خازن پلاریته 1uf تا 10uf به پایه های en و gnd متصل کرد. اما روی esp32cam پایه ی en موجود نیست.
در سایت شما برای اتصال از پایه 3.3v استفاده و در بعضی سایت دیگر از پایه 5v استفاده کرده . اما در شیلد مخصوص esp32cam فقط پایه 5v موجود است.
تشکر
سلام وقت بخیر
بعد از آپلود کد باید آن را از شیلد پروگرامر جدا کنید و حتما تغذیه را به 5 ولت آن متصل کنید.
سلام من این ماژولesp32 _cam را پروگرام کردم ولی در سریال مانیتور آی پی به من نمی دهد در ضمن در لیست وای فای موبایلم اسم ماژول نمی آید
سلام و درود بر شما
ببخشید چطور می توان به صورت مستقیم ESP32 CAM را با گوشی ارتباط داد. یعنی بدون واسطه برای ماژول آی پی و پسورد تعریف کنیم و از طریق گوشی دسترسی پیدا کرد. تا الان برنامه های مختلفی روی برد پروگرام کردم و پیش فرض را ندارم.
سلام . منظور از لینک پخش زنده تصویر چی هست این لینک کجا هست
سلام عزیز
منظور همان آیپی هست که پنل مشاهده تصاویر زنده دوربین در آن قرار دارد.
سلام من می خواستم با ترکیب ESP32CAM و سنسور HC-SR501 PIR motion sensor کد زیر رو اجرا کنم اما وقتی خروجی حسگر حرکتی رو به esp32cam می زنم، led شروع به چشمک زدن می کنه. بدون اینکه حرکتی جلوی حسگر انجام بشه. اشکال از کجاست؟
کد نوشته شده در آدرس زیر قابل دسترس است:
shrib.com/#PocketGopher6ogvKyZ
سلام ببخشید چگونه میتوانیم هم فیلم برداری کنیم هم زمانی که خواستیم عکس را در میکرو اس دی ثبت کنیم
ممنوم میشم راهنمایی کنین
سلام ببخشید، آیا می شود از بلوتوث ESP32-CAM برای آردوینو استفاده کرد ؟
میشه یک فیلم کامل، وصل کردن ماژول به باطری وفعال سازی کامل از تریق مبایل بفرستید یا بزارید ممنونتون میشم
سلام. خسته نباشید.
اینا باید توی یک شبکه باشن. راهی هست با دو شبکه متفاوت یعنی از منزل ، محل کار را چک کرد؟
سلام جناب. بله باید در یک شبکه باشند.
سلام
ببخشید من نمی دونم بعد از متصل کردن مدار منبع تغذیه رو به کدوم پین ها وصل کنم اگه میشه راهنمایی کنید شماتیکش رو بگید.
سلام جناب. تصویر شماتیک مدار در فایل دانلودی موجود هست بررسی بفرمایید.
بله دانلود کردم منتها تو اون شماتیک فقط کلید و بازر و ال ای دی و خود ماژول و FTDI هست منتها بعد متصل کردن اینا و نوشتن برنامه تو آردوینو و … نمیدونم اینو به چی وصل کنم که روشن شه ( برق ، باتری ، … )
یکم مبتدی هستم واس همین می پرسم
ابتدا آموزش برنامه نویسی برد ESP32 رو مشاهده کنید.
آقای مهندس ببینید من همه این مراحل رو انجام دادم ، منظورم اینه که ماژول تا وقتی کار میکنه که به لب تاب متصل باشه ، من می خوام از لب تاپ جداش کنم و به یه ولتاژ وصل کنم اینو نمیدونم چیکار کنم مثلا قبلا پس از اتمام کار با آردوینو از سیستم جدا میشد و آداپتور متصل میشد . تو ویدیو که گذاشتن کل مدار توسط سیم به یه منبع وصل شده من دقیقا اونجاشو متوجه نمیشم . ممنون میشم کمک کنید
تصویر زیر پین های ESP32 CAM رو نمایش میده.

از پین 5 ولت و GND میتونید برای تغذیه استفاده کنید.
سلام
اگرمستقیم برد رو به کامپیوتر متصل کنم هیچ پورتی نمی شناسه ولی با FTDIکارهایی انجام میده ولی ادرسip وخروجی های برنامه توش نیست اما کماکان ایمیل ارسال میشه
متنی که انگلیسیه و در قسمت اس ام اس نوشته شده رو به صورت کامل توی متنی که برای ایمیل تنظیم میکنید بنویسید
سلام
ببخشید مدتی کار نکردم
متنی که انگلیسیه و در قسمت اس ام اس نوشته شده رو به صورت کامل توی متنی که برای ایمیل تنظیم کرده بودم مطابق توصیه شما نوشتم ایمیل ارسال میشود انهم یکبار وباتاخیر چند ساعته با متن زیر:
The event named “pressed_button” occurred on the Maker Webhooks service
When: pressed_button
Extra Data: send SMS to 989132213100
اما مشکل اصلی هنوز ارسال نشدن اس ام اس است
حتی پروژه IoT سنسور حرکت با هشدار در موبایل را هم انجام دادم حرکت سنس می شودو روی بورت سریال مشاهده میگردد اما اس ام اس ارسال نمیشود
سلام. دقت کنید شما باید آیپی وب سرور خودتون رو در ایمیل ارسالی قرار بدید. یعنی در کل نیازی به این قضیه نیست شما بدون اینکه توی ایمیل براتون ارسال بشه میتونید آیپی رو وارد کنید. شما باید از سریال مانیتور آدرس آیپی وب سرور خودتون رو بردارید و توی ایمیل قرار بدید. و دستگاه مورد استفاده شما و ESp32 باید به یک شبکه وایفای متصل باشند. اگر ایمیل دیر کار میکنه شما میتونید از اپلیکیشن موبایل IFTTT استفاده کنید و بجای ارسال ایمیل، ارسال ناتفیکشن به موبایل رو تنظیم کنید.
سلام از همکاری صمیمانه تان
راستش متوجه نشدم تصویری که جدید گذاشتید کجاست خودم شماره راتغییر دادم اس ام اس جواب نداد ولی برای ایمیل تنظیم کردم ایمیل ارسال شد اما در ایمیل دریافتی آیپی ندیدم چون مطابق تصویر شما نبوده ولی بهر حال ایمیلش جواب داد
برد رو به کامپیوتر متصل کنین. و بعد از زدن کلید چک کنید در سریال مانیتور آیا آیپی مشاهده میشه یا خیر. اگر آیپی بود در مرورگرتون اون رو وارد کنید
سلام
انجام دادم ایمیل ارسال شد(فقط یکبار)وحق با شما بودIFTTT به ایران اس ام اس نمیفرسته چه کنم؟
ممنون
در ایمیل آدرس آیپی بود و با زدن روش تونستید تصویر رو ببینید ؟
سلام
ifttt webhookمن ایتم انتخاب صدا نداره هر چه گشتم ایتمی که گفته بودید نبود(Play a specific song)
ممنون
یک تصویر دیگه در پست قرار گرفت چک کنید. شمارتون رو به دو صورت 981111111111 و +981111111111 قرار بدید. متن پیام رو مانند چیزی که در تصویر نشون داده شده قرار بدید. اگر جواب نگرفتید از قسمت ارسال ایمیل استفاده کنید تا تست کنید اگر ایمیل دریافت کردید یعنی IFTTT به ایران اس ام اس نمیفرسته و در صورت عدم دریافت ایمیل مشکل از جای دیگست
سلام وتشکر از بروژه خوبتان
من این بروژه را با انجام دادم ماژول اماده شد اما جواب نمیدهدال ای دی شبکه روشن می شود ولی وقتی بایه ۲ زمین می شود هیچ عکس العملی مشاهده نمی شودالبته برنامه گوشی هم بدرستی نصب شده فقط ایتم بازر را نداشت
ممنون احمدرضا علیخانی
سلام. صدایی برای زنگ تعریف کردید ؟ آیا صدا شنیده میشه ؟
عزیز فایلت خرابه چیکار کنیم
سلام. فایل خراب نیست تازه پروژه رو قرار دادیم. با winrar باز کنید.