Moin,
ich bin derzeit dabei ein Script zu schreiben, welches alle 10 Sekunden ein Bild mit dem Camera-Module macht.
Dabei habe ich, dass jetzt so gemacht, dass es eine Datei gibt, die NUR das Foto schießt (raspberryIO.py) und zusätzlich noch eine Datei (runRaspberryIO.py), die durchgehend im Hintergrund läuft und alle 10 Sekunden raspberryIO.py aufruft.
Ich habe das erstmal so eingestellt, dass jede 10 Sekunden ein Foto geschossen werden soll. Allerdings wird nur das erste Foto geschossen und danach kommt folgender Fehler:
mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x20bae70 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
Traceback (most recent call last):
File "runpRaspberryIO.py", line 8, in <module>
schedule.run_pending()
File "/usr/local/lib/python2.7/dist-packages/schedule/__init__.py", line 563, in run_pending
default_scheduler.run_pending()
File "/usr/local/lib/python2.7/dist-packages/schedule/__init__.py", line 94, in run_pending
self._run_job(job)
File "/usr/local/lib/python2.7/dist-packages/schedule/__init__.py", line 147, in _run_job
ret = job.run()
File "/usr/local/lib/python2.7/dist-packages/schedule/__init__.py", line 466, in run
ret = self.job_func()
File "/home/pi/Projects/RaspberryIO/raspberryIO.py", line 9, in captureImage
camera = PiCamera()
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 433, in __init__
self._init_preview()
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 513, in _init_preview
self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
File "/usr/lib/python2.7/dist-packages/picamera/renderers.py", line 558, in __init__
self.renderer.inputs[0].connect(source).enable()
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 2212, in enable
prefix="Failed to enable connection")
File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 184, in mmal_check
raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources
from time import sleep
from picamera import PiCamera
from datetime import datetime
def captureImage():
currentTime = datetime.now()
timestampStr = currentTime.strftime("%d-%b-%Y (%H:%M:%S)")
camera = PiCamera()
camera.resolution = (1024, 768)
camera.start_preview()
# Camera warm-up time
sleep(2)
camera.capture('./images/image' + timestampStr + '.jpg')
import schedule
import time
from raspberryIO import captureImage
schedule.every(10).seconds.do(captureImage)
while 1:
schedule.run_pending()
time.sleep(1)
Was kann ich gegen diese Fehlermeldung tun? Ist es überhaupt nötig in der raspberryIO.py file sleep(2) zu machen ebenso wie camera.start_preview()? Oder würde da camera.capture() komplett ausreichen?
Schon mal vorraus!