آیا می خواهید سیستم دوربین مدار بسته خود را با تشخیص حرکت بسازید؟ در اینجا نحوه انجام این کار با Raspberry Pi و motionEyeOS آورده شده است.
در حالی که سیستمهای امنیتی دوربین مدار بسته تجاری بیشماری در بازار وجود دارد، ساختن سیستم دوربین مداربسته Raspberry Pi خود، مزیت سفارشیسازی را برای مطابقت با اهداف دقیق شما ارائه میدهد.
یک توزیع ویژه لینوکس به نام motionEyeOS راه اندازی سیستم امنیتی خود را با یک یا چند دوربین آسان می کند. سپس می تواند حرکت را از نمای دوربین تشخیص دهد و هشدارها را از طریق ایمیل یا اعلان فشار ارسال کند. ما به شما نشان خواهیم داد که چگونه همه چیز را راه اندازی کنید.
آنچه برای راه اندازی یک سیستم دوربین مداربسته نیاز دارید
- Raspberry Pi: هر مدلی از جمله Pi Zero و Compute Module کار خواهد کرد
- یک وب کم USB، ماژول دوربین Raspberry Pi، یا ماژول دوربین با کیفیت بالا
درباره Raspberry Pi، Pico، Arduino و سایر کامپیوترها و میکروکنترلرهای تک برد بیشتر بدانید.
1. motionEyeOS را نصب کنید
motionEyeOS به جای اینکه یک برنامه کاربردی باشد، یک سیستم عامل مستقل، یکی از بسیاری از سیستم عامل های Raspberry Pi است. ابتدا باید نسخه صحیح را برای مدل Raspberry Pi خود پیدا کنید. به لیست دستگاه های پشتیبانی شده بروید و روی آخرین نسخه برای برد خود کلیک کنید تا تصویر دیسک را به صورت فایل xz دانلود کنید.
دو راه اصلی برای نصب motionEyeOS روی Raspberry Pi وجود دارد. وبسایت motionEyeOS یک ابزار نوشتن تصویر را برای رایانههای لینوکس و macOS ارائه میکند تا تصویر دیسک را روی کارت microSD بنویسد تا در Raspberry Pi از آن استفاده کنید. این راه اندازی اختیاری یک اتصال شبکه بی سیم و تنظیم یک آدرس IP ثابت را ارائه می دهد. برای جزئیات بیشتر، راهنمای نصب را ببینید.
روش دوم – که در اینجا از آن استفاده خواهیم کرد، زیرا روی ماشین های ویندوز نیز کار می کند – نوشتن تصویر دیسک با استفاده از ابزار استاندارد Raspberry Pi Imager است که از وب سایت Raspberry Pi قابل دانلود است.
با استفاده از کارتخوان داخلی یا آداپتور USB، کارت microSD خود را برای نصب آن بر روی رایانه خود وارد کرده و Raspberry Pi Imager را باز کنید. روی Choose OS کلیک کنید، سپس به پایین لیست بروید تا Use custom را انتخاب کنید.
به فایل motionEyeOS.xz که قبلا دانلود کرده اید مراجعه کنید. اکنون بر روی Choose SD Card کلیک کنید و کارت microSD درج شده خود را انتخاب کنید که احتمالا چیزی شبیه به Generic Storage Device Media نامیده می شود.
در نهایت روی Write کلیک کنید تا تصویر روی کارت نوشته شود.
2. اتصال بی سیم خود را از قبل پیکربندی کنید
قبل از استفاده از کارت microSD در رزبری پای خود، باید اعتبار شبکه بی سیم را از قبل پیکربندی کنید.
یک ویرایشگر متن ساده (مانند ویرایشگر متن در macOS یا Notepad در ویندوز) باز کنید و خطوط زیر را وارد کنید و مقادیر ssid و psk را با SSID (نام) و رمز عبور روتر بی سیم خود جایگزین کنید. همچنین باید کد کشور را به کشوری که دستگاه در آن کار می کند تغییر دهید.
country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MyWiFiSSID"
psk="MyWiFiPassword"
}
فایل را به عنوان wpa_supplicant.conf در ریشه کارت microSD خود ذخیره کنید، جایی که باید فایل های دیگری مانند bootcode.bin و kernel.img را ببینید. اگر فایل با پسوند txt ذخیره می شود، آن را حذف کنید تا فقط wpa_supplicant.conf نامیده شود.
3. راه اندازی دوربین مدار بسته
اگر از ماژول دوربین Raspberry Pi یا دوربین با کیفیت بالا استفاده می کنید، آن را به پورت Camera Raspberry Pi متصل کنید. اگر از وب کم استفاده می کنید، به پورت USB در Raspberry Pi متصل شوید.
کارت microSD را در رزبری پای خود قرار دهید و آن را روشن کنید. در صورت اتصال به مانیتور، لیستی از دستورات در حال اجرا را مشاهده خواهید کرد. هنگامی که فایل wpa_supplicant.conf شما با موفقیت خوانده شد، سپس به شبکه شما متصل می شود و آدرس IP Raspberry Pi را بعد از اینکه Interface wlan0 آدرس IP داشت نشان می دهد.
از طرف دیگر، اگر Raspberry Pi شما به مانیتور متصل نیست، همیشه میتوانید با مراجعه به صفحه تنظیمات روتر بیسیم خود در یک مرورگر وب در دستگاه دیگری و جستجوی دستگاهی با نامی که با meye- شروع میشود، آدرس IP را پیدا کنید.
4. دسترسی به رابط وب
در یک مرورگر وب در رایانه یا دستگاه دیگری، آدرس IP Raspberry Pi را وارد کنید و باید صفحه ورود را مشاهده کنید. فقط admin را به عنوان نام کاربری، بدون رمز عبور وارد کنید.
اگر ماژول دوربین Raspberry Pi یا دوربین با کیفیت بالا متصل هستید، باید به طور خودکار شناسایی شود و نمای دوربین را از آن در رابط وب مشاهده خواهید کرد. اگر از دوربین USB استفاده می کنید، در منوی افزودن دوربین که ظاهر می شود، دوربین محلی V4L2 را برای نوع دوربین و دوربین USB2.0: دوربین USB2.0 برای دوربین را انتخاب کنید.
برای راهاندازی چند دوربین، میتوان بیش از یک دوربین را به یک Raspberry Pi متصل کرد، اگرچه مدل مورد استفاده باید به اندازه کافی قدرتمند باشد تا بتواند همه جریانها را مدیریت کند.
از طرف دیگر، میتوانید از چندین برد Raspberry Pi استفاده کنید که هر کدام دارای یک دوربین هستند و Raspberry Pi دیگری را به عنوان هاب برای مدیریت جریانهای آنها تعیین کنید. اگر می خواهید دوربین ها را در اتاق های مختلف قرار دهید این کار مفید است.
همچنین امکان استفاده از یک کامپیوتر لینوکس معمولی به عنوان سرور مرکزی وجود دارد.
5. تنظیمات سفارشی را پیکربندی کنید
در رابط وب، روی نماد سه خط عمودی در بالا سمت چپ کلیک کنید تا پانل تنظیمات باز شود. در منوی Preferences، در صورت استفاده از یک دوربین، گزینه Layout Columns را به 1 تغییر دهید، بنابراین نمای صفحه را پر می کند.
منوی Video Device به شما امکان می دهد وضوح، چرخش و نرخ فریم را برای دوربین انتخابی فعلی تغییر دهید. همچنین میتوانید نام دوربین را به چیزی توصیفی تغییر دهید، مانند اتاقی که در آن قرار دارد. پس از تغییر تنظیمات منو، روی دکمه اعمال کلیک کنید تا اعمال شود.
برای تنظیم دوربین امنیتی خود، باید حرکت را از نمای دوربین تشخیص دهید. منوی تشخیص حرکت را باز کنید و آن را روشن کنید. گزینه های دیگر به شما امکان می دهند آستانه تغییر فریم مورد نیاز برای تشخیص حرکت را تنظیم کنید. تنظیم بیش از حد آن ممکن است منجر به مثبت کاذب بیش از حد شود. گزینه Motion Gap تاخیر قبل از شناسایی مجدد حرکت پس از فعال شدن است.
برای مشاهده فیلم های گرفته شده از تشخیص حرکت، روی نمای زنده دوربین کلیک کنید و سپس نماد دکمه پخش مثلثی را انتخاب کنید. همچنین می توان تصاویر ثابت گرفته شده توسط دوربین را مشاهده کرد – به صورت دستی یا با تنظیم حالت ضبط در منوی تصاویر ثابت روی Motion Triggered.
7. ارسال اعلان های ایمیل
منوی Motion Notifications به شما این امکان را می دهد که هر زمان که حرکتی تشخیص داده شد، برای خود ایمیل ارسال کنید. پس از روشن کردن آن، آدرس ایمیلی را که می خواهید اعلان به آن ارسال شود وارد کنید. باید تنظیمات دیگر حساب خود را وارد کنید.
اگر از Gmail استفاده می کنید، سرور SMTP را روی smtp.gmail.com، پورت SMTP را روی 587 و حساب SMTP را در قسمت اول آدرس ایمیل خود (یعنی بدون @gmail.com) تنظیم کنید. رمز عبور SMTP رمزی است که برای ورود به حساب جیمیل خود از آن استفاده می کنید. آدرس From را می توان خالی گذاشت یا روی یک آدرس سفارشی تنظیم کرد. TLS را روی روشن تنظیم کنید.
در یک برگه مرورگر دیگر، از منوی امنیت برای حساب Google خود دیدن کنید و دسترسی برنامه کمتر امن را روشن کنید – پس از دریافت هشدار امنیتی، تأیید کنید که این شما هستید که آن را تغییر دادهاید. توجه داشته باشید که این کار با مسئولیت خود شما انجام می شود. ما برای این منظور یک حساب کاربری جدید اختصاصی جیمیل راه اندازی کردیم.
اکنون باید بتوانید یک ایمیل آزمایشی از motionEyeOS بدون ایجاد هشدار امنیتی Google ارسال کنید. توجه داشته باشید که اگر از چندین دوربین استفاده می کنید، باید اعلان های ایمیل را برای هر یک به طور جداگانه تنظیم کنید.
برای دریافت یک تصویر همراه با اعلان ایمیل خود، به شما توصیه می شود که گزینه Attached Pictures Time Span را بین 5 تا 30 تنظیم کنید. همچنین باید حالت Capture را در منوی Still Images روی Motion Triggered تنظیم کنید.
8. Push Notifications را اضافه کنید
همچنین می توانید با استفاده از گزینه Run A Command در منوی Motion Notifications اعلان های فشار ارسال کنید. به عنوان مثال، برای استفاده از سرویس Pushover – که برنامههایی را برای اندروید، iOS و دسکتاپ ارائه میدهد – باید یک اسکریپت کوتاه پایتون برای اجرا ایجاد کنید.
برای Pushover ثبت نام کنید. به خاطر داشته باشید که پس از یک دوره آزمایشی رایگان 30 روزه، برای ادامه استفاده از آن باید یکبار خرید درون برنامه ای 5 دلاری انجام دهید.
پس از آن بر روی Create an Application/API Token کلیک کنید. توکن/کلید API داده شده برای آن را به همراه کلید کاربر خود از داشبورد یادداشت کنید.
دانلود: Pushover برای iOS | Android (آزمایشی رایگان در دسترس است)
با استفاده از کد boilerplate از وب سایت Pushover، می توانید اسکریپت پایتون خود را ایجاد کنید:
import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": "abc123",
"user": "user123",
"title": "CCTV alert"
"message": "Motion detected on camera 1!",
"url": "http://IP.ADD.RE.SS",
"url_title": "View live stream",
}), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()
abc123 را با توکن API برنامه خود و user123 را با User Key خود جایگزین کنید. IP.ADD.RE.SS را با آدرس IP راه اندازی motionEyeOS خود جایگزین کنید.
برای قرار دادن آن در سیستم motionEyeOS خود، باید از رایانه دیگری با استفاده از برنامه ترمینال (یا WinSCP در ویندوز) با وارد کردن:
ssh admin@&IP_ADDRESS
IP_ADDRESS را با آدرس IP سیستم motionEyeOS خود جایگزین کنید. حالا وارد کنید:
cd /data
اکنون که در فهرست داده ها هستید، یک فایل جدید به نام pushover.py ایجاد کنید:
nano pushover.py
اسکریپت پایتون خود را در آن قرار دهید یا تایپ کنید و با Ctrl + X و به دنبال آن Y ذخیره کنید. اکنون آن را با استفاده از زیر قابل اجرا کنید:
chmod +x pushover.py
یا در WinSCP در ویندوز، F9 را فشار دهید، مجوزها را روی 0775 تنظیم کنید و OK را فشار دهید.
اسکریپت را با اجرای:
python pushover.py
باید یک اعلان همراه با هشدار صوتی از motionEyeOS در برنامه Pushover خود دریافت کنید.
در منوی Motion Notifications رابط وب motionEyeOS، گزینه Run A Command را روشن کنید و python /data/pushover.py را در قسمت Command تایپ کنید تا به آن بگویید اسکریپت پایتون شما را اجرا کند.
روی دکمه Apply کلیک کنید. توجه داشته باشید که میتوانید یک اسکریپت Run A Command متفاوت را برای هر دوربین در تنظیمات خود اعمال کنید، بنابراین میتوانید چندین اسکریپت پایتون ایجاد کنید که هر کدام میگویند کدام دوربین حرکت را شناسایی کرده است.
ساختن سیستم دوربین مداربسته DIY خودتان
تبریک میگوییم، شما اکنون سیستم دوربین نظارتی Raspberry Pi قابل تنظیم خود را راهاندازی کردهاید، که با ایمیل و اعلانهای فشاری کامل میشود تا شما را از حضور هرگونه مزاحم شناسایی شده در دوربین آگاه کند.