Pytanie:
PiCamera nie działa
Coderaemon
2015-01-14 13:00:37 UTC
view on stackexchange narkive permalink

Aby uruchomić kamerę, którą robię

  >>> import picamera >>> camera = picamera.PiCamera () mmal: mmal_vc_component_enable: nie udało się włączyć ostatniego składnika: ENOS (ostatni składnik: ENOS) <stdin> ", wiersz, w <module> ... ... picamera.exc.PiCameraMMALError: Nie można włączyć komponentu aparatu: Brak zasobów (innych niż pamięć)  

Sprawdziłem dużo odpowiedzi, które kazały zaktualizować pakiet i zrobiłem to, ale nic nie pomaga. Czy mój aparat zniknął, czy jest jakieś rozwiązanie?

Czy włączyłeś kamerę w raspi-config?
tak zrobiłem, przechodząc do config`sudo raspi-config`
Upewnij się, że kamera jest prawidłowo podłączona, na przykład: http://www.adafruit.com/blog/wp-content/uploads/2014/01/1646pi_LRG-600x461.jpg
Tak, aparat jest w porządku. Świeci się czerwona dioda LED zasilania.
Czy próbowałeś obsługiwać kamerę z wiersza poleceń za pomocą polecenia „raspistill”? Jeśli to nie zadziała, może powinieneś zapoznać się z przewodnikiem dotyczącym rozwiązywania problemów z aparatem: http://www.raspberrypi.org/documentation/troubleshooting/hardware/camera.md
Zdarzyło mi się to również za pierwszym razem - a raczej odpowiednik z raspistill (zakończył z błędem `ENOSPC`). Więc jeśli raspistill też nie działa, spróbuj ponownie `raspi-config` i ** reboot **. Wydaje mi się, że nie zakończyło się to poprawnie przy pierwszym WRT niektórych rzeczy w `/ boot / config.txt`. Jeśli to zadziała, dodaj to jako odpowiedź na własne pytanie :)
Czternaście odpowiedzi:
Robin
2015-07-27 14:53:48 UTC
view on stackexchange narkive permalink

Jako dodatek do innych odpowiedzi, chcę tylko wspomnieć, że przyczyną tego błędu może być również to, że inny proces używa obecnie aparatu.

Myślę, że możesz mieć rację. Zacząłem otrzymywać ten błąd po przerwaniu skryptu kamery, który nie odpowiadał (używając CTRL-C). Wcześniej aparat działał dobrze. Jak więc zwolnić / zresetować aparat, aby znów działał?
W moim przypadku biblioteka `motion` korzystała z kamery. Uruchomienie `zatrzymania ruchu usługi sudo` rozwiązało mój problem
vlk
2017-01-14 06:09:22 UTC
view on stackexchange narkive permalink

Moduł kamery Raspberry Pi wykorzystuje wbudowany procesor graficzny i jego pamięć. Ponieważ komunikat o błędzie wspomina o braku zasobów, rozważ dodanie co najmniej (a być może więcej niż) zalecanego minimum 128 MB do przydziału GPU.

Aby to zmienić:

  sudo raspi-config  

wybierz: Opcje zaawansowane -> Podział pamięci -> i ustaw przynajmniej 128 MB

Niektórzy użytkownicy zgłaszają, że ten komunikat zniknął po zmianie przydziału pamięci GPU na 256 MB ze 128 MB.

Tak było w przypadku mnie. Po aktualizacji 128MB już nie wystarczało, musiałem ustawić na 256MB.
bmward
2017-09-11 00:06:53 UTC
view on stackexchange narkive permalink

Napotkałem ten sam problem z Rasp Pi 3. Uruchomiłem skrypt w Pythonie, który zajmowałby 1 obraz na sekundę przez minutę. Wcisnąłem ctrl-z, aby przerwać wykonywanie skryptu mniej więcej w połowie. Kiedy próbowałem ponownie uruchomić skrypt, pojawił się ten błąd, chociaż wyglądało na to, że żadne inne skrypty nie korzystały z kamery.

Poprawka: wpisz „ps -a”, aby wyświetlić wszystkie aktualnie uruchomione procesy . Poszukaj takiego, który na wyjściu mówi „python” lub „python3”, na przykład:
PID TTY TIME CMD 1218 tty1 00:00:00 bash 2203 pts / 0 00:00:00 python 8960 pts / 1 00:00:00 ps

