PiCamera tidak berfungsi

9

Untuk memulai kamera saya lakukan

>>> 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)

Saya memeriksa banyak jawaban yang diminta untuk memperbarui paket dan saya melakukan itu tetapi tidak ada yang membantu. Apakah kamera saya hilang atau ada solusi?

Coderaemon
sumber
1
Sudahkah Anda mengaktifkan kamera di raspi-config?
Werner Kvalem Vesterås
ya saya lakukan dengan masuk dalam configsudo raspi-config
Coderaemon
1
Pastikan kamera Anda terhubung dengan cara yang benar, seperti ini: adafruit.com/blog/wp-content/uploads/2014/01/…
Werner Kvalem Vesterås
Ya, kamera benar. LED merah menyala.
Coderaemon
1
Sudahkah Anda mencoba mengoperasikan kamera Anda dari baris perintah raspistill? Jika itu tidak berhasil, mungkin Anda harus berkonsultasi dengan panduan berteriak masalah kamera: raspberrypi.org/documentation/troubleshooting/hardware/…
Werner Kvalem Vesterås

Jawaban:

8

Sebagai tambahan untuk jawaban lain, saya hanya ingin menyebutkan bahwa penyebab kesalahan ini juga bisa karena proses lain saat ini menggunakan kamera.

Robin
sumber
2
Saya pikir Anda mungkin benar. Saya mulai mendapatkan kesalahan ini setelah mengganggu skrip kamera yang tidak merespons (menggunakan CTRL-C). Kamera berfungsi dengan baik sebelum ini. Jadi bagaimana cara melepaskan / mengatur ulang kamera agar berfungsi kembali?
Bill
Dalam kasus saya, motionperpustakaan menggunakan kamera. Menjalankan sudo service motion stopmemecahkan masalah saya
Laura Corssac
6

Modul Kamera Raspberry Pi menggunakan GPU onboard dan memorinya. Karena pesan kesalahan Anda menyebutkan kehabisan sumber daya, pertimbangkan untuk menambahkan setidaknya (dan mungkin lebih dari) minimum 128MB yang disarankan untuk alokasi GPU.

Untuk mengubahnya:

sudo raspi-config

pilih: Opsi lanjutan -> Memory split -> dan atur setidaknya 128MB

Beberapa pengguna melaporkan pesan ini menghilang setelah mengubah alokasi memori GPU menjadi 256MB dari 128MB.

vlk
sumber
Inilah yang terjadi pada saya. Setelah pembaruan, 128MB tidak lagi cukup, saya harus mengaturnya ke 256MB.
Nicolas BADIA
4

Saya mengalami masalah yang sama dengan Rasp Pi 3. Saya memulai skrip python yang akan mengambil 1 gambar per detik selama satu menit. Saya menekan ctrl-z untuk menghentikan eksekusi skrip sekitar setengah jalan. Ketika saya mencoba menjalankan skrip lagi, saya mendapatkan kesalahan ini, meskipun tampaknya tidak ada skrip lain yang menggunakan kamera.

Cara mengatasinya: Masukkan "ps -a" untuk mendaftar semua proses yang sedang berjalan. Cari yang bertuliskan "python" atau "python3" di output, seperti ini:
PID TTY TIME CMD 1218 tty1 00:00:00 bash 2203 pts/0 00:00:00 python 8960 pts/1 00:00:00 ps

Gunakan perintah "kill -KILL [PID #]" untuk menghentikan proses python. Untuk kasus ini, perintahnya adalah "kill -KILL 2203".

Setelah melakukan ini, gunakan "ps -a" lagi untuk memastikan proses python tidak terdaftar.

Ini menyelesaikan masalah bagi saya, dan saya bisa menjalankan skrip saya lagi tanpa masalah.

Semoga ini membantu.

bmward
sumber
3

Solusinya adalah untuk memastikan bahwa garis, di camera = PiCamera()luar lingkaran atau fungsi apa pun.

Jika saluran camera = PiCamera()dipanggil setiap kali fungsi Anda berjalan maka Kamera kehabisan memori.

camera = PiCamera()

def Take_an_Image():

    camera.resolution = (1024, 768)
    camera.start_preview()
    camera.capture("Test")
