Pour démarrer la caméra que je fais
>>> 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)
J'ai vérifié beaucoup de réponses qui m'ont dit de mettre à jour le paquet et je l'ai fait mais rien ne semble aider. Mon appareil photo est-il parti ou existe-t-il une solution?
sudo raspi-config
raspistill
? Si cela ne fonctionne pas, vous devriez peut-être consulter le guide deRéponses:
En plus des autres réponses, je veux juste mentionner que la cause de cette erreur pourrait également être qu'un autre processus utilise actuellement l'appareil photo.
la source
motion
bibliothèque utilisait l'appareil photo. La course asudo service motion stop
résolu mon problèmeLe module de caméra Raspberry Pi utilise le GPU intégré et sa mémoire. Étant donné que votre message d'erreur mentionne l'absence de ressources, envisagez d'ajouter au moins (et peut-être plus) le minimum recommandé de 128 Mo à l'allocation du GPU.
Pour le changer:
sélectionnez: Options avancées -> Mémoire partagée -> et définissez au moins 128 Mo
Certains utilisateurs signalent que ce message a disparu après avoir modifié l'allocation de mémoire GPU à 256 Mo au lieu de 128 Mo.
la source
J'ai rencontré ce même problème avec le Rasp Pi 3. J'ai commencé un script python qui prendrait 1 image par seconde pendant une minute. J'ai appuyé sur ctrl-z pour interrompre l'exécution du script à mi-chemin. Lorsque j'ai essayé d'exécuter à nouveau le script, j'ai eu cette erreur, même s'il semblait qu'aucun autre script n'utilisait l'appareil photo.
Le correctif: entrez "ps -a" pour répertorier tous les processus en cours d'exécution. Recherchez celui qui dit "python" ou "python3" dans la sortie, comme ceci:
PID TTY TIME CMD 1218 tty1 00:00:00 bash 2203 pts/0 00:00:00 python 8960 pts/1 00:00:00 ps
Utilisez la commande "kill -KILL [PID #]" pour arrêter le processus python. Dans ce cas, la commande était "kill -KILL 2203".
Après cela, utilisez à nouveau "ps -a" pour vous assurer que le processus python n'est pas répertorié.
Cela a résolu le problème pour moi et j'ai pu réexécuter mon script sans aucun problème.
J'espère que cela t'aides.
la source
Suivez cet ordre de commandes:
La dernière est très importante si vous avez acheté votre Raspberry il y a longtemps et si vous voulez de nouvelles fonctionnalités.
la source
La solution est de s'assurer que la ligne
camera = PiCamera()
est en dehors de toute boucle ou fonction.Si la ligne
camera = PiCamera()
est appelée à chaque exécution de votre fonction, la caméra manque de mémoire.la source
Pour toute autre personne ayant ce problème ... si la lumière est allumée au démarrage, vous pourriez vraiment avoir le mauvais port de câble ruban! Le câble s'intégrera bien dans le port LCD et la lumière s'allumera et tout. Mais vous obtiendrez l'erreur disant d'activer l'appareil.
Werner l'a souligné:
la source
En plus de la réponse d'alcor, assurez-vous d'exécuter raspi-config et choisissez l'option 5 après le démarrage pour activer la prise en charge de la caméra.
Je pense que vous pourriez avoir besoin d'utiliser sudo
la source
Il s'avère donc que le port de l'appareil photo de mon Raspberry Pi a eu un problème. Remplacé le Pi, la caméra fonctionne bien.
la source
J'ai rencontré le même problème. J'ai réalisé que puisque je diffusais de la vidéo via httpd, je ne pouvais pas utiliser les images via Python. J'ai dû choisir de laisser le script Python accéder aux images ou laisser le serveur Apache rendre la vidéo disponible via le navigateur. Un seul processus peut accéder à la caméra à la fois.
la source
J'ai eu ce problème de ressource, il s'est avéré que la fonction camera.capture (nom de fichier) était le problème, car le fichier existait déjà.
la source
Dans mon code, il y avait un bug idiot qui a provoqué cette erreur: j'ai ouvert la caméra une fois, mais j'ai intentionnellement essayé de l'ouvrir à nouveau lorsque l'utilisateur clique sur un bouton matériel. La fermeture de la caméra avant le deuxième appel à PiCamera () a résolu le problème.
la source
Vous obtiendrez cette erreur si votre bouton n'est pas correctement connecté. Le Pi pense que le bouton est enfoncé et essaie continuellement de prendre des photos, vous serez donc à court de ressources!
Assurez-vous que votre bouton est branché sur la bonne broche GPIO, puis passez à d'autres méthodes de débogage.
la source
Juste mon argent vaut la peine .. J'ai écrit un petit programme qui prend une séquence de photos. Cela a bien fonctionné dans IDLE, mais à partir de la ligne de commande est venu exactement la même erreur étant hors des ressources. Le problème a été résolu en ajoutant camera.close () après excepté KeyboardInterrupt :, c'est-à-dire Ctrl + C (dans le shell python). pour quand vous avez besoin de sortir d'une boucle.
la source
Pour mon cas, ayant la même erreur, le remplacement du module de caméra l'a corrigé. J'ai pu reproduire l'erreur de manière fiable en basculant entre les bons et les mauvais modules de caméra. Mon code n'a pas souffert des problèmes signalés par d'autres. Il semble donc que des problèmes matériels puissent également provoquer cette exception.
L'exception était:
La version de Picamera est 1.13 et le module de caméra est v2.1
la source