问题描述
我正在尝试创建一个脚本,以便在 RaspBerry pi 3 型号 b+ 上的商店中运行。它应该在 08:00 和 00:00(午夜)之间处于响铃模式,只有在检测到运动时才会播放声音。从 00:00 到 08:00,它应该处于警报模式,当检测到移动时会通过电报向我发送消息。我对 python 和编码很陌生,在这个领域没有背景。我尝试使用 schedule 命令和 pycron,但在这两种情况下它都不会在提示音模式和闹钟模式之间自动切换。
import time
import telepot
from telepot.loop import MessageLoop
import schedule
import sys
import pycron
import multiprocessing
import pygame
pygame.mixer.init()
pygame.mixer.music.load("/home/pi/Desktop/Motion Sensor/ding dong.wav")
import datetime
from gpiozero import MotionSensor
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(5,GPIO.OUT)
pir = MotionSensor(4)
GPIO.output(5,True)
bot = telepot.Bot('***')
chat_id = '***'
def alarm_mode():
while True:
pir.wait_for_motion()
print('Motion Detected111')
GPIO.output(5,False)
pygame.mixer.music.play()
bot.sendMessage(chat_id,'Alarm')
bot.sendMessage(chat_id,str(datetime.datetime.Now))
pir.wait_for_no_motion()
GPIO.output(5,True)
print('Motion Stoped111')
def chime_mode():
while True:
pir.wait_for_motion()
print('Motion Detected')
GPIO.output(5,False)
pygame.mixer.music.play()
pir.wait_for_no_motion()
GPIO.output(5,True)
print('Motion Stoped')
我尝试这样做,但它没有帮助,因为脚本继续运行
if pycron.is_Now('51 2 * * *'):
alarm_mode() == True
if pycron.is_Now('52 2 * * *'):
alarm_mode() == False
提前感谢您的帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)