質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.01%

python エラーのような表示が出ているが通常動作しているのはなぜ?

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,388

horisuke3232

score 109

Raspberry Piに人感センサーとカメラを繋いで、感知したときにカメラを撮るプログラムを雑誌の通り動作させました。

#! /usr/bin/env python

import picamera
import time
import RPi.GPIO as GPIO

PICTURE_WIDTH = 800
PICTURE_HEIGHT = 600
SAVEDIR = "/usr/share/nginx/www/camera/pictures/"

INTAVAL = 30
SLEEPTIME = 5

SENSOR_PIN = 25

GPIO.cleanup()

GPIO.setmode( GPIO.BCM )
GPIO.setup( SENSOR_PIN, GPIO.IN )

cam = picamera.PiCamera()
cam.resolution = ( PICTURE_WIDTH, PICTURE_HEIGHT )

st = time.time() - INTAVAL

while True:
    if ( GPIO.input(SENSOR_PIN) == GPIO.HIGH ) and (st + INTAVAL < time.time() ):
        st = time.time()
        filename = time.strftime( "%Y%m%d%H%M%S" ) + ".jpg"
        save_file = SAVEDIR + filename
        cam.capture( save_file )

    time.sleep( SLEEPTIME )

実効後

camera.py:16: RuntimeWarning: No channels have been set up yet - nothing to clean up!  Try cleaning up at the end of your program instead!
  GPIO.cleanup()
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))0x20ebe40 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
Traceback (most recent call last):
  File "camera.py", line 21, in <module>
    cam = picamera.PiCamera()
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 417, in __init__
    self._init_preview()
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 496, in _init_preview
    self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
  File "/usr/lib/python2.7/dist-packages/picamera/renderers.py", line 512, in __init__
    self.renderer.connect(source)
  File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1465, in connect
    self._connection = MMALConnection(source, self.inputs[0])
  File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1278, in __init__
    prefix="Failed to enable connection")
  File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 157, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources (other than memory)

エラーのような表示が出ますが感知すると動作しています。

上記の表示は何を示しているのでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

-2

エラーがひとつ、警告が一つでてますね。書いてあるとおりの意味だと思います。

  •  RuntimeWarning: No channels have been set up yet - nothing to clean up!
  •  picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources (other than memory)

もしかして翻訳してくれとかいうわがままな質問じゃないですよね、まさかね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/26 19:59

    回答ありがとうございました。
    エラーなのか何なのかも判断できず質問してしまいました。すみません。

    上記の回答で解消できました。
    GPIO.cleanup() を最後の行にしたところ解消しました。

    日経Linuxの書籍に書いてある通りにしたんですが、書籍が間違っていたということなんでしょうか?


    キャンセル

  • 2016/08/26 20:46

    まあ書籍はいろいろありますから。執筆当時はエラーを吐かなかった、見過ごした、無視した、わかっててあえてそうした、のように可能性は様々です。書籍が間違っていたということにしたいのなら、間違ってたということでいいんじゃないですかね。私はそうは思ってないですが、気になるなら出版社に尋ねてみたらいかがでしょうか。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる