جدول المحتويات:

نظام أمان كاميرا الويب Pizero Motion Detect: 3 خطوات
نظام أمان كاميرا الويب Pizero Motion Detect: 3 خطوات

فيديو: نظام أمان كاميرا الويب Pizero Motion Detect: 3 خطوات

فيديو: نظام أمان كاميرا الويب Pizero Motion Detect: 3 خطوات
فيديو: Web controlled Raspberry Pi Camera. Rpi-Cam-Web-Interface 2024, يوليو
Anonim
نظام أمان كاميرا الويب Pizero Motion Detect
نظام أمان كاميرا الويب Pizero Motion Detect

يستخدم هذا النظام pizero و wifi dongle وكاميرا ويب قديمة في علبة مخصصة لعلبة الثقاب. إنه يسجل مقاطع فيديو لاكتشاف الحركة بمعدل 27 إطارًا في الثانية لأي حركة مهمة على ممر سيارتي. ثم يقوم بتحميل المقاطع إلى حساب صندوق الإسقاط. يمكن أيضًا عرض السجلات وتغيير التكوين عبر صندوق الإسقاط.

الخطوة 1: إعداد المتطلبات الأساسية

Image
Image

قم أولاً بتحديث نظام التشغيل إلى أحدث إصدار كما هو موضح هنا.

ثم قم بإعداد wifi كما هو موضح هنا.

ثم ستحتاج إلى إعداد OpenCv. هناك تعليمات جيدة حول كيفية القيام بذلك في pyimagesearch. إذا كنت تريد الإصدار 3.0 ، فتوقع أن يستغرق وقتًا طويلاً. تستغرق إحدى الخطوات 9 ساعات. ستحتاج أيضًا إلى روابط الثعبان الموضحة في تلك الصفحة.

عند الانتهاء من تشغيل كل هذا ، تكون جاهزًا لتنزيل برنامج اكتشاف الحركة.

الخطوة الثانية: إعداد برنامج كشف الحركة

الوصول إلى مقاطع الفيديو والتكوين من خلال Dropbox
الوصول إلى مقاطع الفيديو والتكوين من خلال Dropbox

يمكن العثور على الرمز على bitbucket. انسخ هذه الملفات باستخدام

استنساخ بوابة

أو إذا كنت تفضل تنزيلها بشكل فردي.

الجزء الرئيسي من هذا النظام هو multiMotionDetect.py. يستخدم الكثير من قوائم الانتظار والأحداث المتعددة المعالجة.

بادئ ذي بدء ، عليك تحديد المكان الذي تريد تخزين صور الفيديو فيه MotionVideos وتعيين هذه القيمة في ملف globalConfig.json. ثم انسخ الملف config.json.txt و maskedAreas.json.txt إلى جذر هذا المجلد. يحتوي الملف config.json.txt على الإعداد التالي الذي يمكن تعديله عن بُعد.

"عتبة ثابتة": "100"،

"min_area": "650"، "postSeconds": "7"،

"readCamNice": "- 6"،

"checkMotionNice": "5"،

"writeCamNice": "5"،

"maxqsize": "6"

}

حد الإطار: هو عدد الإطارات المهمة قبل اكتشاف الحركة.

حد ثابت: هو عدد الإطارات الثابتة قبل إيقاف التصوير.

minArea: هو الحد الأدنى لحجم المنطقة ليتم احتسابها على أنها مهمة.

postSeconds: هذا هو عدد الثواني من نهاية التصوير حتى تمر الحركة في قائمة الانتظار. readCamNice: هذا هو مقدار الأولوية التي يجب إعطاؤها لـ

عملية readCam. هذا يتراوح بين -20 و +20 (كلما انخفض الرقم كلما زادت الأولوية). لكن لا تفرط في ذلك وإلا ستعطل نظام التشغيل.

checkMotionNice: الأولوية لعملية اكتشاف الحركة.

writeCamNice: أولوية عملية الكتابة بالكاميرا.

maxqsize: هذا هو عدد الثواني الذي يتم ضربه بعد ذلك في الإطارات في الثانية.

أنا في الغالب أقوم فقط بتغيير min_area لحساب ظروف الرياح.

إذا كنت تفضل استخدام أداة تسجيل بسيطة بدلاً من مسجل مأخذ التوصيل (أدناه) ، فقم بتغيير استيراد miaLogging إلى

استيراد التسجيل

logging.basicConfig (اسم الملف = 'example.log' ، المستوى = logging. DEBUG)

وقم بإزالة جهاز استقبال السجل من ملف MotionDetect ويجب أن يعمل كل شيء آخر بشكل جيد.

إذا كنت ترغب في تشغيل كشف الحركة تلقائيًا عند بدء التشغيل.

قم أولاً بتحرير البرنامج النصي وتحقق من أن homedir يشير إلى المكان الذي يوجد فيه multiMotionDetect.py ، ثم انسخ ملف motionDetect إلى /etc/init.d ie

cp motionDetect /etc/init.d/motionDetect

يجب أن يكون قابلاً للتنفيذ بالفعل ولكن

chmod + x /etc/init.d/motionDetect

أخيرًا قم بتسجيل النص باستخدام

sudo update-rc.d motionDetect الافتراضي

يمكنك أيضًا بدء تشغيل النظام وإيقافه وإعادة تشغيله باستخدام

sudo /etc/init.d/motion اكتشاف البدء | إيقاف | إعادة التشغيل

بشكل افتراضي ، سيبدأ تسجيل مأخذ التوصيل miaLogReceiver في نفس الوقت. البرامج الثلاثة الأخرى مستقلة ولكنها تستخدم نفس مسجل المقبس (ولكن يمكن تحويلها بسهولة). أسمي كل هؤلاء باستخدام برنامج نصي cron بفواصل زمنية مختلفة. للحصول على تعليمات انظر هنا.

يتحقق CheckRunning.py من أن multiMotionDetect.py قيد التشغيل ويقوم بإعادة التشغيل إذا لم يكن كذلك.

يقوم fileMaint.py بتنظيف مجلدات الفيديو وإزالتها بعد عدد الأيام المحدد. يزيل الدلائل الفرعية لمجلد فيديو الحركة المحدد في الفقرة الأولى. يتحقق من أنهم يبدأون بـ "MV" لذا تأكد من عدم حصولك على دليل آخر مهم يبدأ بنفس الأحرف داخل هذا المجلد.

الخطوة 3: الوصول إلى مقاطع الفيديو والتكوين من خلال Dropbox

أخيرًا ، إذا كنت ترغب في عرض مقاطع الفيديو والسجلات وملفات التكوين الخاصة بك عن بُعد ، فستحتاج إلى إعداد صندوق الإسقاط.

أولاً ، احصل على حساب Dropbox مجاني. ثم قم بإعداد API لـ python -https://www.dropbox.com/developers/documentation/… وهذا يشمل تنزيل sdk وتسجيل التطبيق للوصول إلى API.

عندما تحصل على مفتاح ، أدخله في ملف globalConfig.json. يمكن العثور على مزيد من المعلومات حول النظام على مدونتي dani cymru - cyber renegade. إذا وجدت أي شيء يثير الاهتمام أو أي أسئلة ، فيرجى كتابة تعليق على المدونة.

موصى به: