- สร้างกล้องรักษาความปลอดภัย Motion Capture อย่างรวดเร็วด้วย Raspberry Pi:
- การปรับแต่งการตั้งค่าสื่อในการเคลื่อนไหว:
- วิธีรับ Video Feed ผ่านอินเทอร์เน็ต:
ความปลอดภัยเป็นปัญหาหลักในปัจจุบันและปัจจุบันมีเทคโนโลยีมากมายที่ช่วยให้สถานที่ของคุณปลอดภัยและได้รับการตรวจสอบ กล้องวงจรปิดมีประโยชน์มากในการจับตาดูบ้านหรือที่ทำงานของคุณ แม้ว่าราคาของกล้องประเภทนี้จะลดลงอย่างมากตั้งแต่เริ่มต้น แต่ก็ยังคงเป็นกล้อง IP ซึ่งมีความสามารถในการส่งและรับวันที่ผ่านเครือข่ายนั้นมีราคาแพงมาก และสำหรับ True Surveillance กล้องต้องมีความสามารถในการส่งฟีดผ่านอินเทอร์เน็ตเพื่อให้สามารถรับชมได้จากทุกที่ในโลก
วันนี้เราจะทำให้ราคาถูกมากเฝ้าระวังการเคลื่อนไหวกล้องจับภาพโดยใช้ราสเบอร์รี่ Pi และเว็บแคม นี่เป็นเครื่องมือรักษาความปลอดภัยที่ยอดเยี่ยมและราคาถูกกว่ามากซึ่งมีตัวเลือกที่สามารถกำหนดค่าได้มากมายและสามารถสร้างได้ในไม่กี่นาที ที่นี่เราใช้เฉพาะRaspberry Pi และเว็บแคม USB เพื่อสร้างกล้อง Motion Captureนี้ เราติดตั้ง Raspbian Jessie OS บนบอร์ด Raspberry Pi ของเราแล้ว คุณควรตรวจสอบบทความนี้เพื่อติดตั้ง Raspbian OS และเริ่มต้นกับ Raspberry Pi
ที่นี่เราจะอ่านคู่มือเริ่มใช้งานฉบับย่อก่อนเพื่อให้คุณสามารถเตรียมกล้องเฝ้าระวังของคุณให้พร้อมในไม่กี่นาทีด้วยการกำหนดค่าเริ่มต้นทั้งหมดและหลังจากนั้นเราจะเจาะลึกรายละเอียดและตัวเลือกการกำหนดค่าอื่น ๆ เพื่อปรับแต่งตามความต้องการของคุณ
แต่ก่อนหน้านั้นเรามาทำความรู้จักกับMotion (Surveillance Software) กันก่อนซึ่งถือเป็นหัวใจสำคัญของโปรเจ็กต์นี้ Motion เป็นซอฟต์แวร์กล้องวงจรปิดตรวจจับความเคลื่อนไหวแบบโอเพนซอร์สที่พัฒนาขึ้นสำหรับ Linux ตรวจจับการเคลื่อนไหวและเริ่มบันทึกวิดีโอ เมื่อติดตั้ง 'Motion' ไว้ใน Raspberry Pi ของคุณคุณสามารถเปลี่ยน Raspberry Pi ของคุณให้เป็นกล้องรักษาความปลอดภัยได้อย่างน่าอัศจรรย์และสามารถรับฟังก์ชันต่อไปนี้ได้:
1. คุณสามารถดูฟีดวิดีโอสดบนเว็บเบราว์เซอร์ได้โดยป้อนที่อยู่ IP ของ Pi พร้อมกับพอร์ต
2. จะบันทึกและบันทึกวิดีโอทุกครั้งที่ตรวจพบการเคลื่อนไหวหรือสิ่งรบกวนใด ๆ ในพื้นที่ดู จะบันทึกวิดีโอไปเรื่อย ๆ จนกว่าจะมีการเคลื่อนไหวจากนั้นจะหยุดและบันทึกไฟล์ซึ่งสามารถรับชมได้ในภายหลัง
3. สามารถสร้างวิดีโอ Timelapse ที่สวยงาม
4. สามารถถ่ายภาพในช่วงเวลาปกติหรือเมื่อมีการเคลื่อนไหว สแนปชอตจะถูกบันทึกไว้ในดิสก์เพื่อใช้ในภายหลัง
นอกจากนั้นยังมีตัวเลือกการกำหนดค่าอีกมากมายซึ่งเราจะพูดถึงในไม่ช้าและเรายังสามารถตั้งค่า 'ทริกเกอร์' ที่ผู้ใช้กำหนดสำหรับเหตุการณ์บางอย่าง Motion ปัจจุบันรองรับเฉพาะกล้อง USB นอกกรอบหากคุณต้องการใช้ Pi Camera คุณต้องใช้ Motion รุ่นพิเศษ
สร้างกล้องรักษาความปลอดภัย Motion Capture อย่างรวดเร็วด้วย Raspberry Pi:
ที่นี่คุณต้องเรียกใช้เพียงไม่กี่คำสั่งเพื่อเริ่มรับฟีดวิดีโอแรกผ่านเครือข่าย ก่อนหน้านั้นตรวจสอบให้ถูกต้องว่า Raspberry Pi ของคุณเชื่อมต่อกับอินเทอร์เน็ตโดยใช้ LAN หรือ Wi-Fi จากนั้นทำตามขั้นตอนด้านล่าง:
ขั้นตอนที่ 1:ขั้นแรกให้เรียกใช้คำสั่งด้านล่างเพื่ออัปเดต Raspbian OSบน Raspberry Pi:
อัปเดต sudo apt-get
ขั้นตอนที่ 2:จากนั้นติดตั้งไลบรารี 'Motion'โดยใช้คำสั่งด้านล่าง:
sudo apt-get install motion
ขั้นตอนที่ 3:ตอนนี้ตั้งเคลื่อนไหวภูตใช่โดยการแก้ไขไฟล์: / etc / default / การเคลื่อนไหว เพื่อที่จะอยู่เสมอที่จะทำงาน แก้ไขไฟล์นี้โดยใช้ตัวแก้ไข 'nano' ด้วย 'sudo' ตามที่ระบุด้านล่าง:
sudo nano / etc / default / motion
จากนั้นบันทึกไฟล์โดยกด 'CTRL + X' จากนั้น 'Y' และปุ่ม Enter
ขั้นตอนที่ 4:ตอนนี้เราจำเป็นต้องตั้งค่าการอนุญาตสำหรับ Target Directory (/ var / lib / motion /) ซึ่ง Motion จะบันทึกการบันทึกวิดีโอและไฟล์รูปภาพทั้งหมด เราจำเป็นต้องตั้งค่า 'Motion' เป็นเจ้าของไดเรกทอรีนี้โดยออกคำสั่งด้านล่าง:
การเคลื่อนไหว sudo chown: การเคลื่อนไหว / var / lib / การเคลื่อนไหว /
การอนุญาตนี้จำเป็นไม่เช่นนั้นคุณจะได้รับข้อผิดพลาดด้านล่างเมื่อคุณตรวจสอบสถานะบริการการเคลื่อนไหวโดยใช้คำสั่งนี้: sudo service motion status
ขั้นตอนที่ 5:ตอนนี้เราเกือบเสร็จแล้วเพียงแค่เราต้องเปลี่ยนตัวเลือก config หนึ่งตัวในไฟล์การกำหนดค่า Motion (/etc/motion/motion.conf ) ซึ่ง ปิด stream_localhost เราต้องปิดการสตรีมโฮสต์ภายในเครื่องมิฉะนั้นเราจะไม่สามารถเข้าถึงฟีดวิดีโอบนเครือข่ายของเราได้และจะเข้าถึงได้จาก Raspberry Pi เท่านั้น ในการดำเนินการดังกล่าวให้แก้ไขไฟล์ Motion Configuration ด้วยตัวแก้ไข 'nano' และปิดไฟล์ดังที่แสดงด้านล่าง:
sudo nano /etc/motion/motion.conf
ตอนนี้เราทำเสร็จแล้วและพร้อมที่จะรับฟีดสดจากเว็บแคม USB ที่เชื่อมต่อกับ Pi เพียงเริ่มบริการ Motion โดยใช้คำสั่งด้านล่างและเปิด IP ของ Raspberry Pi พร้อมพอร์ต 8081ในเบราว์เซอร์ของคุณ (เช่น 192.168.1.103:8081):
sudo /etc/init.d/motion start
และคุณจะเห็นฟีดสดจากเว็บแคมของคุณดังด้านล่าง ที่นี่เราใช้เว็บแคม USB ราคาประหยัด (Quantum web camera QHM500LM) ซึ่งทำงานร่วมกับ Raspberry Pi ของเราได้อย่างราบรื่น แต่คุณสามารถใช้กล้องคุณภาพดีเพื่อความละเอียดที่ดีขึ้น
ตามที่จะแสดงในเบราว์เซอร์คุณสามารถใช้อุปกรณ์ใดก็ได้เพื่อดูฟีดซึ่งรองรับเว็บเบราว์เซอร์เช่นมือถือแท็บเล็ตเป็นต้นด้านล่างนี้คือภาพรวมจากโทรศัพท์มือถือ:
คุณสามารถเริ่มหยุดรีสตาร์ทและรับสถานะของบริการ Motion ได้ตลอดเวลาโดยใช้คำสั่งด้านล่างสี่คำสั่ง:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart sudo service motion status
หรือคุณสามารถรีบูต Raspberry Pi เป็นขั้นตอนการแก้ไขปัญหาเมื่อจำเป็น:
sudo รีบูต
หมายเหตุ: หากคุณเป็นรุ่น Raspberry Pi ที่ต่ำกว่าเวอร์ชัน 3 คุณอาจต้องใช้ดองเกิล Wi-Fi เพื่อเชื่อมต่อราสเบอร์รี่ Pi กับเราเตอร์แบบไร้สาย Raspberry Pi 3 มี Wi-Fi ในตัว ที่นี่เราใช้ Raspberry Pi 2 Model B กับ Wi-Fi dongle
การปรับแต่งการตั้งค่าสื่อในการเคลื่อนไหว:
ตอนนี้เรามีกล้อง Surveillanceของเราทำงานอยู่ ตอนนี้เราสามารถดูตัวเลือกการกำหนดค่าที่มีประโยชน์บางอย่างซึ่งเราสามารถปรับให้เหมาะสมตามความต้องการของเราและได้ผลลัพธ์ที่น่าประทับใจมาก ในไฟล์ Motion Configuration การตั้งค่าทั้งหมดได้รับการอธิบายอย่างดีด้วยค่าเริ่มต้นและค่าเริ่มต้นเพียงตรวจสอบโดยใช้คำสั่งด้านล่าง:
sudo nano /etc/motion/motion.conf
นอกเหนือจากการรับฟีดสด Motion ยังบันทึกและบันทึกไฟล์วิดีโอทุกครั้งที่ตรวจพบการเคลื่อนไหว ดังนั้นคุณจึงสามารถปรับอัตราเฟรมที่มีคุณภาพ, ความกว้าง / ความสูงของสตรีมมิ่งวิดีโอ คุณสามารถตั้งอัตราเฟรมสูงสำหรับวิดีโอแบบเรียลไทม์ได้ แต่เครือข่ายของคุณต้องเร็วพอสำหรับวิดีโอนี้ ด้านล่างนี้คือค่าที่เราใช้คุณสามารถเปลี่ยนแปลงได้ตามนี้:
# ความกว้างของภาพ (พิกเซล) ช่วงที่ถูกต้อง: ขึ้นอยู่กับกล้องค่าเริ่มต้น: 352 กว้าง 640 # ความสูงของภาพ (พิกเซล) ช่วงที่ถูกต้อง: ขึ้นอยู่กับกล้องค่าเริ่มต้น: 288 ความสูง 480 # จำนวนเฟรมสูงสุดที่ถ่ายได้ต่อวินาที # ช่วงที่ถูกต้อง: 2-100. ค่าเริ่มต้น: 100 (แทบไม่มีขีด จำกัด) framerate 50 stream_quality 90
จะเป็นการดีที่จะบันทึกภาพก่อนและหลังตรวจจับการเคลื่อนไหวและเริ่มบันทึกวิดีโอ ใช้การตั้งค่าด้านล่างสำหรับสิ่งนั้น:
# ระบุจำนวนภาพที่ถ่ายไว้ล่วงหน้า (บัฟเฟอร์) จากก่อนที่จะตรวจพบการเคลื่อนไหว # ซึ่งจะส่งออกเมื่อตรวจจับการเคลื่อนไหว # ช่วงที่แนะนำ: 0 ถึง 5 (ค่าเริ่มต้น: 0) pre_capture 0 # จำนวนเฟรมที่จะจับภาพหลังจากตรวจไม่พบการเคลื่อนไหวอีกต่อไป (ค่าเริ่มต้น: 0) post_capture 0
การเคลื่อนไหวโดยค่าเริ่มต้นจะถ่ายภาพมากเกินไปเมื่อตรวจพบการเคลื่อนไหวและคุณจะได้ไฟล์ 'jpg' จำนวนมากสำหรับการเคลื่อนไหวขนาดเล็ก ดังนั้นจึงเป็นการดีที่จะตั้งค่านี้ ( output_pictures off ) ปิดหรือตั้งค่าเป็น 'ดีที่สุด':
output_pictures ดีที่สุด
คุณยังสามารถถ่ายภาพในช่วงเวลาปกติที่คุณกำหนดโดยใช้ตัวเลือกด้านล่าง:
# สร้างสแนปชอตอัตโนมัติทุก N วินาที (ค่าเริ่มต้น: 0 = ปิดใช้งาน) snapshot_interval 0
คุณสมบัติที่น่าสนใจที่สุดสำหรับฉันคือวิดีโอแบบไทม์แลปส์เป็นการจัดเรียงที่ดีมากสำหรับวิดีโอตามเวลาที่สวยงามในต้นทุนที่ต่ำมาก คุณสามารถกำหนดช่วงเวลาสำหรับสแนปชอตสำหรับ Timelapse Video ได้ที่นี่:
# ค่าเริ่มต้น 0 = ปิด - มิฉะนั้นให้บันทึกเฟรมทุก ๆ วินาทีที่ Nth ffmpeg_timelapse 2
คุณสามารถเปลี่ยน Target Directoryเพื่อบันทึกไฟล์และรูปภาพที่บันทึกไว้ทั้งหมดโดยใช้ "target_dir" และอย่าลืมตั้งค่า "Motion" เป็นเจ้าของไดเร็กทอรีนี้ตามที่อธิบายไว้ก่อนหน้านี้
# ไดเรกทอรีฐานเป้าหมายสำหรับรูปภาพและภาพยนตร์ # แนะนำให้ใช้เส้นทางที่แน่นอน (ค่าเริ่มต้น: ไดเร็กทอรีการทำงานปัจจุบัน) target_dir / var / lib / motion
คุณสามารถเปลี่ยนพอร์ตสตรีมมิ่งเว็บ (ค่าเริ่มต้นคือ 8081):
# เซิร์ฟเวอร์ mini-http ฟังพอร์ตนี้สำหรับคำขอ (ค่าเริ่มต้น: 0 = ปิดใช้งาน) stream_port 8081
หากคุณไม่ต้องการไฟล์วิดีโอที่ยาวคุณสามารถสั่งให้ Motion สร้างคลิปหลาย ๆ คลิปในช่วงเวลาหนึ่ง ๆ แทนที่จะเป็นไฟล์ขนาดใหญ่ คุณสามารถระบุระยะเวลาของคลิปเป็นวินาที (0 สำหรับอนันต์):
# ความยาวสูงสุดเป็นวินาทีของภาพยนตร์ # เมื่อเกินค่าไฟล์ภาพยนตร์ใหม่จะถูกสร้างขึ้น (ค่าเริ่มต้น: 0 = ไม่มีที่สิ้นสุด) max_movie_time 30
นอกจากนี้คุณยังสามารถตัดสินใจได้เช่นกันว่าจะกำหนดการเคลื่อนไหวอย่างไรและสามารถกำหนดจำนวนพิกเซลหรือเฟรมที่ต้องเปลี่ยนแปลงเพื่อตรวจจับการเคลื่อนไหวที่แท้จริง:
# เกณฑ์สำหรับจำนวนพิกเซลที่เปลี่ยนแปลงในภาพที่ # ทริกเกอร์การตรวจจับการเคลื่อนไหว (ค่าเริ่มต้น: 1500) เกณฑ์ 1,500 # กรอบรูปต้องมีการเคลื่อนไหวอย่างน้อยตามจำนวนเฟรมที่ระบุ # ในแถวก่อนที่จะตรวจพบว่าเป็นการเคลื่อนไหวจริง โดยค่าเริ่มต้น 1 จะตรวจพบการเคลื่อนไหวทั้งหมด # รายการ ช่วงที่ถูกต้อง: 1 ถึงหลายพันแนะนำ 1-5 ขั้นต่ำ _motion_frames 5
ตามค่าเริ่มต้น Motions จะบันทึกบันทึกใน 'syslog' แต่คุณสามารถกำหนดไฟล์บันทึกเฉพาะสำหรับ Motion ได้:
# ใช้ไฟล์เพื่อบันทึกข้อความบันทึกหากไม่ได้กำหนด stderr และ syslog ถูกใช้ (ค่าเริ่มต้น: ไม่ได้กำหนด) logfile /tmp/motion.log
อย่าลืมบันทึกและเริ่มบริการ Motion ใหม่หลังจากเปลี่ยนการตั้งค่าใด ๆ ในการบันทึก motion.conf ให้กด CTRL + X จากนั้น Y แล้วกด Enter
ดังนั้นนี่คือการตั้งค่าทั่วไปบางส่วนที่สามารถใช้เพื่อให้ได้ผลลัพธ์ที่ดี แต่ถ้าคุณอยากรู้อยากเห็นให้ขุดไฟล์การกำหนดค่าเพิ่มเติมและเริ่มเล่นกับการตั้งค่า มีตัวเลือกมากมายในการตั้งค่าความสว่างความคมชัดอัตราบิตทริกเกอร์การตรวจสอบรหัสผ่านและอื่น ๆ อีกมากมาย
วิธีรับ Video Feed ผ่านอินเทอร์เน็ต:
ที่นี่เราได้ตรวจสอบฟีดของเว็บแคมผ่านเครือข่ายท้องถิ่นโดยใช้ IP ท้องถิ่นของ Raspberry Pi แต่ถ้าคุณต้องการตรวจสอบจากที่ใดก็ได้บนอินเทอร์เน็ตคุณต้องตั้งค่าการส่งต่อพอร์ตในเราเตอร์ / โมเด็มของคุณ โดยทั่วไปคุณต้องส่งต่อพอร์ต 80 (ใช้สำหรับ HTTP หรืออินเทอร์เน็ต) ไปยังที่อยู่ IP ในพื้นที่หรือส่วนตัวของคุณ Raspberry Pi ของคุณ (เช่น (192.168 * ในกรณีของเรา) หลังจากพอร์ตส่งต่อการเชื่อมต่อขาเข้าทั้งหมดไปยังพอร์ต 80 จะถูกส่งต่อไปยังที่อยู่ท้องถิ่นนี้และคุณสามารถรับชมฟีดสดได้โดยป้อนที่อยู่ IP สาธารณะของคุณบนอินเทอร์เน็ตด้วยการสตรีม พอร์ตที่เราตั้งไว้ก่อนหน้านี้ (8081) เราเตอร์ทุกตัวมีอินเทอร์เฟซผู้ใช้ที่แตกต่างกันสำหรับการตั้งค่าการส่งต่อพอร์ตดังนั้นคุณสามารถเข้าสู่ระบบเราเตอร์ของคุณ (192.168.1.1) และสามารถค้นหาตัวเลือกเดียวกันได้ แต่อย่าลืมว่าในการเข้าถึง Raspberry Pi ผ่านอินเทอร์เน็ตคุณต้องมีที่อยู่ IP สาธารณะแบบคงที่และไม่ควรเปลี่ยนแปลงทุกครั้งที่รีสตาร์ทโมเด็ม ISP ของคุณให้ที่อยู่ IP แบบคงที่
นี่คือวิธีที่เราสามารถตั้งค่ากล้องเฝ้าระวังต้นทุนต่ำได้อย่างง่ายดายโดยใช้ Raspberry Pi และกล้องเว็บธรรมดา