สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าข้อกำหนดเบื้องต้น
- ขั้นตอนที่ 2: การตั้งค่าซอฟต์แวร์ตรวจจับการเคลื่อนไหว
- ขั้นตอนที่ 3: การเข้าถึงวิดีโอและการกำหนดค่าผ่าน Dropbox
วีดีโอ: ระบบรักษาความปลอดภัยเว็บแคม Pizero Motion Detect: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ระบบนี้ใช้ pizero, wifi dongle และเว็บแคมเก่าในกล่องไม้ขีดไฟที่ปรับแต่งได้ มันบันทึกวิดีโอการตรวจจับการเคลื่อนไหวที่ 27fps ของการเคลื่อนไหวที่สำคัญบนถนนรถแล่นของฉัน จากนั้นจะอัปโหลดคลิปไปยังบัญชีดรอปบ็อกซ์ นอกจากนี้ยังสามารถดูบันทึกและเปลี่ยนการกำหนดค่าผ่านดรอปบ็อกซ์
ขั้นตอนที่ 1: การตั้งค่าข้อกำหนดเบื้องต้น
ขั้นแรกให้อัปเดตระบบปฏิบัติการเป็นเวอร์ชันล่าสุดตามที่อธิบายไว้ที่นี่
จากนั้นตั้งค่า wifi ตามที่อธิบายไว้ที่นี่
จากนั้นคุณจะต้องตั้งค่า OpenCv มีคำแนะนำที่ดีเกี่ยวกับวิธีการทำเช่นนี้ใน pyimagesearch หากคุณกำลังจะใช้เวอร์ชัน 3.0 คาดว่าจะใช้เวลานาน ขั้นตอนหนึ่งใช้เวลา 9 ชั่วโมงในการทำ คุณจะต้องมีการเชื่อมโยงหลามซึ่งอธิบายไว้ในหน้านั้น
เมื่อคุณเตรียมข้อมูลทั้งหมดนี้แล้ว คุณก็พร้อมที่จะดาวน์โหลดซอฟต์แวร์ตรวจจับการเคลื่อนไหว
ขั้นตอนที่ 2: การตั้งค่าซอฟต์แวร์ตรวจจับการเคลื่อนไหว
รหัสสามารถพบได้บน 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 หากคุณพบสิ่งที่น่าสนใจหรือคำถามใด ๆ โปรดแสดงความคิดเห็นในบล็อก
แนะนำ:
วิธีใช้ Detect Human HC-SR501: 9 ขั้นตอน
วิธีใช้ Detect Human HC-SR501: บทช่วยสอนในการพัฒนา Detect Human HC-SR501 ด้วย skiiiD
สถานีตรวจอากาศสี PiZero: 6 ขั้นตอน
PiZero Colored Weather Station: ฉันต้องการแสดงให้คุณเห็นในโครงการนี้ถึงวิธีการสร้างสถานีตรวจอากาศที่ดูดีโดยใช้ Raspberry Pi Zero W สำหรับติดผนังพร้อมพยากรณ์อากาศและหน้าจอสี TFT ขนาด 2.8 นิ้ว
การตรวจสอบ Lizard Terrarium โดยใช้ Adosia IoT WiFi Controller + Motion Detect: 17 ขั้นตอน (พร้อมรูปภาพ)
การตรวจสอบ Lizard Terrarium โดยใช้ Adosia IoT WiFi Controller + Motion Detect: ในบทช่วยสอนนี้ เราจะแสดงวิธีสร้าง Lizard Terrarium อย่างง่ายสำหรับไข่ skink จำนวนหนึ่งที่เราพบโดยไม่ได้ตั้งใจและถูกรบกวนขณะทำสวนข้างนอก เราต้องการให้ไข่ฟักได้อย่างปลอดภัย สิ่งที่เราจะทำคือสร้างพื้นที่ปลอดภัยโดยใช้พลาส
DIY Home Security - วิธีสร้าง Simple Motion Detect - เวอร์ชันใหม่: 6 ขั้นตอน
DIY Home Security - วิธีสร้าง Simple Motion Detect | เวอร์ชันใหม่: ในโครงการนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีการสร้างการแจ้งเตือนการเคลื่อนไหวความปลอดภัยภายในบ้านแบบ DIY ราคาประหยัด! ดูเวอร์ชันเก่า: วิธีสร้างระบบรักษาความปลอดภัย WiFi มูลค่า 10 ดอลลาร์ที่บ้าน
อัพเกรดหม้อรดน้ำด้วยตนเอง DIY ด้วย WiFi ให้เป็น DIY Motion Detect Sentry Alarm ชาวไร่: 17 ขั้นตอน
อัพเกรดหม้อรดน้ำ DIY ด้วยตัวเองด้วย WiFi ให้เป็น DIY Motion Detect Sentry Alarm Planter: ในบทความนี้เราจะแสดงวิธีอัปเกรดหม้อรดน้ำ DIY ด้วยตัวเองด้วย WiFi เป็นหม้อรดน้ำ DIY ด้วยตัวเองพร้อม WiFi และ Motion Detect Sentry Alarm ถ้า คุณยังไม่ได้อ่านบทความเกี่ยวกับวิธีการสร้าง DIY Self Watering Pot ด้วย WiFi คุณสามารถค