تکنولوژی خانه هوشمند سخت افزار ماژول دوربین

تبدیل کامپیوتر قدیمی به دوربین مدار بسته ویندوزی CCTV توسط وب کم

نوشته شده توسط معین صابری

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


نقش DVR در سیستم دوربین حفاظتی


دوربین مدار بسته، یکی از ابزارهای حیاتی و مهم در مستند سازی و تصویر برداری در محیط ها و اماکن مختلف، به شمار می روند. به کمک این دوربین‌ها می‌توان در صورت وقوع جرم چهره مجرم را شناسایی نمود. از دیگر کاربردهای دوربین مدار بسته، می توان به کنترل تردد افراد در اماکن شلوغ اشاره نمود؛ آنجا که نیاز است تا ورود و خروج افراد تحت کنترل قرار گیرد. در هر سیستم دوربین مدار بسته، بخش ضبط تصاویر، مهم ترین قسمت آن به شمار می رود. این بخش که تحت عنوان دستگاه DVR شناخته می شود، وظیفه دریافت تصاویر از دوربین ها، تفکیک هر کدوربین از دیگری، ضبط و ذخیره تصاویر و تفکیک و تاریخ بندی تصاویر را بر عده دارد. دستگاه های DVR دارای امکانات مختلف نظیر اتصال موس، کنترل از طریق ریموت IR، پورت LAN جهت اتصال به اینترنت و… هستند. همچنین، این دستگاه ها دارای خروجی تصویر جهت اتصال به تلویزیون و یا مانیتور جهت مشاهده تصاویر هستند.

جهت ضبط تصاویر، می بایست یک هارد دیسک به دستگاه اضافه شود. این هارد بسته به قدرت و توان دستگاه DVR می تواند ظرفیت متفاوتی داشته باشد. در این آموزش، از یک کامپیتور قدیمی به عنوان دستگاه DVR استفاده خواهیم نمود؛ به طوریکه از پردازنده و سیستم عامل ویندوز آن جهت دریافت و پردازش تصاویر و از هارد آن جهت ذخیره سازی فیلم ها، بهره خواهیم برد. به منظور هرچه ساده تر کار و کاهش هزینه ها، از دوربین های وب کم با پورت USB، جهت دریافت تصاویر، استفاده خواهیم نمود.

 


برنامه نویسی POWER SHELL در ویندوز


برای اجرای پروژه دوربین مدار بسته بر روی ویندوز، نیاز به برنامه نویسی خواهیم داشت. برای برنامه نویسی، از ابزاری که خود سیستم عامل ویندوز در اختیار ما قرار می دهد، استفاده خواهیم کرد. این ابزار، POWER SHELL نام دارد. همانطور که اطلاع دارید، سیستم عامل ویندوز دارای یکسری دستورات از پیش تعیین شده جهت انجام کارهاست. این دستورات در صفحه CMD، قابل اجراست. به عنوان مثال، در صورتیکه قصد ورود به فولدر(دایرکتوری) دارید، می بایست از دستور CD  به معنای Change Directory استفاده نمایید. در حقیقت، زمانیکه به صورت گرافیکی بین فولدرها جا به جا می شوید، این دستور در حال اجراست.

برنامه نویسی پاورشل در ویندوز - دیجی اسپارک

 

دستورات سیستم عامل ویندوز را می توان به صورت برنامه نویسی شده، پشت سر هم قرار داد تا اجرا شوند. برای این منظور، می بایست از ابزار برنامه نویسی ویندوز، POWER SHELL استفاده نمود. ابزار برنامه نویسی POWER SHELL، یک محیط و ابزار جهت برنامه نویسی درون ویندوز بدون نیاز به ابزار برنامه نویسی جانبی دیگری است. برای برنامه نویسی در این محیط، دو راه وجود دارد. راه نخست، استفاده از محیط خط فرمان ویندوز و راه دوم، ایجاد یک فایل متنی و ذخیره آن با فرمت .ps1 است. برای برنامه نویسی در محیط خط فرمان، می بایست با تایپ عبارت CMD در سرچ ویندوز، وارد محیط خط فرمان شوید. د راین مرحله با تایپ عبارت powershell، محیط برنامه نویسی به نمایش در خواهد آمد.

برنامه نویسی پاورشل برای دوربین مدار بسته در ویندوز - دیجی اسپارک

 

راه دوم، استفاده از روش گرافیکی است. بدین منظور، کافیست یک فایل متنی از نوع TXT ایجاد کنید. پس از ایجاد، فایل مورد نظر را بازکرده و بر روی گزینه file و سپس save as کلیک نمایید. در این قسمت نامی برای فایل انتخاب کرده و آن را با پسوند ps1. ذخیره نمایید. به عنوان مثال، فایل را به صورت test.ps1 ذخیره نمایید.

