PiCamera and Schedule is not working together

i’m a bloddy starter at programming python and don’t know, what i’m doing wrong. Im reading trough the documantaions from PiCamera and Schedule, but a combinded command is not working.

So i want to do this with schedule:

schedule.every().day.at("17:20:30").do(Foto).until("17:21:30")

which is working, when the job is: print.(“bla”)

and i want to this with PiCamera:

camera = PiCamera()
camera.start_preview()
sleep(2)
for filename in camera.capture_continuous('img{counter:03d}.jpg'):
    print('Captured %s' % filename)
    sleep(300) # wait 5 minutes

which is also working, in its own script. (copied by documentation)

But when i put them together:

from picamera import PiCamera
from time import sleep
import schedule


def Foto():
camera = PiCamera() 
camera.start_preview()
sleep(2)
for filename in camera.capture_continuous('img{counter:03d}.jpg'):
    print('Captured %s' % filename)
    sleep(5) # wait 5 Sek

    
schedule.every().day.at("17:20:00").do(Foto).until("17:21:00")

while True:
    schedule.run_pending()
    time.sleep(1)

I get an error:

Traceback (moste recent call last):
File "usr/lib/python3.9/ast.py", line 50, in parse
return compile(source, filename, mode, flags,
File "home/pi/Dokumente/Schedule.py", line 9
camera = PiCamera()
^
IndentationError: expected an indented block

i also tried to put camera = PiCamera() before import schedule which resulted in this error:

Traceback (most recent call last):
  File "/usr/lib/python3.9/ast.py", line 50, in parse
    return compile(source, filename, mode, flags,
  File "/home/pi/Dokumente/Schedule.py", line 11
    camera.start_preview()
    ^
IndentationError: expected an indented block

I hope you can help me 🙂

Ps. Here are the two docs:

https://schedule.readthedocs.io/en/stable/examples.html#run-a-job-until-a-certain-time

https://picamera.readthedocs.io/en/release-1.13/recipes1.html#capturing-timelapse-sequences

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

The code of the function Foto is not indented.

def Foto():
    camera = PiCamera() 
    camera.start_preview()
    sleep(2)
    for filename in camera.capture_continuous('img{counter:03d}.jpg'):
        print('Captured %s' % filename)
        sleep(5) # wait 5 Sek


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x