สารบัญ:

ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect: 3 ขั้นตอน
ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect: 3 ขั้นตอน

วีดีโอ: ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect: 3 ขั้นตอน

วีดีโอ: ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect: 3 ขั้นตอน
วีดีโอ: How To Make A Raspberry Pi Zero WiFi Security Camera, Also Accessible Over The Internet 2024, พฤศจิกายน
Anonim
ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect
ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect

ระบบนี้ใช้ pizero, wifi dongle และเว็บแคมเก่าในกล่องไม้ขีดไฟที่ปรับแต่งได้ มันบันทึกวิดีโอการตรวจจับการเคลื่อนไหวที่ 27fps ของการเคลื่อนไหวที่สำคัญบนถนนรถแล่นของฉัน จากนั้นจะอัปโหลดคลิปไปยังบัญชีดรอปบ็อกซ์ นอกจากนี้ยังสามารถดูบันทึกและเปลี่ยนการกำหนดค่าผ่านดรอปบ็อกซ์

ขั้นตอนที่ 1: การตั้งค่าข้อกำหนดเบื้องต้น

Image
Image

ขั้นแรกให้อัปเดตระบบปฏิบัติการเป็นเวอร์ชันล่าสุดตามที่อธิบายไว้ที่นี่

จากนั้นตั้งค่า wifi ตามที่อธิบายไว้ที่นี่

จากนั้นคุณจะต้องตั้งค่า OpenCv มีคำแนะนำที่ดีเกี่ยวกับวิธีการทำเช่นนี้ใน pyimagesearch หากคุณกำลังจะใช้เวอร์ชัน 3.0 คาดว่าจะใช้เวลานาน ขั้นตอนหนึ่งใช้เวลา 9 ชั่วโมงในการทำ คุณจะต้องมีการเชื่อมโยงหลามซึ่งอธิบายไว้ในหน้านั้น

เมื่อคุณเตรียมข้อมูลทั้งหมดนี้แล้ว คุณก็พร้อมที่จะดาวน์โหลดซอฟต์แวร์ตรวจจับการเคลื่อนไหว

ขั้นตอนที่ 2: การตั้งค่าซอฟต์แวร์ตรวจจับการเคลื่อนไหว

การเข้าถึงวิดีโอและการกำหนดค่าผ่าน Dropbox
การเข้าถึงวิดีโอและการกำหนดค่าผ่าน Dropbox

รหัสสามารถพบได้บน bitbucket คัดลอกไฟล์เหล่านี้โดยใช้

โคลน git

หรือหากคุณต้องการดาวน์โหลดทีละรายการ

ส่วนหลักของระบบนี้คือ multiMotionDetect.py ใช้คิวและเหตุการณ์หลายการประมวลผลจำนวนมาก

ก่อนอื่น คุณต้องตัดสินใจว่าคุณต้องการเก็บภาพวิดีโอไว้ที่ไหน MotionVideos และตั้งค่านี้ในไฟล์ globalConfig.json จากนั้นคัดลอก config.json.txt และ maskedAreas.json.txt ไปที่รูทของโฟลเดอร์นี้ config.json.txt มีการตั้งค่าต่อไปนี้ซึ่งสามารถแก้ไขได้จากระยะไกล

{ "frameThreshold": "4", "staticThreshold": "100", "min_area":"650", "postSeconds":"7", "readCamNice": "-6", "checkMotionNice":"5", "writeCamNice": "5", "ขนาดสูงสุด": "6"

}

FrameThreshold: คือจำนวนเฟรมที่มีนัยสำคัญก่อนที่จะตรวจพบการเคลื่อนไหว

staticThreshold: คือจำนวนเฟรมคงที่ก่อนที่เราจะปิดการถ่ายทำ

minArea: คือขนาดต่ำสุดของพื้นที่เพื่อนับเป็นนัยสำคัญ

postSeconds: นี่คือจำนวนวินาทีนับจากสิ้นสุดการถ่ายทำเพื่อให้การเคลื่อนไหวผ่านคิว readCamNice: นี่คือลำดับความสำคัญที่จะให้ความสำคัญกับ

กระบวนการ readCam ซึ่งอยู่ระหว่าง -20 ถึง +20 (ตัวเลขยิ่งต่ำยิ่งมีลำดับความสำคัญสูง) แต่อย่าหักโหมจนเกินไป มิฉะนั้น ระบบปฏิบัติการจะขัดข้อง