ساخت فایل TXT برای برنامه نویسی پاورشل ویندوز - دیجی اسپارک

پس از ذخیره، فایلی به صورت فرمت ps1 را مشاهده خواهید نمود. در این مرحله، بر روی این فایل کلیک راست کرده و بر روی گزینه Edit، مطابق شکل کلیک نمایید.

باز کردن پاورشل Power Shell ویندوز برای دوربین مدار بسته - دیجی اسپارک

 

در نهایت با کلیک بر روی گزینه Edit، محیط برنامه نویسی Power Shell، باز خواهد شد.

پروژه دوربین مدار بسته در ویندوز با پاورشل Power Shell - دیجی اسپارک

زبان برنامه نویسی Power Shell، همانند هر زبان دیگری، دارای قواعد مخصوص به خود است. عدم رعایت صحیح این قواعد، موجب عدم اجرای برنامه خواهد شد. اما بسیاری از دستورات این زبان برنامه نویسی، نظیر حلقه تکرار، شرط و… بسیار شبیه به سایر زبان های برنامه نویسی است.

 


دانلود و نصب نرم افزار FFMPEG


برای فرمان به وب کم به نرم افزار تحت ویندوز نیاز داریم. نرم افزار FFMPEG، یکی از ابزارهای قدیمی در ویرایش صدا و تصویر است. به کمک این نرم افزار می توان از طریق وب کم عکس و یا فیلم گرفت و آن ها را در فرمت های مختلف ذخیره کرد. این ابزار که بسیار جامع و گسترده است، رایگان و متن باز بوده و برای اولین بار در سال ۲۰۰۰ تحت سیستم عامل لینوکس منتشر شد.

دانلود نرم افزار FFMPEG برای ساخت دوربین مدار بسته ویندوزی - دیجی اسپارک

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

لینک دانلود نرم افزار FFMPEG

پس از خارج سازی از حالت فشرده، توسط برنامه ای که در محیط Power Shell خواهیم نوشت، از این نرم افزار جهت فیلم برداری و ذخیره فیلم، استفاده خواهیم نمود. پیش از استفاده، می بایست جهت فراخوانی آن در محیط CMD بدون نیاز به وارد کردن مسیر نصب این برنامه، محل نصب آن را به صورت زیر تعریف نماییم.

setx /m PATH "X;%PATH%"

در عبارت فوق، به جای X می بایست آدرس محل قرارگیری نرم افزار را قرار دهید. بدین منظور ابتدا وارد محل دانلود نرم افزار شده و در گام بعدی، وارد فولدر bin شوید. سپس، آدرس این فولدر را مشابه تصویر زیر، با کلیک بر روی نوار آدرس بالای صفحه، بدست آورده و کپی کنید.

 

در ادامه، می بایست آدرس را در محیط CMD، تنظیم کنید. بدین منظور، ابتدا بر روی لوگوی ویندوز یا منوی استار در گوشه سمت چپ صفحه کلیک راست کرده و گزینه Command Prompet(Admin) را انتخاب نمایید. با باز شدن این محیط، مطابق آنچه که بالاتر نیز گفته شد،، مسیر را تنطیم نمایید. به عنوان مثال، ما مسیر را در رایانه خود به شکل زیر تنظیم می نماییم.

setx /m PATH "C:\Users\sbs-pc\Downloads\Compressed\ffmpeg\ffmpeg\bin;%PATH%"

 


کد دوربین مدار بسته تحت ویندوز


در این قسمت کدهای برنامه دوربین مدار بسته را مشاهده می نمایید. برای این منظور، ابتدا مطابق آنچه در قسمت پیشین گفته شد، یک فایل text ایجاد کرده و آن را با پسوند ps1. ذخیره نمایید. سپس با کلیک راست بر روی فایل، گرینه Edit را انتخاب نموده و وارد محیط Shell Script شوید. در این محیط، کدهای زیر را کپی نمایید.

echo "hi"
mkdir D:/camera
$x=6;
while ($x -ne 10){
$y=Get-Date -Format "yyyy"
$m=Get-Date -Format "MM"
$d=Get-Date -Format "dd"
mkdir D:/camera/$y/$m/$d;
$t=Get-Date -Format "HH_mm_ss";
ffmpeg -f dshow  -t 3600 -i video="USB2.0 Camera" D:/camera/$y/$m/$d/$t.wmv
}
sleep 5

در نهایت فایل را ذخیره کرده و از محیط Power Shell خارج شوید.

 


راه اندازی دوربین مدار بسته ویندوزی


در این قسمت نوبت به اجرای برنامه دوربین می رسد. دقت داشته باشید که فیلم ها در درایو D و درون فولدری به نام camera ذخیره می شوند. شما می توانید با تغییر در کد برنامه، درایو مورد نظر خود را انتخاب کنید. برای این مورد، کافیست عبارت  “:D” را در هر جای کد، به “:C” تغییر دهید.برای اجرا، ابتدا دوربین وب کم USB خود را نصب کنید. سپس بر روی فایل برنامه کلیک راست کرده و بر روی گزینه Run With power shell کلیک کنید. با کلیک بر روی این گزینه، با تصویر زیر که نمایانگر اجرای برنامه است، رو به رو خواهید شد.

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

 

