Raspberry Pi и Raspberry Pi Camera Board

Тема в разделе "Raspberry Pi", создана пользователем Garmahis, 14 мар 2014.

  1. Garmahis

    Garmahis Нерд

    Добрый день!
    Пытаюсь заставить все работать так как описано в книге "Заводим Raspberry Pi" в 9 главе.
    Но ничего не получается. Инсталлировал luvcview но при запуске он сообщает что не находит камеры. Попробовал в питоне ее вызвать как описывается в 9.5 тоже пишет что не находит камеры и еще на некую ошибку в импортированном пакете SimpleCV. Сама камера подключена вроде правильно. и при вызове raspivid начинает работать. Но мне бы очень хотелось получать видео именно через SimpleCV. Ктонить пробовал повторить описанные в книге примеры?
     
  2. acos

    acos Официальный гик Администратор

    Попробуем поковырять в понедельник
     
  3. Garmahis

    Garmahis Нерд

    Спасибо большое!
    Я нашел хорошую статью по теме http://www.raspberrypi.org/phpBB3/viewtopic.php?t=57788
    Но к сожалению у меня получилось единственное делать снимки 64х64 из SimleCV с видео вообще не выходит...
     
  4. acos

    acos Официальный гик Администратор

    В этой статье, в комментариях такую проблему решили. У вас на каком этапе затык случился? При установке UV4L?
     
  5. Garmahis

    Garmahis Нерд

    Вот я ставлю драйвер:
    Код (Text):
    pi@Skibr ~ $ sudo pkill uv4l
    pi@Skibr ~ $ uv4l --driver raspicam --auto-video_nr --encoding yuv420 --width 640 --height 480
    <warning> [core] Driver 'raspicam' not found
    <notice> [driver] Raspicam Video4Linux2 Driver v1.9.6 built Feb 13 2014
    <notice> [driver] Selected format: 640x480, encoding: yuv420, YUV 4:2:0 Planar (I420), max. 30 fps
    <notice> [driver] ROI: 0, 0, 1, 1
    <notice> [core] Device detected!
    <notice> [core] Registering device node /dev/video0
    pi@Skibr ~ $ export LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so
    pi@Skibr ~ $
     
    Дальше я хочу выполнить код описанный в книге:
    Код (Text):
    from SimpleCV import Camera, Display
    from time import sleep

    myCamera = Camera(0,{'width': 640, 'height': 480})
    myDisplay = Display(resolution=(640, 480))

    while not myDisplay.isDone():
        myCamera.getImage().save(myDisplay)
        sleep(.1)
    Я его запускаю из консоли. На секунд десять все подвисает потом появляется черное окно на котором ничего не показывается хотя огонек на камере горит. И потом при закрытии окна валятся следующие ошибки:
    Код (Text):
    pi@Skibr ~ $ python /home/pi/Programs/Camera/test1.py
    error in original mmap
    error in original mmap
    ERROR:
    Traceback (most recent call last):
      File "/home/pi/Programs/Camera/test1.py", line 7, in <module>
        while not myDisplay.isDone():
      File "/usr/local/lib/python2.7/dist-packages/SimpleCV/Display.py", line 650, in isDone
        self.checkEvents()
      File "/usr/local/lib/python2.7/dist-packages/SimpleCV/Display.py", line 615, in checkEvents
        pressed = pg.key.get_pressed()
    error: video system not initialized
    Exception in thread Thread-1 (most likely raised during interpreter shutdown):
    Traceback (most recent call last):
      File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
      File "/usr/local/lib/python2.7/dist-packages/SimpleCV/Camera.py", line 31, in run
    <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'time'
    pi@Skibr ~ $
     
     
  6. Garmahis

    Garmahis Нерд

    После перезагрузки распбери даже этого не происходит черный экран появляется на секунду и закрывается.
    Код (Text):
    pi@Skibr ~ $ python /home/pi/Programs/Camera/test1.py
    /dev/video0 does not support memory mapping
    munmap: Invalid argument
    munmap: Invalid argument
    munmap: Invalid argument
    munmap: Invalid argument
    Unable to stop the stream.: Bad file descriptor
    munmap: Invalid argument
    munmap: Invalid argument
    munmap: Invalid argument
    munmap: Invalid argument
    WARNING: SimpleCV can't seem to find a camera on your system, or the drivers do not work with SimpleCV.
    ERROR:
    Traceback (most recent call last):
      File "/home/pi/Programs/Camera/test1.py", line 8, in <module>
        myCamera.getImage().save(myDisplay)
      File "/usr/local/lib/python2.7/dist-packages/SimpleCV/Camera.py", line 579, in getImage
        if (not self.threaded):
    AttributeError: Camera instance has no attribute 'threaded'
    pi@Skibr ~ $
     
    Неужели неполучиться поставить драйвер так чтобы после перезагрузки он работал?
     
  7. acos

    acos Официальный гик Администратор

    А в raspi-config вы разрешали работу с камерой?
    Ну то-есть
    Код (Text):
    sudo raspi-config
    и в меню делаем Enable Camera
     
  8. Garmahis

    Garmahis Нерд

    Да разрешил. Он снимок делает. А вот как видео камера работать отказывается... И после перезагрузки приходиться все заново ставить...
     
  9. Garmahis

    Garmahis Нерд

    Все разобрался с основным вопросом! Там требуется каждый раз после перезагрузки в терминале выполнять export LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so
    Можно ли какнить эту строчку в автозагрузку пихнуть? А то я с линухом совсем никогда не работал...
     
    acos нравится это.
  10. Garmahis

    Garmahis Нерд

    И из оболочки пифона программа не работает... Только если из командной строки запускаешь. А пифон пишет
    WARNING: SimpleCV can't seem to find a camera on your system, or the drivers do not work with SimpleCV.

    Traceback (most recent call last):
    File "/home/pi/Programs/Camera/test1.py", line 8, in <module>
    myCamera.getImage().save(myDisplay)
    File "/usr/local/lib/python2.7/dist-packages/SimpleCV/Camera.py", line 579, in getImage
    if (not self.threaded):
    AttributeError: Camera instance has no attribute 'threaded'
    >>>
     
  11. acos

    acos Официальный гик Администратор

    Попробуйте дописать эту строчку в конце этого файла, перед строчкой «exit 0»
    Код (Text):
    pi@raspberrypi ~ $ sudo nano /etc/rc.local
     
  12. Garmahis

    Garmahis Нерд

    Сделал к сожалению не помогло.
     
  13. geher

    geher Гуру

    Сегодня час мучился с подключением. То работает, то нет.
    Причем мучился, как выяснилось, исключительно из-за механических проблем.
    Поскольку с камерой заказал бокс для нее, то, естественно, пытался устанавливать ее в этом самом боксе.
    Но в нем-то и была вся проблема. При "защелкивании" бокса почему-то перекашивался и вылетал из разъема маленький шлейф от маленького черного модуля камеры к плате камеры. Проблему решил, установив ограничитель между задней и передней частями корпуса, обеспечив тем самым зазор между камерой и передней частью.