ระบบเตือนภัยผู้บุกรุกด้วย PIR และ Raspberry Pi
เป็นการเอา PIR Sensors เป็นเซ็นเซอร์ที่ใช้ในการตรวจจับความเคลื่นไหวและเตือนด้วยเสียง โดยใช้ Raspberry Pi ในการควบคุมระบบ โดยการใช้โปรแกรม Python ในการควบคุมการทำงาน หรือ พูดง่ายๆคือ ถ้าคุณเคยเข้า 7-eleven จะมีการเตือนเมื่อมีคนเดินผ่านประตู
รายการอุปกรณ์
- ชุด Raspberry pi
- SD Card 4G Class4 ขั้นต่ำ-OS Raspbian "2014-01-07-wheezy-raspbian.zip" http://www.raspberrypi.org/downloads
- PIR Sensors
- WIFI USB / LAN Wires
- Mount+Keyboard
- ลำโพงและสาย Audio ขนาด 3.5 mm
ขั้นตอนการต่ออุปกรณ์
ขั้นตอนการติดตั้งระบบเตือนภัย
ติดตั้งโปรแกรมเล่นเสียง MPG321 และ ดาวโหลดไฟล์ .MP3 เพื่อใช้เป็นเสียงเตือนภัยของระบบด้วยคำสั่ง
$sudo apt-get -y install mpg321
$sudo wget http://talktech.info/wp-content/uploads/2014/01/dogbark.mp3
เขียน Code ที่ใช้ในการสั่งงานให้ระบบเตือนภัย
$sudo nano pir_1.py
คัลลอก Code ด้านล่างนี้ไว้ในไฟล์ pir_1.py จากนั้น Save ด้วย Ctrl+x >> y >> Enter
#!/usr/bin/python
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#|R|a|s|p|b|e|r|r|y|P|i|-|S|p|y|.|c|o|.|u|k|
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#
# pir_1.py
# Detect movement using a PIR module
#
# Author : Matt Hawkins
# Date : 21/01/2013
# Import required Python libraries
import RPi.GPIO as GPIO
import time
import os
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_PIR = 7
print "PIR Module Test (CTRL-C to exit)"
# Set pin as input
GPIO.setup(GPIO_PIR,GPIO.IN) # Echo
Current_State = 0
Previous_State = 0
try:
print "Waiting for PIR to settle ..."
# Loop until PIR output is 0
while GPIO.input(GPIO_PIR)==1:
Current_State = 0
print " Ready"
# Loop until users quits with CTRL-C
while True :
# Read PIR state
Current_State = GPIO.input(GPIO_PIR)
if Current_State==1 and Previous_State==0:
# PIR is triggered
print " Motion detected!"
cmd_string = 'mpg321 -q dogbark.mp3'
#cmd_string = './speech.sh motion detected!'
os.system(cmd_string)
# Record previous state
Previous_State=1
elif Current_State==0 and Previous_State==1:
# PIR has returned to ready state
print " Ready"
Previous_State=0
# Wait for 10 milliseconds
time.sleep(0.01)
except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()
เรียกใช้ Script Python ด้วยคำสั่ง
$sudo python pir_1.py
เมื่อเรียกใช้คำสั่งแล้วทดสอบด้วยการเคลื่อนไหวบริเวณหน้า PIR Sensors จะมีการแสดง Motion Detect และจะมีเสียงเตือนเป็นเสียงหมาเห่าสามารถเปลี่ยนเป็นเสียงอื่นได้ตามใจชอบ dogbark.mp3 ในไฟล์ pir_1.py ที่ระบุสีดำไว้ในไฟล์
หากต้องการออกจากคำสั่งด้วย Ctrl+c
ที่มา : http://www.raspberrypi-spy.co.uk/2013/01/cheap-pir-sensors-and-the-raspberry-pi-part-1/
http://www.classthink.com/2014/01/12/raspberry-pi-vocal-intruder-warning-system-project/
https://www.facebook.com/BooindyIt?ref=hl
http://raspberry-pi-thai.blogspot.com/
https://www.youtube.com/channel/UCDs7h_zNn444ONo5J3Ot3iQ/videos?sort=dd&view=0&shelf_id=1
มันขึ้นแบบนี้ครับ ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ตอบลบก้เหมือนในตัวอย่างของผมแล้วนิครับ มันแสดง ready ไหมครับ ลองตรวจสอบดูอีกครับครับ
ตอบลบ