برنامه فوق، فیلم هایی را با تفکیک یک ساعته ضبط و ذخیره می نماید. برای مشاهده فیلم، در همان درایوی که مخصوص ذخیره سازی فیلم ها انتخاب کرده اید(در اینجا درایو D)، وارد فولد camera شوید. در این فولدر، فولدرهایی با نام سال، به عنوان مثال ۲۰۲۰ و ۲۰۲۱ وجود دارد. درون هر کدام از این فولدرها، فیلم هایی که در آن سال ضبط شده اند، ذخیره شده است. در صورتیکه وارد هر یک از این فولدرها شوید، فولدرهایی با نام اعدادی از صفر الی ۱۲ مشاهده خواهید نمود. این فولدر ها بیانگر ماه هستند. پس از باز گشایی هر یک از فولدرهای ماه، فولدرهایی با نام عددی، مشاهده خواهید کرد. این اعداد که بین ا الی ۳۰ یا ۳۱ هستند، فیلم هایی که در هر یک از این روزها در ماه ضبط و ذخیره شده اند را نشان می دهند. در نهایت با بازگشایی هر ایک از این فولدر ها، فیلم های یک روز را با تفکیک یک ساعته، مشاهده خواهید نمود. بنابراین، ترتیب فولدرها، به صورت زیر خواهد بود.

روز -< ماه -< سال  -<  camear

 


تحلیل کدهای برنامه


در این برنامه که به کمک ابزار برنامه نویسی ویندوز، Power Shell طراحی شده است، در ابتدا، به کمک دستور mkdir یک فولدر(دایرکتوری) در درایو D به نام camera به شکل زیر می سازیم.

mkdir D:/camera

شما می توانید به جای درایو D، از هر درایو دلخواه دیگر استفاده نمایید. به عنوان مثال، برای درایو C، می بایست به شکل زیر عمل نمایید.

mkdir C:/camera

در ادامه، یک حلقه تکرار بی نهایت می سازیم. دلیل ساخت این حلقه، اجرای مداوم برنامه و ذخیره بی وقفه تصاویر است. در این حلقه، به کمک دستور ffmpeg و با تفکیک یک ساعته، فیلم ها را دریافت و ذخیره می نماییم.

 


جمع بندی


در این آمزش به طراحی و پیاده سازی یک سیستم دوربین مدار بسته، به کمک کامپیوترهای قدیمی ویندوزی، بدون هیچ ابزار و قطعه جانبی پرداختیم. در این پروژه، جهت دریافت تصاویر و ذخیره آن، از ابزار برنامه نویسی ویندوز، Power Shell استفاده نمودیم. ابزار برنامه نویسی Power Shell، یک ابزار برنامه نویسی درون ویندوزی بوده که به کمک دستورات پایه ای سیستم عامل ویندوز، امکانات و ویژگی های آن را کنترل می نماید. به کمک این ابزار، یک کامپیوتر قدیمی را به دستگاه DVR جهت ضبط و ذخیره تصاویر دریافتی تبدیل می نماییم. همچنین برای قسمت دوربین، از وب کم های USB استفاده نموده ایم.

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

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

۱۲ دیدگاه

  • آقا دمتون گرم چه ایده‌ی باحالی
    من الان رفتم برم انباری و ببینم از کامپیوترم چیا مونده
    خیلی ممنونم

  • سلام خسته نباشید،
    ببخشید برای همه این کار ها به اینترنت هم نیاز است؟ چون که کامپیوتر من به اینترنت متصل نیست.

    • درود بر شما
      تنها برای دانلود نزم افزار FFMPEG نیاز به اینترنت دارید. این نرم افزار را می توانید دانلود کرده و سپس از طریق فلش و یا CD به رایانه منتقل کنید.

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

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

    • سلام
      توجه داشته باشید که این دوربین، یک دوربین ساده است. اگر پر شود، دیگر امکان ذهیره نیست. لایو نمی توان نمایش داد.
      تعداد دوربین ها به تعداد پورت USB رایانه بستگی دارد. دقت کنید که به ازاری هر دوربین یک بار برنامه باید ران شود.

  • تا چند تا دوربین رو میشه همزمان بهش وصل کرد.و اگه مصافت دوربین تا کامپیوتر طولانی باشه هم میشه یا نه

    • به تعداد پورت های USB!
      اما باید برنامه جدتگانه برای هر دوربین اجرا شود
      مسافت هم در اینجا ما از کابل USB استافده کرده ایم. در حقیقت همان وب کم!