0
我正在嘗試編寫一個腳本,用於監控來自PIR傳感器以及開關的輸入。計劃是傳感器將繼續運行,並且只有在檢測到運動時纔會從附加的網絡攝像頭髮送捕獲。如果它被激活,交換機將發送一個捕獲。兩者都將通過電子郵件發送捕獲。這是代碼。兩個if語句和一個腳本中的操作?
import RPi.GPIO as GPIO
import time
import os
GPIO.setwarnings(False)
#GPIO.setmode(GPIO.BOARD)
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN) #Read output from PIR motion sensor
GPIO.setup(4, GPIO.OUT) #LED output pin
GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(26)
i=GPIO.input(17)
if input_state == False:
print('DING DONG')
os.system("python buzztest.py")
#GPIO.output(4, 0) #Turn OFF LED
#GPIO.output(4, 0) #Turn ON LED
#time.sleep(1)
#GPIO.output(4, 0) #Turn OFF LED
#os.system("python doorbellpost.py")
os.system("fswebcam -r 640x480 --no-banner /root/Desktop/codes/ringcap/ringcap.jpg")
os.system("python mailpic.py")
time.sleep(1)
if i==0:
#When output from motion sensor is LOW
print "No intruders detected",i
#GPIO.output(4, 0) #Turn OFF LED
time.sleep(2)
elif i==1: #When output from motion sensor is HIGH
print "Intruder detected!",i
#GPIO.output(4, 1) #Turn ON LED
os.system("fswebcam -r 640x480 --no-banner /root/Desktop/codes/motioncap/motcap.jpg")
os.system("python motmail.py")
time.sleep(2)
GPIO.cleanup()
該腳本還調用其他腳本,即針對門鈴和運動傳感器的相應捕獲的單獨電子郵件腳本。任何幫助是極大的讚賞。謝謝。
編輯。對不起,我忘了這個問題。那麼是否有另一種方法來實現呢?兩個if語句一次運行?當我運行程序時,傳感器語句運行,但激活開關有一些問題,即'叮咚'有時不會激活。
什麼問題? [問] – Julien
已編輯。我忘記了我的壞處。 –