วันอาทิตย์ที่ 2 กุมภาพันธ์ พ.ศ. 2557




ระบบเตือนภัยผู้บุกรุกด้วย PIR และ Raspberry Pi


เป็นการเอา PIR Sensors เป็นเซ็นเซอร์ที่ใช้ในการตรวจจับความเคลื่นไหวและเตือนด้วยเสียง โดยใช้ Raspberry Pi ในการควบคุมระบบ โดยการใช้โปรแกรม Python ในการควบคุมการทำงาน หรือ พูดง่ายๆคือ ถ้าคุณเคยเข้า 7-eleven จะมีการเตือนเมื่อมีคนเดินผ่านประตู


รายการอุปกรณ์


- ชุด Raspberry pi
- SD Card 4G Class4 ขั้นต่ำ-OS Raspbian "2014-01-07-wheezy-raspbian.ziphttp://www.raspberrypi.org/downloads
- PIR Sensors
- WIFI USB / LAN Wires
- Mount+Keyboard
- ลำโพงและสาย Audio ขนาด 3.5 mm


ขั้นตอนการต่ออุปกรณ์






รายละเอียดการต่ออุปกรณ์เพิ่มเติม PIR SENSORS AND THE RASPBERRY PI LAB1



ขั้นตอนการติดตั้งระบบเตือนภัย


ติดตั้งโปรแกรมเล่นเสียง 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

2 ความคิดเห็น:

  1. มันขึ้นแบบนี้ครับ ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front

    ตอบลบ
  2. ก้เหมือนในตัวอย่างของผมแล้วนิครับ มันแสดง ready ไหมครับ ลองตรวจสอบดูอีกครับครับ

    ตอบลบ