#security #alarm
Вопрос:
Я пытаюсь создать скрипт для запуска в магазине на Raspberry pi 3 модели b . Он должен находиться в режиме перезвона между 08:00 и 00:00 (полночь), который воспроизводит звук только при обнаружении движения. С 00:00 до 08:00 он должен быть в режиме тревоги, который отправляет мне сообщение в telegram при обнаружении движения. Я довольно новичок в python и кодировании в целом, не имея опыта работы в этой области. Я попытался использовать команду расписания и пикрон, но в обоих случаях она не переключается автоматически между режимом перезвона и режимом будильника.
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
Заранее спасибо за вашу помощь