как настроить скрипт Python для включения / выключения света в определенные часы - PullRequest
0 голосов
/ 15 октября 2019

Я сейчас работаю над проектом с Raspberry Pi 3, и я нашел «работающий» код в Интернете, но у меня возникли некоторые проблемы.

Мне нужно настроить релейную плату, чтобы онаавтоматически включите наружное освещение в 18:00 и выключите в 06:00 с помощью переменной, чтобы время менялось на пару минут каждый день, например:

Понедельник 18:00 - 6:00 Вторник 18:05 - 6: 15

Я использую Python для создания и запуска скрипта.

Моя проблема в том, что когда я запускаю скрипт между этими часами, код выводит текущий час, минуты и секундыно не включайте свет, я обнаружил, что код «подождите» до следующего дня и включается в 18:00.

Я попытался изменить условное условие, если ==, но у меня нет большого опыта кодирования

#!/usr/bin/python

import time
from random import randint
import RPi.GPIO as GPIO
GPIO.setwarnings(False)

#Define Relay outputs
R1 = 19

#Define relay on times
R1ONH = 18
R1ONM = randint(5, 15)
R1ONS = 0

#Define relay off times
R1OFFH = 6
R1OFFM = randint(5, 15)
R1OFFS = 0

#Define GPIO mapping
Relay_ON = 19
GPIO.setmode(GPIO.BCM)   #Use BCM GPIO numbers
GPIO.setup(Relay_ON, GPIO.OUT)   #Relay enable


while True:
  dt = list(time.localtime())
  hour = dt[3]
  minute = dt[4]
  second = dt[5]
  time.sleep(1)
  print hour,minute,second;


  if hour == R1ONH:
    if minute == R1ONM:
      if second == R1ONS:
        GPIO.output(Relay_ON, GPIO.HIGH)

  if hour == R1OFFH:
    if minute == R1OFFM:
      if second == R1OFFS:
        GPIO.output(Relay_ON, GPIO.LOW)

GPIO.cleanup()

Я хочу создать сценарий:

-работает, независимо от того, перезагружается ли устройство, код будет работать в эти часы

-сделать исполняемый файл сценария так, чтобы онзапустить при запуске устройства (я пытался с rc.local) не знаю, яЭто единственное, что я должен сделать для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...