Raspberry Pi Error with picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources

Raspberry Pi Error with picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources

当 运行在涉及 RPi 相机的 Raspberry Pi Zero W 上运行一个程序时,我遇到了一个问题。这是基于 AIY 套件中的 Joy Detector Demo。通常情况下,它会根据相机面部输入(情绪)改变 LED 颜色并发出噪音,但我还添加了一个部分,可以将快乐程度传输到 ThingSpeak。

程序的预期输出是 运行,使用相机,但出现了以下消息:

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))0xdd2800 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
ERROR:__main__:Exception while running joy demo.
Traceback (most recent call last):
  File "/home/pi/AIY-projects-python/src/examples/vision/joy/joy_detection_demo.py", line 383, in main
    args.enable_streaming, args.streaming_bitrate, args.mdns_name)
  File "/home/pi/AIY-projects-python/src/examples/vision/joy/joy_detection_demo.py", line 307, in joy_detector
    camera = stack.enter_context(PiCamera(sensor_mode=4, resolution=(820, 616)))
  File "/usr/lib/python3/dist-packages/picamera/camera.py", line 433, in __init__
    self._init_preview()
  File "/usr/lib/python3/dist-packages/picamera/camera.py", line 513, in _init_preview
    self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
  File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 558, in __init__
    self.renderer.inputs[0].connect(source).enable()
  File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2212, in enable
    prefix="Failed to enable connection")
  File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources 

如果我需要从这些 python 文件中添加代码,请告诉我,但我最好的选择是它太密集了。使用 python 3.7.

您应该启用摄像头。在 command-line 中键入 'raspi-config' 然后启用相机

另一个程序正在使用相机。为防止这成为问题,请重新启动或使用相机终止程序。

我试图从 Thonny IDE 和终端执行 Pi Camera Python 程序时收到 picamera.exc.PiCameraMMALError:启用连接失败:资源不足 错误。

camera.stop_preview() 之后添加 camera.close() 解决了问题。

我第二次 运行 代码时遇到了同样的问题。 您需要关闭任何正在使用 picamera 的应用程序,否则您可以重新启动内核,它将解决问题。

就我而言,问题是我要求的分辨率太高。我使用的是 Raspberry Pi HQ 相机,最高可达 4056x3040,并用全分辨率实例化了我的相机对象。
将其降低到更合适的分辨率就可以了。