Регистрируя данные кормушки для кошек raspberry pi, я не могу заставить его работать! Python - PullRequest
1 голос
/ 20 июня 2020

Я сделал кормушку для кошек с RPi, которая работает со следующим сценарием, и мне кажется, что регистратор сработал только один раз и перестал записывать данные в файл feedings.log. изменение регистратора или любые улучшения, которые могут улучшить его работу. Я впервые использую логгер в своем коде.

import RPi.GPIO as GPIO
import time
import logging

#Logging data into a separate file called feedings.log

logging.basicConfig(filename='feedings.log', level=logging.DEBUG, format='%(asctime)s:%(message)s')

# function move specifies the movement of the servo there are more movements 
# at the end of the script

def move():
    p.ChangeDutyCycle(5)
    time.sleep(0.5)
    p.ChangeDutyCycle(10)
    time.sleep(0.5)
    p.ChangeDutyCycle(0)

# GPIO definitions for pin number and PWM
servoPin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPin, GPIO.OUT)
p = GPIO.PWM(servoPin,50)

# servo starts at 2.5 which is best for this servo not 0
p.start(2.5)

# feeding number of times
feed = 3

try:
  while True:
    now = time.strftime('%H:%M:%S')
    if now == '10:00:00':
        for x in range(feed):  
            x = move()
            logging.debug("Morning feeding is done")
            time.sleep(0.5)
        p.ChangeDutyCycle(0)
        continue
    elif now == '17:00:00':
        for x in range(feed):  
            x = move()
            logging.debug("5 o'clock feeding is done")
            time.sleep(0.5)
        p.ChangeDutyCycle(0)
        continue
    else:
        p.ChangeDutyCycle(0)

# The code stops when keyboard interrupts and cleans GPIO

except KeyboardInterrupt:
  p.stop()
  GPIO.cleanup()

Буду признателен за любую помощь!

...