PiCamera não está funcionando

9

Para iniciar a câmera que estou fazendo

>>> import picamera 
>>> camera = picamera.PiCamera()
mmal: mmal_vc_component_enable: failed to enable compononent : ENOSPC
Traceback (most recent call last):
  File "<stdin>", line, in <module>
  ...
  ...
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

Eu verifiquei muitas respostas para atualizar o pacote e fiz isso, mas nada parece ajudar. Minha câmera acabou ou existe alguma solução?

Coderaemon
fonte
11
Você ativou a câmera no raspi-config?
Werner Kvalem Vesterås
sim eu fiz, indo em configsudo raspi-config
Coderaemon
11
Certifique-se de que sua câmera esteja conectada da maneira correta, assim: adafruit.com/blog/wp-content/uploads/2014/01/…
Werner Kvalem Vesterås
Sim, a câmera está certa. O LED vermelho de energia está aceso.
precisa saber é o seguinte
11
Você já tentou operar sua câmera a partir da linha de comando raspistill? Se isso não estiver funcionando, talvez você deva consultar o guia de
solução de

Respostas:

8

Como complemento às outras respostas, só quero mencionar que a causa desse erro também pode ser que outro processo esteja usando a câmera.

Robin
fonte
2
Eu acho que você pode estar certo. Comecei a receber esse erro depois de interromper um script de câmera que não estava respondendo (usando CTRL-C). A câmera estava funcionando bem antes disso. Então, como libero / redefino a câmera para que ela funcione novamente?
Bill
No meu caso, a motionbiblioteca estava usando a câmera. Correr sudo service motion stopresolveu meu problema
Laura Corssac 28/04
6

O módulo de câmera Raspberry Pi usa a GPU integrada e sua memória. Como sua mensagem de erro menciona a falta de recursos, considere adicionar pelo menos (e possivelmente mais que) o mínimo recomendado de 128 MB à parcela da GPU.

Para mudar isso:

sudo raspi-config

selecione: Opções avançadas -> Divisão de memória -> e defina pelo menos 128 MB

Alguns usuários relatam essa mensagem desaparecendo após alterar a alocação de memória da GPU para 128MB e 256MB.

vlk
fonte
Esse foi o meu caso. Após uma atualização, 128 MB não eram mais suficientes, tive que configurá-lo para 256 MB.
Nicolas BADIA 06/06
4

Encontrei esse mesmo problema com o Rasp Pi 3. Iniciei um script python que tirava 1 imagem por segundo por um minuto. Apertei ctrl-z para interromper a execução do script na metade. Quando tentei executar o script novamente, recebi esse erro, embora parecesse que nenhum outro script estava usando a câmera.

A correção: digite "ps -a" para listar todos os processos atualmente em execução. Procure um que diga "python" ou "python3" na saída, assim:
PID TTY TIME CMD 1218 tty1 00:00:00 bash 2203 pts/0 00:00:00 python 8960 pts/1 00:00:00 ps

Use o comando "kill -KILL [PID #]" para interromper o processo python. Para este caso, o comando foi "kill -KILL 2203".

Depois de fazer isso, use "ps -a" novamente para garantir que o processo python não esteja listado.

Isso resolveu o problema para mim e eu pude executar meu script novamente sem problemas.

Espero que isto ajude.

bmward
fonte
3

A solução é garantir que a linha camera = PiCamera()esteja fora de qualquer loop ou função.

Se a linha camera = PiCamera()for chamada toda vez que sua função for executada, a câmera ficará sem memória.

camera = PiCamera()

def Take_an_Image():

    camera.resolution = (1024, 768)
    camera.start_preview()
    camera.capture("Test")
TeCoEd
fonte
Parece que esse erro específico ocorreu devido à falta de memória (o erro foi "O componente da câmera não pôde ser ativado: falta de recursos (exceto a memória)") e o OP não declarou sua câmera no um loop, mas isso é um bom conselho, se alguém não ficar sem memória.
precisa saber é o seguinte
3

Para qualquer outra pessoa com esse problema ... se a luz estiver acesa na inicialização, é possível que você esteja com a porta do cabo de fita errada! O cabo se encaixa perfeitamente na porta do LCD e a luz acende e tudo. Mas você receberá o erro dizendo para ativar o dispositivo.

Werner apontou isso: https://blog.adafruit.com/wp-content/uploads/2014/01/1646pi_LRG-600x461.jpg

bmidgley
fonte
1

Além da resposta da alcor, execute raspi-config e escolha a opção 5 após a inicialização, para ativar o suporte à câmera.

Eu acho que você pode precisar usar o sudo

cometa
fonte
1

Acontece que a porta da câmera do meu Raspberry Pi teve algum problema. Substituído o Pi, a câmera está funcionando sem problemas.

Coderaemon
fonte
1

Corri para o mesmo problema. Percebi que, como estava transmitindo vídeo via httpd, não podia usar as imagens via Python. Eu tive que optar por deixar o script Python acessar as imagens ou permitir que o servidor Apache disponibilizasse o vídeo via navegador. Somente um processo pode acessar a câmera por vez.

user3155285
fonte
1

Eu tive esse problema de recursos, acabou que a função camera.capture (nome do arquivo) era o problema, porque o arquivo já existia.

user72314
fonte
1

No meu código, houve um bug bobo que deu origem a esse erro: eu abri a câmera uma vez, mas intencionalmente tentei abri-la novamente quando o usuário clica em um botão de hardware. Fechar a câmera antes da segunda chamada para PiCamera () resolveu o problema.

Rajaraman Vaidyanathaswami
fonte
0

Você receberá esse erro se o botão não estiver conectado corretamente. O Pi pensará que o botão é pressionado e tentará continuamente tirar fotos; portanto, você ficará sem recursos!

Verifique se o botão está conectado ao pino GPIO correto e continue com outros métodos de depuração.

Nuwan Goonewardena
fonte
0

Apenas o meu centavo vale .. Eu escrevi um pequeno programa que tira uma sequência de fotos. Funcionou bem no IDLE, mas na linha de comando surgiu exatamente o mesmo erro, ficando sem recursos. O problema foi corrigido adicionando camera.close () depois, exceto KeyboardInterrupt :, ou seja, Ctrl + C (no shell do python). para quando você precisar sair de um loop.

usuario
fonte
Obrigado pela sua resposta. Por ser sua primeira resposta, o sistema solicitou que eu a revisasse e fizesse comentários que possam ajudá-lo a melhorá-la. Estou lutando para entender qual é a sua resposta proposta. Por favor, tente ser mais específico; por exemplo, forneça algum código que considere resolver o problema. Eu também recomendo que você leia "Como escrever uma boa resposta" . Considere estas sugestões e edite sua resposta de acordo.
Seamus
0

Para o meu caso, tendo o mesmo erro, a substituição do módulo da câmera o corrigiu. Consegui reproduzir o erro de maneira confiável, alternando entre módulos de câmera bons e ruins. Meu código não sofreu com os problemas apontados por outros. Parece que problemas de hardware também podem causar essa exceção.

A exceção foi:

picamera.exc.picamerammalerror: falha ao ativar a conexão: sem recursos

A versão Picamera é 1.13 e o módulo da câmera é v2.1

ayush3504
fonte