دوربینها امروزه کاربردهای مختلفی دارند. از صنایع تولید گرفته تا دوربین امنیتی و ترافیکی و کنترل تردد، همگی جزئی از زندگی روزمره ما شدهاند.
در این آموزش یاد خواهید گرفت که چگونه با استفاده از برد رزبری پای Raspberry Pi 3 و دوربین آن یک سیستم امنیتی تصویری با قابلیت،
۱ – تشخیص حرکت
۲ – گرفتن و ذخیره عکس در زمان تشخیص حرکت
۳ – گرفتن و ذخیره فیلم در زمان تشخیص حرکت
۴ – تماشای تصویر زنده ویدیویی از طریق اینترنت
۵ – تماشای تصویر زنده ویدیویی از طریق شبکه محلی
۶-ارسال هشدار تشخیص حرکت به جیمیل
۷-ارسال فیلم گرفته شده در زمان تشخیص حرکت به جیمیل
اگر با برد رزبری پای آشنایی ندارید، پیشنهاد میکنم آموزش آشنایی با برد رزبری پای را مطالعه کنید. در ادامه آموزش ساخت دوربین امنیتی با برد رزبری پای را آموزش خواهم داد.
انواع دوربین Raspberry Pi
۱ – Standardversion : که سبز رنگ می باشد و دارای کیفت دوربین ۸MP و فیلم برداری ۱۰۸۰p می باشد از آنجا که این دوربین دارای یک فیلتر مادون قرمز است،جهت استفاده در نور روز و مکانهایی که نور کافی دارد مناسب می باشد.
۲ – NoIR : به رنگ مشکی می باشد. مشخصات با نوع قبلی یکسان است، اما فاقد فیلتر مادون قرمز می باشد. که این نوع برای صحنه های تاریک توصیه می شود.
هر دو دوربین می توانند به طور مستقیم از طریق رابط CSI به رزبری متصل شوند ، مزیت استفاده از این دوربین به جای وب کم عدم اشغال پورت USB می باشد.
نصب کتابخانههای مورد نیاز
ابتدا بسته ها را به روز رسانی می کنیم.
sudo apt-get update sudo apt-get upgrade
ابزار motion را نصب میکنیم
sudo apt-get install motion
با فرمان زیر درایور ماژول دوربین را نصب می نماییم.
sudo modprobe bcm2835-v4l2
نکته مهم : در جمله پایانی فرمان بالا v4l2 عدد یک نمی باشد بلکه ال انگلیسی است V4L2 است. جهت شناسایی سخت افزار در زمان لود رزبری ،
جهت ویرایش وارد modules شده
sudo nano /etc/modules
و گزینه زیر را به آن اضافه می نماییم.
bcm2835-v4l2
جهت بررسی درایور ماژول های نصب شده از فرمان زیر استفاده می نماییم.
lsmod
اگر از وب کم USB استفاده می کنید، می توانید با فرمان زیر بررسی کنید که آیا شناسایی شده است یا خیر
lsusb
پیکربندی motion
با اجرای فرمان زیر ، برای استفاده در مراحل بعدی اطلاعات دوربین امنیتی را دریافت نماییم.
v4l2-ctl -V
من خروجی زیر را دریافت کردم که آن را در جایی یاد داشت مینماییم.
Format Video Capture:
Width/Height : 640/480
Pixel Format : ‘YUYV’
Field : None
Bytes per Line: 1280
Size Image : 614400
Colorspace : SRGB
وارد فایل پیکربندی Motion شده و آن را ویرایش مینماییم.
sudo nano /etc/motion/motion.conf
با استفاده از کلید های ترکیبی CTRL+W خطوط زیر را در برنامه پیدا کرده و تنظیم مینماییم.
۱ – Daemon
daemon یک برنامه است که بعنوان یک فرایند در پس زمینه سیستم عامل اجرا می شود بدین معنی که در کنترل مستقیم کاربر نیست و کار خاصی را در زمان مشخص و یا در پاسخ به یک رویداد خاص بصورت تکراری انجام می دهد.
محدوده on / off
پیش فرضoff
که ما آن را on مینماییم
Daemon on
۲ – Framerate
حداکثر تعداد فریم های گرفته شده از دوربین در هر ثانیه است که هرچه بیشتر تنظیم شود ، مقدار بیشتر ی از CPU را درگیر دریافت عکسها می کند و هنگامی که Motion حرکتی را تشخیص بدهد ، تصاویر بیشتری دریافت می شود. اگر تصویر فریم به کمتر از ۲ تنظیم شود، ذخیره سازی تصاویر متوقف خواهد شد. این پارامتر را به حداکثر تعداد تصاویر در هر ثانیه که می خواهید ذخیره کنید یا به عنوان تصاویر یا فیلم تنظیم کنید. برای تنظیم فواصل بیش از یک ثانیه، از گزینه ‘minimum_gap’ استفاده کنید.
دامنه : ۲ تا ۱۰۰ پیش فرض: ۱۵
پیشنهاد ما عددی مابین ۱۰۰۰ تا ۱۵۰۰ می باشد
framerate 1000
۳ – stream_quality
تنظیم درصد کیفیت فریم های تصویری jpeg منتقل شده در زمان ارتباط پخش زنده می باشد. هنگامی که با تعداد کم تنظیم شده باشد، پهنای باند مورد نیاز برای تماشای تصاویر را کاهش می دهد.
دامنه: ۱ – ۱۰۰
پیش فرض: ۵۰
مقدار ۱۰۰ را برای آن قرار می دهیم
stream_quality 100
۴ – stream_localhost
دسترسی به پخش زنده را به localhost محدود می کند و در صورت روشن بودن این تنظیم تماشای پخش زنده تنها می تواند در همان دستگاه که motion در حال اجرا است امکان پذیر است
محدوده : on / off
پیش فرضon
که ما آن را خاموش مینماییم
am_localhost off
۵ – webcontrol_localhost
این گزینه کنترل پارامترهای motion را به localhost محدود می کند. این گزینه باید در motion.conf قرار داده شود و نه در فایل تنظیمات دوربین. با روشن نمودن این تنظیم ، کنترل پارامترها با استفاده از مرورگر htttp تنها در همان دستگاهی که Motion در حال اجرا است، قابل دسترسی است.
محدوده : off / on
پیش فرضon
ما آن را خاموش مینماییم
webcontrol_localhost off
۶ – quality
درصد کیفیت تصاویر jpeg یا webp می باشد ،هرچه عدد کوچک تر باشد تصویر با کیفیت ضعیف تر و حجم کمتری را ذخیره می نماید.
دامنه : ۱ – ۱۰۰
پیش فرض: ۷۵
مقدار آن را ۱۰۰ قرار می دهیم
Quality 100
۷ – width
تعداد پیکسل های موجود در عرض هر فریم میباشد و مقدار آن وابسته به دوربین است. برای همه دستگاهها عرض باید یک عدد ۸ باشد. Motion دستگاه های V4l2 و Netcams HTTP را اندازه گیری نمی کند، بنابراین مقدار باید به اندازه واقعی تصویر ارائه شده توسط دستگاه تنظیم شود در مورد یک دوربین شبکه rtsp / rtmp، Motion تصویر دوربین را به ابعاد مورد نظر مجددا تنظیم می کند. این کاهش مجدد موجب اشغال CPU می شود، بنابراین توصیه می شود که دوربین شبکه تصویر را در ابعاد مشابهی که در فایل پیکربندی قرار دارد، ارسال کند.
دامنه : وابسته به دستگاه
پیش فرض: ۶۴۰
مقدار آن را بنا به مشخصات دوربین ۶۴۰ قرار می دهیم
Width 640
۸ – height
تعداد پیکسل های موجود در ارتفاع هر فریم. که محدوده آن وابسته به مشخصات دوربین است. برای تمام دستگاه ها، ارتفاع باید چند برابر ۸ باشد. Motion دستگاه های V4l2 و Netcams HTTP را اندازه گیری نمی کند، بنابراین مقدار باید به اندازه واقعی تصویر ارائه شده توسط دستگاه تنظیم شود. در مورد یک دوربین شبکه rtsp / rtmp، Motion تصویر دوربین را به ابعاد مورد نظر مجددا تنظیم می کند. این کاهش مجدد در هزینه CPU بسیار بالا است، بنابراین توصیه می شود که دوربین شبکه تصویر را در ابعاد مشابهی که در فایل پیکربندی قرار دارد، ارسال کند. در حالی که Motion تصویر را ارائه نمی دهد، اندازه آن تصویر از دستگاه video4linux را تنظیم می کند تا با مقادیر ارائه شده برای ارتفاع / عرض مطابقت داشته باشد.
دامنه : وابسته به دستگاه
پیش فرض: ۴۸۰
مقدار آن را بر روی ۴۸۰ قرار می دهیم
Height 480
۹ – post_capture
تعداد فریم هایی را که پس از تشخیص حرکت تشخیص داده می شوند، مشخص می کند. هدف از این عمدتا برای ایجاد کلیپ های ویدئویی صاف در هر زمان حرکت تشخیص داده می شود. از آن برای سلیقه شخصی (و فضای دیسک) استفاده کنید. این گزینه راه مناسبی برای ایجاد فیلمهای پیوسته است. Post_capture حافظه اضافی را مصرف نمی کند و حتی در مقادیر بزرگ نیز فیلم های مکثی ایجاد نمی کند. اگر شما فقط فیلم ها را ذخیره می کنید و خروجی ندارید، مقدار post_capture توصیه شده معادل ۱-۵ ثانیه است (فراموش نکنید که ثانیه های مورد نظر با فریم برای این پارامتر ضرب شود)
محدوده / ۰ – ۲۱۴۷۴۸۳۶۴۷
پیش فرض: ۰ (غیر فعال)
مقدار ۵ را جایگزین می نماییم
post_capture 5
۱۰ – target_dir
آدرس محل ذخیره فایل های تصویر و فیلم می باشد . که پیش فرض دایرکتوری فعلی است. این دایرکتوری هدف برای تمام عکس های فوری، فایل های تصویری و فایل های فیلم است. شما معمولا همیشه می خواهید این پارامتر را به عنوان مسیر مطلق مشخص کنید. توجه داشته باشید که گزینه های نام فایل به نسبت این target_dir ذخیره می شوند این به این معناست که شما می توانید مقصد target_dir را به عنوان ‘/’ مشخص کنید و ۱۰۰٪ انعطاف پذیر باشید. اما این توصیه نمی شود. توصیه می شود که این پوشه به عنوان عمیق تر مشخص شود.
دامنه : حداکثر ۴۰۹۵ کاراکتر
پیش فرض: تعریف نشده = دایرکتوری فعلی
آدرس زیر را جایگزین می نماییم
target_dir /home/pi/Monitor
۱۱ – v4l2_palette
v4l2_palette اجازه می دهد تا کاربر یک پالت را برای استفاده از Motion انتخاب نماید اگر دستگاه ویدئویی از این فرمت دلخواه پشتیبانی نمی کند، Motion از طریق پالت های در دسترس پدیدار می شود تا سعی کنید آن را پیدا کنید که توسط Motion و دستگاه پشتیبانی می شود. به طور پیش فرض پالت ۱۷ بیش از همه فرمت های دیگر استفاده می شود، زیرا این فرمت محلی است. در زیر هر یک از گزینه های پالت است. برای تنظیم حرکت، مقدار عددی را به عنوان گزینه حرکت مشخص کنید.
V4l2 Option FOURCC v4l2_palette option
V4L2_PIX_FMT_SN9C10X S910 ۰
V4L2_PIX_FMT_SBGGR16 BYR2 ۱
V4L2_PIX_FMT_SBGGR8 BA81 ۲
V4L2_PIX_FMT_SPCA561 S561 ۳
V4L2_PIX_FMT_SGBRG8 GBRG ۴
V4L2_PIX_FMT_SGRBG8 GRBG ۵
V4L2_PIX_FMT_PAC207 P207 ۶
V4L2_PIX_FMT_PJPG PJPG ۷
V4L2_PIX_FMT_MJPEG MJPG ۸
V4L2_PIX_FMT_JPEG JPEG ۹
V4L2_PIX_FMT_RGB24 RGB3 ۱۰
V4L2_PIX_FMT_SPCA501 S501 ۱۱
V4L2_PIX_FMT_SPCA505 S505 ۱۲
V4L2_PIX_FMT_SPCA508 S508 ۱۳
V4L2_PIX_FMT_UYVY UYVY ۱۴
V4L2_PIX_FMT_YUYV YUYV ۱۵
V4L2_PIX_FMT_YUV422P ۴۲۲P ۱۶
V4L2_PIX_FMT_YUV420 YU12 ۱۷
V4L2_PIX_FMT_Y10 Y10 ۱۸
V4L2_PIX_FMT_Y12 Y12 ۱۹
V4L2_PIX_FMT_GREY GREY ۲۰
مقدار مقابل را جایگزین می نماییم v4l2_palette 15
با استفاده از کلید های CTRL+X تنظیمان را ذخیره می نماییم. حالا ما فقط باید daemon را فعال کنیم تا بعدا بتوانیم سرویس را اجرا کنیم
واردmotion شده
sudo nano / etc / default / motion
و NO را با YES جایگزین می کنیم.
start_motion_daemon=yes
حالا پوشه ای ایجاد میکنیم که قبلا آن را به عنوان محل ذخیره سازی برای فریم های گرفته شده تعیین کرده ایم و مجوز حق نوشتن را ایجاد نماییم
mkdir /home/pi/Monitor sudo chgrp motion /home/pi/Monitor chmod g+rwx /home/pi/Monitor
سپس ما می توانیم سرویس را شروع کنیم:
sudo service motion start
تست پخش زنده دوربین Raspberry Pi
به منظور تماشای تصویر زنده از دوربین دو روش وجود دارد
۱- مرورگر خود را باز می نماییم و در بخش آدرس دهی ، نام رزبری و پس از آن : و سپس پورت ۸۰۸۱ ( اگر نام میزبان و پورت را تغییر نداده اید ) را وارد می نماییم ، با باز کزدن آدرس باید بتوانید تصویر را به صورت زنده ببینید. http://raspberrypi:8081/ همچنی می توانید از آدرس IP محلی نیز در مرورگر خود استفاده نمایید ، مانند ۱۹۲٫۱۶۸٫۱٫۵۱:۸۰۸۱
۲ – در VLC Player نیز امکان پخش وجود دارد.
برای انجام این کار، به سادگی VLC Player را باز کنید و در زیر منوی “Media” -> “Open Network Stream” (CTRL + N) آدرس فوق را مشخص کنید. این نیز در VLC Player برای گوشی های هوشمند و تبلت ( Android ، Apple ) امکان پذیر است : انتخاب “Open Media Address” در منو و آدرس IP از جمله پورت.
تماشای تصویر زنده ویدیویی از بستر اینترنت
با استفاده از DDNS رایگان
(به جای Static IP )
دسترسی به Raspberry Pi از شبکه داخلی ساده است ، اما اگر بخواهید دسترسی به PI را از راه دور از طریق اینترنتی فعال نماییم روشهای مختلفی وجود دارد که اعتبار این روش ها به روتر ما / یا ارائه دهنده اینترنت بستگی دارد ، مشکل عمده برای دسترسی به شبکه داخلی (که PI به آن متصل است) از اینترنت این است که روترهای داخلی معمولا یک IP ثابت ندارند . با توجه به کمبود آدرس های IP ممکن است پس از راه اندازی مجدد روتر شما یک آدرس جدید از ISP خود دریافت کند ، یک روش بسیار رایج برای دسترسی آسان به شبکه داخلی از طریق اینترنت استفاده از DDNS میباشد
ابتدا لازم است چند تعریف را بدانیم
تعریف IP Address :
سیستمهای کامپیوتری در شبکهی اینترنت به واسطهی یک رشته از اعداد به اسم IP Address ها شناسایی میشوند.
تفاوت IP داخلی و خلارجی :
همان طور که در تصویر می بینید، یک روتر معمولا دارای چند اتصال شبکه میباشد
IP شبکه داخلی :
روتر به دستگاه های متصل به شبکه داخلی یک IP داخلی اختصاص می دهد که توسط سرویس DHCP روتر اداره می شود،
IP شبکه خارجی :
روتر یک IP خارجی یا عمومی) اختصاص داده شده توسط ارائه دهنده خدمات اینترنت (ISP) دارد. تمام دستگاه های داخل شبکه داخلی از این آدرس برای دسترسی به اینترنت استفاده می کنند. روتر از آدرس شبکه ترجمه آدرس ( NAT ) یا سایر روش های مشابه برای مطابقت با آدرس IP داخلی با درخواست های خارجی استفاده می کند. جهت دریافت آدرس فعلی IP خارجی خود، می توانید فرمان زیر را تایپ نمایید
curl ip.changeip.com
تعریف DNS
( Domain Name System، سامانهی نام دامنه )
این سیستم تبدیل کنندهی آدرس IP به نام دامنه و حروفی است که برای انسان قابل خواندن و درک است. از آن جایی که انسانها توانایی حفظ کردن اعداد طولانی را ندارند، DNSها برای ترجمهی یک نام واقعی (نام دامنه یا اسامی سایتها برای مثال vcp.ir ) به آدرسهای آی پی استفاده میشوند.
به این صورت است که وقتی آدرس سایتی را در مرورگر خود وارد میکنید، DNS آن را به آدرس آیپی ترجمه کرده و برای شبکهی اینترنت میفرستد تا سایت مورد نظر را پیدا کند و آن را به شما نمایش دهد. میتوان اینگونه تعبیر کرد که DNS مانند دفترچهی تلفنی است که میتواند نامهای قابل فهم برای انسان را به اعدادی که شبکهی اینترنت آنها را میفهمد، ترجمه کن
تعریفDDNS
( Dynamic DNS سامانهی نام دامنه پویا )
DDNS یک سرویس است که نام دامنه های اینترنتی را به آدرس های IP تبدیل میکند.
شاید بگویید DNS هم که همین کار را میکرد!
اما باید دانست بر خلاف DNS که تنها با آدرس های آی پی استاتیک کار می کند، DDNS به گونه ای طراحی شده است که از آدرس های IP پویا (متغیر) نیز پشتیبانی مینماید، این سرویس DDNS است که به شما اجازه می دهد تا از هر نقطه از جهان به کامپیوتر خانگی خود دسترسی پیدا کنید.
سرویس DDNS چگونه کار میکند؟
برای استفاده از DDNS، فقط کافیست از یک ارائه دهنده DNS پویا اشتراک گرفته و نرم افزارشان را بر روی سیستم خود نصب نمایید . نرم افزار پس از اجرای تغییرات آدرس IP پویا را رویت و هنگامی که آدرس تغییر می کند، با سرویس DDNS ارتباط برقرار کرده و اکانت شما را با آدرس IP جدید به روز می نماید.
چگونه میتوان یک سرویس DDNS رایگان گرفت؟
سروری رایگانی که من بدون مشکل استفاده می کنم و تا به امروز در خدماتش اختلالی به وجود نیامده سرویس رایگان Noip است ، جهت استفاده از این سرویس نیاز به انجام سه مرحله است
۱ – ابتدا باید در سایت ثبت نام کرده و یک حساب کاربری ایجاد نمائید .
۲ – سپس No-IP DUC را بر روی رزبری نصب کرده و اطلاعات حساب کاربری را در آن وارد می نماییم
۳ – تنظیمات مربوط به اتصال مودم را انجام می دهیم (پورت فورواردینگ )
Dynamic Update Client چیست ؟
یکی از راه های اطلاع DNS Server از تغییر آدرس ip دستگاه هایی که رکورد آن ها در دیتا بیس ذخیره شده است ، نرم افزارهایی هستند که شرکت های ارائه دهنده DDNS عرضه می کنند. وب سایت NoIP نیز از همین روش بهره می برد. این کمپانی نرم افزار Dynamic Update Client یا DUC را ارائه کرده است.
دریافت اشتراک DNSD رایگان از سایت NO IP
در ابتدا وارد سایت noip.com شوید. سپس مانند تصویر زیر در صفحه اول سایت یک نام برای ادرس DNS خود انتخاب کنید و به مرحله بعد بروید.
یک ادرس ایمیل معتبر وارد کنید و پسورد اکانت خود را بزنید در پایین صفحه DNS که قبل دادید قابل مشاهده است تیک گزینه قوانین را وارد کنید و free sing up را بزنید. وارد ایمیل خود شده و لینک داده شده را اجرا کنید تا ایمیل شما تایید شود.
نصب No-IP DUC در Raspberry Pi
ترمینال را باز کنید و فرمانهای زیر را جهت ایجاد مسیر نصب وارد نمایید
mkdir / home / pi / noip cd / home / pi / noip
در پنجره ترمینال جهت دانلود نرم افزار DUC فرامین زیر را تایپ کنید. پس از هر هر فرمان ” Enter ” را فشار دهید .
wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz tar vzxf noip-duc-linux.tar.gz
سپس وارد دایرکتوری زیر می شویم.
cd noip-2.1.9-1
و برنامه را نصب مینماییم.
sudo make sudo make install
بعد از تایپ “sudo make install” از شما خواسته خواهد شد که با نام کاربری و رمز عبور حساب کاربری خودتان که در سایت noip ثبت نام نمودید وارد شوید. پس از ورود چند سوال پرسیده می شود که به آنها پاسخ دهید و هنگامی که از شما خواسته می شود که چگونه می خواهید بروز رسانی را انجام دهید، باید ۵ یا بیشتر را انتخاب کنید. فاصله زمانی در دقیقه ذکر شده است، اگر شما ۵ را انتخاب کنید، فاصله به روز رسانی ۵ دقیقه خواهد بود. اگر ۳۰ را انتخاب کنید، فاصله ۳۰ دقیقه خواهد بود.
sudo / usr / local / bin / noip2
برای تأیید اینکه سرویس درست کار می کند، می توانید دستور زیر را اجرا کنید.
sudo noip -S
در ادامه جهت اجرای خودکار noip در زمان راه اندازی pi یا شروع مجدد پس از متوقف شدن برنامه به دلایل مختلف مراحل زیر را رنبال نمایید. با فرمان زیر مسیر دستور noip2 را بررسی مینماییم.
which noip2
برای بنده مسیر زیر نمایش داده شد.
/usr/local/bin/noip2
به هر حال، اکنون می دانیم که noip2 در / usr / local / bin / noip2 اجرا می شود. من می خواهم یک سرویس systemd ایجاد کنم که فایل آن را اجرا کند. ایجاد فایل noip2.service در آدرس /etc/systemd/system/ جهت این کار در خط فرمان دستور زیر را وارد می نماییم.
Sudo nano /etc/systemd/system/noip2.service
متن زیر را درون فایل ایجاد شده قرار می دهیم.
[Unit] Description=No-ip.com dynamic IP address updater After=network.target After=syslog.target [Install] WantedBy=multi-user.target Alias=noip.service [Service] # Start main service ExecStart=/usr/local/bin/noip2 Restart=always Type=forking
متن بالا را من از آدرس زیر دریافت نموده ام. https://gist.github.com/NathanGiesbrecht سپس فرمامین زیر را وارد می نماییم.
sudo systemctl enable noip2 sudo systemctl start noip2 systemctl daemon-reload
سپس وضعیت سرویس جدید را با فرمان زیر بررسی می نماییم.
systemctl status noip2.service
و Pi را دوباره راه اندازی می کنید.
sudo reboot
با فرمان زیر بررسی می کنیم که noip2 به طور خودکار راه اندازی می گردد یا خیر
ps –aux | grep noip2
برای بنده این پاسخ ارسال شد که به معنی اجرای درست می باشد.
پورت فورواردینگ
جهت این تنظیمات هر مودم روش خود را دارد که با مراجعه به راهنمای مودم خود این کار به راحتی انجام می گیرد. برای نمونه وارد صفحه مودم خود شوید پیشفرض اکثر مودم ها ۱۹۲٫۱۶۸٫۱٫۱ میباشد. و نام کاربری و پسورد خود را وارد کنید که پیشفرض هر دو ان ها در مدم ها Admin میباشد. وارد بخش Advanced در مودم شوید و بخش Port Forwarding را انتخاب کنید. مانند تصویر زیر DNS که هنگام ساخت no ip ایجاد کرده اید را در بخش application بگزارید. و در بخش پورت , پورت مورد نظر خود را وارد کنید ما به طور مثال ۸۰۸۱ انتخاب میکنیم. و بخش پروتکل را به TCP تغیر دهید تا به درستی انجام شود تغیرات را در مودم ذخیره کنید.
تست از پورت فورواردینگ
برای تست عملکرد از سایت زیر استفاده کنید پرتی را که انتخاب کرده اید را وارد کنید و check your port را بزنید. portchecktool.com درصورتی که پورت باز باشد تنظیمات به درستی انجام شده است در غیر این صورت مشکل وجود دارد و باید رفع شود. حال میتوانید dns و پورت را وارد پنل رات کنید و فایل خود را بسازید و از شبکه اینترنت کنترل را انجام دهید.
ارسال ایمیل در شروع تشخیص حرکت
ابتدا دو اکانت جیمیل میسازیم که یکی فرستنده و دیگیری گیرنده باشند
سپس فایل motion_mail.py را از آدرس https://github.com/vahidmansomi/motion_send_email دریافت و ذخیره مینمایید
در ادامه خطوط زیر را درون فایل دانلود شده ویرایش نموده و اطلاعات اکانت های جیمیل ساخته شده را جایگزین مینماییم
fromaddr = “user1@gmail.com” #جیمیل ارسال کننده فایل را وارد نمایید
password = “password” پسورد جیمیل ارسال ککنده را وارد نمایید#
toaddrs = “user2@gmail.com” # ادرسی که قرار است ایمیل به آن ارسال شود
سپس مجوز گوگل برای جیمیل فرسنده را جهت اتصال به حساب کاربری از طریق برنامه نویسی را فعال می نملاییم
برای این کار طبق تصویر زیر به این آدرس روی مرورگر خود بروید و Allow less secure apps را ON نمایید
سپس وارد فایل پیکربندی Motion شده و آن را ویرایش مینماییم
sudo nano /etc/motion/motion.conf
Motion می تواند برنامه و اسکریپت های خارجی را در زمان تشخیص حرکت و رویدادهای مرتبط اجرا نماید لیست رویدادها به شرح زیر میباشد
۱ – on_event_start
۲ – on_event_end
۳- on_picture_save
۴ – on_motion_detected
۵ – on_area_detected
۶ – on_movie_start
۷ – on_movie_end
۸ – on_camera_lost
۹ – on_camera_found
ما از رویداد on_event_start جهت اجرای کد پایتون motion_mail.py که جهت ارسال ایمیل در ابتدای زمان تشخیص حرکت نوشته شده است استفاده می نماییم
با استفاده از کلید های ترکیبی CTRL+W خط on_event_start را در برنامه پیدا کرده و نام فایل دانلود شده را در ادامه آن مینویسیم
on_event_start python motion_mail.py
حال هر زمان حرکتی تشخیص داده شود ( شروع رویداد ) ،Motion با ایمیل شما را مطلع مینماید
تجهیزات مورد نیاز
۱ – رزبری پای ۳
۲ – دوربین رسمی رزبیر پای ( همچنین می توانیم از وبکم نیز استفاده نماییم ) که در دو نسخه موجود است.
سایت منبع کتابخانه motion
https://motion-project.github.io
در آموزشهای آینده نحوه ارسال فیلم گرفته شده به وسیله ایمیل در زمان تشخیص حرکت را آموزش خواهم داد.
سلام خسته نباشید اول تشکر برای مطلب مفیدتون دوم اینکه میشه از چند تا دوربین رزبری پای یا چند تا وب کم استفاده کرد ؟
به چه صورت.؟؟
سلام بله با استفاده از چند وب کم usb میشه این کار را انجام داد ،در آینده وقتش رو پیدا کردم در ادامه همین آموزش میزارم
سلام و عرض خسته نباشید و تشکر بسیار عالی
با سلام و وقت بخیر
در صورت امکان یکم واضح تر توضیح دهید بخصوص قسمت های اول
کار هایی که من انجام دادم دوربین رزبری رو تهیه و روی رزبری نصب کردم ولی دستوراتی که گذاشتین یکم به مشکل خودم واضح نبود.
سلام
بجای ارسال ایمیل میخوام از تماس تلفنی استفاده کنم چجوری اینکار کنم ممنون
سلام من پروژه ساخت دوربین مدار بسته رو دارم انجام میدم دوربینم ۵ مگا پیکسلی و دستور
sudo modprobe bcm2835-v4l2 رو میزنم ارور میده میشه راهنمایی کنین ممنون میشم
با سلام
کاربر گرامی ارور را ارسال کنید تا بررسی شود.
سلام اگه نخوام از دوربین رزبری استفاده کنم و قصد اتصال دوربین مدار بسته خانه را به raspberry pi داشته باشم میشه را هنمایی کنید که چطور باید این کار را بکنم ؟
سلام میخواستم رزبری پای رو به دوربین مداربسته وصل کنم .چجوری میشه وصل کرد ؟
لطفاً راهنمایی کنید
با سلام
چنین اقدامی کار ساده ای نیست و بایستی کار تصویر مخصوص دوربین ها را روی رزبری پای نصب کنید. که بنده در این مورد اطلاعی ندارم.