Я сделал кормушку для кошек с 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()
Буду признателен за любую помощь!