checkMotionNice: ลำดับความสำคัญสำหรับกระบวนการตรวจจับการเคลื่อนไหว

writeCamNice: ลำดับความสำคัญของกระบวนการเขียนกล้อง

maxqsize: นี่คือจำนวนวินาทีที่คูณด้วยเฟรมต่อวินาที

ส่วนใหญ่ฉันจะเปลี่ยนเฉพาะ min_area เพื่อพิจารณาสภาพลมเท่านั้น

หากคุณต้องการใช้ตัวบันทึกธรรมดามากกว่าตัวบันทึกซ็อกเก็ต (ด้านล่าง) ให้เปลี่ยนการนำเข้า miaLogging เป็น

นำเข้าการบันทึก

logging.basicConfig(filename='example.log', level=logging. DEBUG)

และลบตัวรับบันทึกออกจากไฟล์ motionDetect และทุกอย่างจะทำงานได้ดี

หากคุณต้องการเรียกใช้การตรวจจับการเคลื่อนไหวโดยอัตโนมัติเมื่อเริ่มต้น

ก่อนอื่นให้แก้ไขสคริปต์และตรวจสอบว่า homedir ชี้ไปยังตำแหน่งที่คุณมี multiMotionDetect.py จากนั้นคัดลอกไฟล์ motionDetect ไปที่ /etc/init.d เช่น

cp motionDetect /etc/init.d/motionDetect

น่าจะใช้งานได้แล้ว แต่

chmod +x /etc/init.d/motionDetect

สุดท้ายลงทะเบียนสคริปต์กับ

sudo update-rc.d motionDetect defaults

คุณยังสามารถเริ่ม หยุด และรีสตาร์ทระบบด้วย

sudo /etc/init.d/motionDetect เริ่ม|หยุด|เริ่มใหม่

โดยค่าเริ่มต้น การบันทึกซ็อกเก็ต miaLogReceiver จะเริ่มต้นพร้อมกัน อีกสามโปรแกรมเป็นอิสระ แต่ใช้ซ็อกเก็ตล็อกเกอร์เดียวกัน (แต่สามารถแปลงได้ง่าย) ฉันเรียกสิ่งเหล่านี้โดยใช้สคริปต์ cron ที่มีช่วงเวลาต่างกัน ดูคำแนะนำได้ที่นี่

CheckRunning.py ตรวจสอบว่า multiMotionDetect.py กำลังทำงานอยู่และจะรีสตาร์ทหรือไม่ ถ้าไม่

fileMaint.py ดำเนินการดูแลทำความสะอาดในโฟลเดอร์วิดีโอเพื่อลบสิ่งเหล่านี้หลังจากผ่านไปตามจำนวนวันที่กำหนด จะลบไดเรกทอรีย่อยของโฟลเดอร์วิดีโอเคลื่อนไหวที่ตั้งไว้ในย่อหน้าแรก จะตรวจสอบว่ามันขึ้นต้นด้วย "MV" ดังนั้นตรวจสอบให้แน่ใจว่าคุณไม่มีไดเร็กทอรีสำคัญอื่นที่ขึ้นต้นด้วยอักขระเดียวกันภายในโฟลเดอร์นั้น

ขั้นตอนที่ 3: การเข้าถึงวิดีโอและการกำหนดค่าผ่าน Dropbox

สุดท้าย หากคุณต้องการดูวิดีโอ บันทึก และไฟล์กำหนดค่าจากระยะไกล คุณจะต้องตั้งค่าดรอปบ็อกซ์

ขั้นแรกให้รับบัญชีดรอปบ็อกซ์ซึ่งฟรี จากนั้นตั้งค่า API สำหรับ python -https://www.dropbox.com/developers/documentation/… ซึ่งรวมถึงการดาวน์โหลด sdk และการลงทะเบียนแอปเพื่อเข้าถึง API

เมื่อคุณมีคีย์แล้ว ให้ป้อนสิ่งนั้นในไฟล์ globalConfig.json ข้อมูลเพิ่มเติมเกี่ยวกับระบบสามารถพบได้ในบล็อกของฉัน dani cymru - cyber renegade หากคุณพบสิ่งที่น่าสนใจหรือคำถามใด ๆ โปรดแสดงความคิดเห็นในบล็อก

แนะนำ: