- قم ببناء كاميرا أمان سريعة الالتقاط مع Raspberry Pi:
- تخصيص إعدادات الوسائط في Motion:
- كيفية الحصول على موجز الفيديو عبر الإنترنت:
يعد الأمان مصدر قلق كبير في أيامنا هذه وهناك الكثير من التقنيات الموجودة اليوم للحفاظ على مكانك آمنًا ومراقبًا. تعد كاميرات CCTV مفيدة جدًا لمراقبة منزلك أو مكتبك. على الرغم من أن أسعار هذه الأنواع من الكاميرات قد تم تخفيضها بشكل كبير منذ بدايتها إلا أن كاميرات IP التي لديها القدرة على إرسال واستقبال التاريخ عبر الشبكة باهظة الثمن. وبالنسبة لـ True Surveillance ، يجب أن تتمتع الكاميرا بالقدرة على إرسال خلاصتها عبر الإنترنت بحيث يمكن مشاهدتها من أي مكان في العالم.
اليوم نحن نصنع كاميرا مراقبة منخفضة التكلفة للغاية باستخدام Raspberry Pi وكاميرا ويب. هذه أداة أمان رائعة وأرخص تكلفة ، وتحتوي على العديد من الخيارات القابلة للتكوين ويمكن بناؤها في دقائق قليلة. نحن هنا نستخدم Raspberry Pi وكاميرا ويب USB فقط لبناء كاميرا Motion Capture. لدينا نظام Raspbian Jessie OS مثبتًا على لوحة Raspberry Pi الخاصة بنا. يجب عليك مراجعة هذه المقالة لتثبيت نظام التشغيل Raspbian والبدء في Raspberry Pi.
سننتقل هنا إلى دليل البدء السريع أولاً ، حتى تتمكن من تجهيز كاميرا المراقبة الخاصة بك في غضون دقائق قليلة مع جميع التكوينات الافتراضية وبعد ذلك سنتعمق في التفاصيل الأخرى وخيارات التهيئة لتخصيصها وفقًا لحاجتك.
لكن قبل ذلك ، دعنا نعرف شيئًا عن Motion (برنامج المراقبة) ، الذي يمثل قلب هذا المشروع. برنامج Motion مجاني ومفتوح المصدر لكشف الحركة CCTV تم تطويره لنظام Linux. يكتشف الحركة ويبدأ تسجيل الفيديو لها. مع تثبيت "Motion" في Raspberry Pi الخاص بك ، يمكنك بطريقة سحرية تحويل Raspberry Pi إلى كاميرا أمان ويمكنك الحصول على الوظائف التالية:
1. يمكنك مشاهدة بث الفيديو المباشر على متصفح الويب عن طريق إدخال عنوان IP الخاص بـ Pi مع المنفذ.
2. سيسجل الفيديو ويحفظه عندما يكتشف حركة أو أي اضطراب في منطقة العرض. سيستمر في تسجيل الفيديو حتى يكون هناك بعض الحركة ، ثم يتوقف ويحفظ الملف ، والذي يمكن مشاهدته لاحقًا.
3. يمكنه إنشاء فيديو Timelapse جميل.
4. يمكن أن تأخذ لقطات على فترات منتظمة أو عندما يكون هناك بعض الحركة. يتم أيضًا حفظ اللقطات في القرص لاستخدامها لاحقًا.
بصرف النظر عن ذلك ، يحتوي على العديد من خيارات التكوين التي سنناقشها قريبًا ويمكننا أيضًا تعيين "مشغلات" يحددها المستخدم في أحداث معينة. تدعم Motion حاليًا كاميرا USB فقط خارج الصندوق ، إذا كنت تريد استخدام Pi Camera ، فأنت بحاجة إلى استخدام بنية خاصة من Motion.
قم ببناء كاميرا أمان سريعة الالتقاط مع Raspberry Pi:
هنا تحتاج إلى تشغيل بعض الأوامر فقط لبدء الحصول على أول فيديو لك عبر الشبكة. قبل ذلك ، تحقق بشكل صحيح من أن Raspberry Pi متصل بالإنترنت ، إما باستخدام LAN أو Wi-Fi ثم اتبع الخطوات التالية:
الخطوة 1: قم أولاً بتشغيل الأمر أدناه لتحديث نظام التشغيل Raspbian على Raspberry Pi:
sudo apt-get update
الخطوة 2: ثم قم بتثبيت مكتبة "Motion" باستخدام الأمر التالي:
sudo apt-get install motion
الخطوة 3: الآن اضبط Motion daemon على نعم عن طريق تحرير الملف: / etc / default / motion بحيث يكون قيد التشغيل دائمًا. قم بتحرير هذا الملف باستخدام محرر 'nano' مع 'sudo' كما هو موضح أدناه:
sudo نانو / الخ / الافتراضي / الحركة
ثم احفظ الملف بالضغط على "CTRL + X" ، ثم "Y" ثم مفتاح الإدخال.
الخطوة 4: الآن نحتاج إلى تعيين إذن للدليل الهدف (/ var / lib / motion /) ، حيث يحفظ Motion جميع تسجيلات الفيديو وملفات الصور. نحتاج إلى تعيين "Motion" كمالك لهذا الدليل بإصدار الأمر التالي:
حركة sudo chown: الحركة / var / lib / motion /
هذا الإذن ضروري وإلا ستحصل على الخطأ أدناه ، عند التحقق من حالة خدمة الحركة باستخدام هذا الأمر: sudo service motion status
الخطوة 5: الآن نحن على وشك الانتهاء ، نحتاج فقط إلى تغيير خيار تهيئة واحد في ملف تكوين الحركة (/etc/motion/motion.conf ) الذي تم إيقاف تشغيل stream_localhost . يتعين علينا إيقاف تشغيل دفق المضيف المحلي هذا ، وإلا فلن نتمكن من الوصول إلى موجز الفيديو على شبكتنا وسيكون الوصول إليه فقط من Raspberry Pi نفسه. للقيام بذلك ، قم بتحرير ملف تكوين الحركة باستخدام محرر "nano" وقم بإيقاف تشغيله ، كما هو موضح أدناه:
sudo nano /etc/motion/motion.conf
لقد انتهينا الآن وأصبحنا جاهزين للحصول على البث المباشر من كاميرا الويب USB المتصلة بـ Pi. فقط ابدأ خدمة الحركة باستخدام الأمر أدناه وافتح عنوان IP الخاص بـ Raspberry Pi ، باستخدام المنفذ 8081 ، في متصفحك (مثل 192.168.1.103:8081):
sudo /etc/init.d/motion start
وسترى البث المباشر من كاميرا الويب الخاصة بك كما هو موضح أدناه. استخدمنا هنا كاميرا ويب USB منخفضة التكلفة (كاميرا الويب الكمومية QHM500LM) ، والتي عملت بسلاسة مع Raspberry Pi الخاص بنا ، ولكن يمكنك استخدام كاميرا جيدة الجودة للحصول على دقة أفضل.
كما سيظهر في المتصفح ، يمكنك استخدام أي جهاز لمشاهدة الخلاصة التي تدعم متصفح الويب مثل الهاتف المحمول والكمبيوتر اللوحي وما إلى ذلك ، وفيما يلي لقطة واحدة من الهاتف المحمول:
يمكنك دائمًا البدء والإيقاف وإعادة التشغيل والحصول على حالة خدمة الحركة باستخدام الأوامر الأربعة التالية:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion أعد تشغيل sudo service motion status
أو يمكنك إعادة تشغيل Raspberry Pi كخطوة لاستكشاف الأخطاء وإصلاحها عند الضرورة:
sudo إعادة التشغيل
ملاحظة: إذا كنت من طراز Raspberry Pi أسفل الإصدار 3 ، فقد تحتاج إلى Wi-Fi dongle لتوصيل raspberry Pi بالموجه لاسلكيًا. يحتوي Raspberry Pi 3 على شبكة Wi-Fi مضمنة فيه. استخدمنا هنا Raspberry Pi 2 Model B مع دونجل Wi-Fi.
تخصيص إعدادات الوسائط في Motion:
لذلك نحن الآن لدينا كاميرا المراقبة قيد التشغيل والعمل. يمكننا الآن النظر في بعض خيارات التكوينات المفيدة للغاية ، والتي يمكننا من خلالها تحسينها وفقًا لحاجتنا ويمكننا الحصول على نتائج مبهرة للغاية. في ملف تكوين الحركة ، يتم شرح جميع الإعدادات بشكل جيد للغاية بقيمتها الافتراضية والتي تم تجديدها ، فقط تحقق من الأمر باستخدام الأمر التالي:
sudo nano /etc/motion/motion.conf
بصرف النظر عن الحصول على البث المباشر ، تسجل الحركة ملفات الفيديو وتحفظها عندما تكتشف الحركة. لذلك يمكنك ضبط معدل الإطارات والجودة والعرض / الارتفاع لمقاطع الفيديو المتدفقة. يمكنك ضبط معدل الإطارات على أعلى لمقاطع الفيديو في الوقت الفعلي ، ولكن يجب أن تكون شبكتك سريعة بما يكفي لهذا المقطع. فيما يلي القيم التي استخدمناها ، يمكنك تغييرها وفقًا لذلك:
# عرض الصورة (بكسل). النطاق الصالح: يعتمد على الكاميرا ، الافتراضي: 352 عرض 640 # ارتفاع الصورة (بكسل). النطاق الصالح: يعتمد على الكاميرا ، الافتراضي: 288 ارتفاع 480 # أقصى عدد للإطارات يتم التقاطها في الثانية. # النطاق الصالح: 2-100. الافتراضي: 100 (تقريبًا بلا حدود). معدل الإطارات 50 stream_quality90
سيكون من الجيد حفظ بعض الصور قبل وبعد اكتشاف الحركة والبدء في تسجيل الفيديو. استخدم الإعدادات أدناه لذلك:
# يحدد عدد الصور التي تم التقاطها مسبقًا (المخزنة مؤقتًا) من قبل اكتشاف الحركة # والتي سيتم إخراجها عند اكتشاف الحركة. # النطاق الموصى به: من 0 إلى 5 (افتراضي: 0) الالتقاط المسبق 0 # عدد الإطارات المطلوب التقاطها بعد عدم اكتشاف الحركة (الافتراضي: 0) post_capture 0
تأخذ الحركة بشكل افتراضي الكثير من الصور عندما تكتشف الحركة وسوف ينتهي بك الأمر مع العديد من ملفات "jpg" لحركة صغيرة. لذلك سيكون من الجيد إما ضبط هذا الإعداد ( output_pictures off ) في وضع إيقاف التشغيل أو ضبطه على "الأفضل":
output_pictures أفضل
يمكنك أيضًا التقاط لقطات على فترات منتظمة ، تحددها أنت ، باستخدام الخيار أدناه:
# جعل لقطة تلقائية كل N ثانية (الافتراضي: 0 = معطل) snapshot_interval 0
أكثر الميزات جاذبية بالنسبة لي ، هي فيديو الفاصل الزمني ، إنه ترتيب جيد جدًا لمقاطع الفيديو بفاصل زمني جميل بتكلفة منخفضة جدًا. هنا يمكنك تحديد الفاصل الزمني للقطات لفيديو Timelapse:
# القيمة الافتراضية 0 = إيقاف - وإلا احفظ الإطار كل ثانية ffmpeg_timelapse 2
يمكنك تغيير الدليل الهدف لحفظ جميع الملفات والصور المسجلة باستخدام "target_dir" ولا تنس تعيين "Motion" كمالك لهذا الدليل ، كما هو موضح سابقًا.
# الهدف الدليل الأساسي للصور والأفلام # يوصى باستخدام المسار المطلق. (افتراضي: دليل العمل الحالي) target_dir / var / lib / motion
يمكنك تغيير منفذ دفق الويب (الافتراضي هو 8081):
# يستمع خادم mini-http إلى هذا المنفذ للطلبات (الافتراضي: 0 = معطل) stream_port 8081
إذا كنت لا تريد ملف فيديو طويل ، فيمكنك توجيه تعليمات Motion لعمل عدة مقاطع ذات مدة معينة بدلاً من ملف واحد كبير. يمكنك ذكر مدة المقاطع بالثواني (0 لانهائي):
# الحد الأقصى لطول الفيلم بالثواني # عند تجاوز القيمة ، يتم إنشاء ملف فيلم جديد. (الافتراضي: 0 = لانهائي) max_movie_time 30
يمكنك أيضًا تحديد كيفية تعريف الحركة ، ويمكنك تعيين عدد البكسل أو الإطارات التي تحتاج إلى تغيير لاكتشاف حركة حقيقية:
# عتبة عدد وحدات البكسل التي تم تغييرها في صورة تؤدي إلى # تشغيل اكتشاف الحركة (افتراضي: 1500) الحد 1500 # يجب أن تحتوي إطارات الصور على حركة على الأقل على العدد المحدد من الإطارات # في صف قبل أن يتم اكتشافها كحركة حقيقية. في الوضع الافتراضي 1 ، يتم اكتشاف كل # حركة. النطاق الصالح: من 1 إلى الآلاف ، موصى به من 1 إلى 5 إطارات_حركة_الحد الأدنى
بشكل افتراضي ، تحفظ Motions السجلات في "سجل النظام" ولكن يمكنك تحديد ملف سجل مخصص لـ Motion:
# استخدم ملفًا لحفظ رسائل السجلات ، إذا لم يتم تحديد stderr ويتم استخدام سجل النظام. (افتراضي: لم يتم تعريفه) ملف السجل /tmp/motion.log
لا تنس حفظ وإعادة تشغيل خدمة الحركة بعد تغيير أي إعداد. لحفظ Motion.conf ، اضغط على CTRL + X ثم Y ثم Enter.
هذه بعض الإعدادات الشائعة التي يمكن استخدامها لتحقيق نتائج جيدة. ولكن إذا كنت فضوليًا ، فقم بحفر ملف التكوين أكثر وابدأ في اللعب بالإعدادات. هناك الكثير من الخيارات لضبط السطوع والتباين ومعدل البت والمشغلات ومصادقة كلمة المرور وغير ذلك الكثير.
كيفية الحصول على موجز الفيديو عبر الإنترنت:
هنا قمنا بمراقبة تغذية كاميرا الويب عبر الشبكة المحلية باستخدام عنوان IP المحلي لـ Raspberry Pi. ولكن إذا كنت ترغب في مراقبته من أي مكان عبر الإنترنت ، فأنت بحاجة إلى ضبط Port Forwarding في جهاز التوجيه / المودم. تحتاج بشكل أساسي إلى إعادة توجيه المنفذ 80 (المستخدم لـ HTTP أو الإنترنت) إلى عنوان IP المحلي أو الخاص منكم Raspberry Pi (مثل (192.168 * في حالتنا). بعد إعادة توجيه جميع الاتصالات الواردة إلى المنفذ 80 ، سيتم إعادة توجيهها إلى هذا العنوان المحلي ويمكنك مشاهدة البث المباشر عن طريق إدخال عنوان IP العام الخاص بك على الإنترنت مع البث المنفذ الذي قمنا بتعيينه مسبقًا (8081). لكل جهاز توجيه واجهة مستخدم مختلفة لإعداد Port Forwarding ، بحيث يمكنك تسجيل الدخول إلى جهاز التوجيه الخاص بك (192.168.1.1) ويمكنك العثور على الخيار نفسه. ولكن تذكر ذلك ، للوصول إلى Raspberry Pi عبر الإنترنت ، يجب أن يكون لديك عنوان IP عام ثابت ولا يجب تغييره عند كل إعادة تشغيل للمودم. يتم توفير عنوان IP الثابت بواسطة مزود خدمة الإنترنت.
هذه هي الطريقة التي يمكننا بها بسهولة إعداد كاميرا مراقبة منخفضة التكلفة للغاية باستخدام Raspberry Pi وكاميرا ويب بسيطة.