TeCoEd
sumber
Tampaknya tidak ada kesalahan khusus ini karena kehabisan memori (kesalahannya adalah "Komponen kamera tidak dapat diaktifkan: Kehabisan sumber daya (selain memori)"), dan OP tidak menyatakan kamera mereka di lingkaran, tapi ini adalah nasihat yang baik jika seseorang tidak kehabisan memori.
Aurora0001
3

Untuk orang lain dengan masalah ini ... jika lampu menyala saat boot maka Anda benar-benar mungkin memiliki port kabel pita yang salah! Kabel akan pas dengan baik ke port LCD dan lampu akan menyala dan semuanya. Tetapi Anda akan mendapatkan pesan kesalahan untuk mengaktifkan perangkat.

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

bmidgley
sumber
1

Selain jawaban alcor, pastikan Anda menjalankan raspi-config, dan pilih opsi 5 setelah Anda boot, untuk mengaktifkan dukungan kamera.

Saya pikir Anda mungkin perlu menggunakan sudo

cometbill
sumber
1

Jadi ternyata port Kamera Raspberry Pi saya punya beberapa masalah. Mengganti Pi, kamera bekerja dengan lancar.

Coderaemon
sumber
1

Saya mengalami masalah yang sama. Saya menyadari bahwa karena saya menyiarkan video melalui httpd, saya tidak dapat menggunakan gambar melalui Python. Saya harus memilih untuk membiarkan skrip Python mengakses gambar atau membiarkan server Apache membuat video tersedia melalui browser. Hanya satu proses yang dapat mengakses kamera sekaligus.

pengguna3155285
sumber
1

Saya punya masalah sumber daya ini, ternyata fonction camera.capture (nama file) adalah masalahnya, karena file tersebut sudah ada.

pengguna72314
sumber
1

Dalam kode saya ada bug konyol yang menimbulkan kesalahan ini: Saya membuka kamera sekali, tetapi sengaja mencoba membukanya lagi ketika pengguna mengklik tombol perangkat keras. Menutup kamera sebelum panggilan kedua ke PiCamera () menyelesaikan masalah.

Rajaraman Vaidyanathaswami
sumber
0

Anda akan mendapatkan kesalahan ini jika tombol Anda tidak terhubung dengan benar. Pi akan berpikir bahwa tombolnya ditekan dan terus mencoba mengambil foto, maka Anda akan kehabisan sumber daya!

Pastikan tombol Anda terhubung ke pin GPIO yang benar dan kemudian lanjutkan ke metode debugging lainnya.

Nuwan Goonewardena
sumber
0

Hanya nilai sen saya .. Saya menulis sebuah program kecil yang mengambil urutan foto. Ini bekerja dengan baik di IDLE, tetapi dari baris perintah muncul dengan kesalahan yang sama persis karena kehabisan sumber daya. Masalahnya diperbaiki dengan menambahkan camera.close () setelah kecuali KeyboardInterrupt :, yaitu Ctrl + C (dalam shell python). ketika Anda harus keluar dari lingkaran.

Nick
sumber
Terima kasih atas jawaban anda. Karena ini adalah jawaban pertama Anda, saya telah diminta oleh sistem untuk memeriksanya, dan membuat komentar yang dapat membantu Anda memperbaikinya. Saya berusaha memahami apa jawaban Anda yang diajukan. Cobalah untuk lebih spesifik; mis. berikan beberapa kode yang menurut Anda akan menyelesaikan masalah. Saya juga merekomendasikan Anda membaca "Cara menulis jawaban yang baik" . Harap pertimbangkan saran-saran ini, dan edit jawaban Anda sesuai dengan itu.
Seamus
0

Untuk kasus saya, mengalami kesalahan yang sama, mengganti modul kamera memperbaikinya. Saya mampu mereproduksi kesalahan dengan beralih antara modul kamera baik dan buruk. Kode saya tidak mengalami masalah yang ditunjukkan orang lain. Jadi sepertinya masalah perangkat keras dapat menyebabkan pengecualian ini juga.

Pengecualian adalah:

picamera.exc.picamerammalerror: gagal mengaktifkan koneksi: kehabisan sumber daya

Versi Picamera adalah 1,13 dan modul kamera adalah v2.1

ayush3504
sumber