Hallo,
Ich besitze seit einiger Zeit einen Raspberry Pi B+ sowie ein Kameramodul (NoIR). Nun habe ich zusätzlich einen Bewegungsmelder an den Pi angeschlossen und ihn in den Code (Python) eingebettet, also dass bei jeder registrierten Bewegung ein Bild + Video aufgenommen wird und mit Zeitstempel abgespeichert wird. Der erste Durchlauf funktioniert auch korrekt. Wenn die Schleife allerdings wieder am Anfang ist und eine neue Bewegung registriert wird, stürzt das Programm mit einer Fehlermeldung ab. Ich habe schon einige Lösungsansätze versucht, allerdings alle ohne wirklichen Erfolg.... Memory-Split ist auf 16, Raspbian auf dem aktuellsten Stand und Kamera bzw. Bewegungsmelder funktionieren.
Ist der Code so überhaupt korrekt oder liegt der Fehler woanders?
Gabriel
import RPi.GPIO as GPIO
import time
import datetime
import picamera
from time import sleep
tstamp = datetime.datetime.today()
GPIO.setmode(GPIO.BOARD)
GPIO_PIR = 7
print "Bewegungsmelder Test (CTRL-C zum Beenden)"
print "========================================="
GPIO.setup(GPIO_PIR,GPIO.IN)
Current_State = 0
Previous_State = 0
try:
print "%s: Sensor initialisieren ..." % datetime.datetime.now()
while GPIO.input(GPIO_PIR)==1:
Current_State = 0
print "%s: Fertig! Warte auf Bewegung..." % datetime.datetime.now()
while True :
Current_State = GPIO.input(GPIO_PIR)
if Current_State==1 and Previous_State==0:
print " %s: Bewegung erkannt!" % datetime.datetime.now()
camera = picamera.PiCamera()
camera.capture('Bild_%s.jpg' % (tstamp))
camera.start_recording('video_%s.h264' % (tstamp))
sleep(60)
camera.stop_recording()
Previous_State=1
elif Current_State==0 and Previous_State==1:
print " %s: Fertig! Warte auf Bewegung..." % datetime.datetime.now()
Previous_State=0
time.sleep(0.005)
except KeyboardInterrupt:
print " Exit"
GPIO.cleanup()
Display More
Fehlermeldung:
pi@raspberrypi ~/Skripte $ sudo python bewegungsmelder.py
Bewegungsmelder Test (CTRL-C zum Beenden)
=========================================
2015-11-03 17:08:12.143437: Sensor initialisieren ...
2015-11-03 17:08:12.144628: Fertig! Warte auf Bewegung...
2015-11-03 17:08:14.789110: Bewegung erkannt!
2015-11-03 17:09:16.075571: Fertig! Warte auf Bewegung...
2015-11-03 17:10:45.747799: Bewegung erkannt!
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
Traceback (most recent call last):
File "bewegungsmelder.py", line 47, in <module>
camera = picamera.PiCamera()
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 488, in __init__
self.STEREO_MODES[stereo_mode], stereo_decimate)
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 620, in _init_camera
prefix="Camera component couldn't be enabled")
File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 191, in mmal_check
raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)
Display More