Użyj polecenia „kill -KILL [PID #]”, aby zatrzymać proces Pythona. W tym przypadku polecenie brzmiało „kill -KILL 2203”.

Po wykonaniu tej czynności użyj ponownie „ps -a”, aby upewnić się, że proces Pythona nie jest wymieniony.

To rozwiązałem problem i mogłem ponownie uruchomić skrypt bez żadnych problemów.

Mam nadzieję, że to pomoże.

alcor
2015-01-14 22:26:10 UTC
view on stackexchange narkive permalink

Postępuj zgodnie z kolejnością poleceń:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo rpi-update

Ta ostatnia jest bardzo ważna , jeśli kupiłeś Raspberry dawno temu ORAZ chcesz mieć nowe funkcje.

Zwróć uwagę, że aktualizacja rpi jest teraz przestarzała: https://picamera.readthedocs.io/en/release-1.10/install3.html i https://www.raspberrypi.org/documentation/raspbian/updating.md
TeCoEd
2018-01-07 17:17:37 UTC
view on stackexchange narkive permalink

Rozwiązaniem jest zapewnienie, że wiersz camera = PiCamera () znajduje się poza jakąkolwiek pętlą lub funkcją.

Jeśli linia camera = PiCamera () jest wywoływana za każdym razem, gdy funkcja jest uruchamiana, to w kamerze zabraknie pamięci.

  camera = PiCamera () def Take_an_Image (): camera.resolution = (1024, 768) camera.start_preview () camera.capture (" Test ")  
Nie wydaje się, aby ten konkretny błąd był spowodowany brakiem pamięci (błąd brzmiał: „Nie można włączyć komponentu aparatu: zabrakło zasobów (innych niż pamięć)”), a operator operacyjny nie zadeklarował swojego aparatu w pętla, ale to dobra rada, jeśli komuś * zabraknie * pamięci.
bmidgley
2018-04-19 19:01:23 UTC
view on stackexchange narkive permalink

Dla każdego, kto ma ten problem ... jeśli lampka świeci się podczas rozruchu, to naprawdę możesz mieć zły port kabla taśmowego! Kabel ładnie wpasuje się w port LCD i zapali się lampka i wszystko. Ale pojawi się błąd mówiący o włączeniu urządzenia.

Werner zwrócił uwagę na to: https://blog.adafruit.com/wp-content/uploads/2014/01/1646pi_LRG-600x461.jpg

cometbill
2015-01-14 22:33:00 UTC
view on stackexchange narkive permalink

Oprócz odpowiedzi alcor, upewnij się, że uruchomiłeś raspi-config i wybierz opcję 5 po uruchomieniu, aby włączyć obsługę kamery.

Myślę, że może być konieczne użycie sudo

Coderaemon
2015-01-29 18:43:53 UTC
view on stackexchange narkive permalink

Okazuje się, że port kamery mojego Raspberry Pi miał jakiś problem. Wymieniłem Pi, kamera działa płynnie.

user3155285
2016-10-08 02:27:50 UTC
view on stackexchange narkive permalink

I ran into same issue. I realized that since I was broadcasting video via httpd, I could not make use of the images via Python. I had to choose to either let the Python script access the images or let the Apache server make video available via browser. Only one process can access the camera at a time.

user72314
2017-08-24 02:48:30 UTC
view on stackexchange narkive permalink

Miałem problem z zasobami, okazało się, że problem dotyczy funkcji camera.capture (nazwa pliku), ponieważ plik już istniał.

Rajaraman Vaidyanathaswami
2017-09-09 23:15:18 UTC
view on stackexchange narkive permalink

W moim kodzie był głupi błąd, który spowodował ten błąd: raz otworzyłem kamerę, ale celowo próbowałem otworzyć ją ponownie, gdy użytkownik kliknie przycisk sprzętowy. Zamknięcie kamery przed drugim wywołaniem PiCamera () rozwiązało problem.

Nuwan Goonewardena
2018-07-22 13:10:08 UTC
view on stackexchange narkive permalink

Ten błąd pojawi się, jeśli przycisk nie jest prawidłowo podłączony. Pi pomyśli, że przycisk jest wciśnięty i będzie nieustannie próbować robić zdjęcia, przez co skończy Ci się zasoby!

Upewnij się, że przycisk jest podłączony do prawidłowego styku GPIO, a następnie przejdź do innych metod debugowania.

Nick
2018-09-16 05:58:56 UTC
view on stackexchange narkive permalink

Tylko mój grosz ... Napisałem mały program, który robi sekwencję zdjęć. Działało dobrze w IDLE, ale z wiersza poleceń pojawił się dokładnie ten sam błąd związany z brakiem zasobów. Problem został rozwiązany poprzez dodanie camera.close () po wyjątku KeyboardInterrupt: czyli Ctrl + C (w powłoce Pythona). kiedy musisz wyrwać się z pętli.

Dzięki za odpowiedź. Ponieważ jest to Twoja pierwsza odpowiedź, system poprosił mnie o przejrzenie jej i zgłoszenie uwag, które mogą pomóc w jej ulepszeniu. Usiłuję zrozumieć, jaka jest twoja proponowana odpowiedź. Spróbuj być bardziej szczegółowy; na przykład podaj kod, który Twoim zdaniem rozwiąże problem. Polecam również przeczytanie [„Jak napisać dobrą odpowiedź”] (https://raspberrypi.stackexchange.com/help/how-to-answer). Rozważ te sugestie i odpowiednio edytuj swoją odpowiedź.
ayush3504
2018-11-01 01:31:25 UTC
view on stackexchange narkive permalink

W moim przypadku ten sam błąd, po wymianie modułu kamery naprawił go. Udało mi się niezawodnie odtworzyć błąd, przełączając się między dobrymi i złymi modułami aparatu. Mój kod nie cierpiał z powodu problemów wskazanych przez innych. Wygląda więc na to, że problemy ze sprzętem również mogą powodować ten wyjątek.

Wyjątkiem był:

picamera.exc.picamerammalerror: nie udało się włączyć połączenia: brak zasobów

Picamera to 1.13, a moduł kamery to 2.1



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...