반응형

Raspberry Pi 3Raspberry Pi Camera Module을 연결하여 사용하기 위해서 필요한 과정을  다루고 있습니다.




1. Raspberry Pi Camera Module 연결 및 설정하기


2. Raspberry Pi Camera Module 테스트



관련 포스팅


1. Raspberry Pi Camera Module( pi camera )를 위해 /dev/video0 생성하는 방법

http://webnautes.tistory.com/1192




2. Raspberry Pi Camera Module( pi camera )를 위해 OpenCV + raspicam 사용하기

http://webnautes.tistory.com/956


마지막 업데이트 2018. 6. 25




1. Raspberry Pi Camera Module 연결 및 설정하기


1-1. Raspberry Pi 3에서 Raspberry Pi Camera Module를 사용하기 위해서는 라즈베리파이 설정 도구( raspi-config )를 사용하여 카메라 인터페이스를 활성화시켜야 합니다.  



pi@raspberrypi:~ $ sudo raspi-config




1-2. Interfacing Options을 선택합니다.

Raspberry Pi에 외부의 장치를 연결하기 위한 옵션들이 이곳에 모여있습니다.





1-3. Camera를 선택합니다.





1-4. 카메라 인터페이스를  활성화하기 위해서 Yes를 선택합니다.





1-5. 카메라 인터페이스가 활성화 되었다는 메시지가 보입니다.





1-6. Finish를 선택해서 raspi-config를 종료합니다.  재부팅을 해줘야 설정이 적용됩니다.





1-7. 재부팅 완료 후,  다음처럼 확인해봅니다. 정상적으로 설정이 되었다면 supported 값은 1입니다.


pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=0




1-8. 빨간색 사각형 부분에 보이는 흰색 플라스틱 부분을 수직으로 꾹 누른 후, 아래 사진처럼 Raspberry Pi Camera Module의 연결선의  파란색 면이 은색 랜포트쪽으로 가도록 꽂습니다.

연결선을 꽂을 때 꽉 조이는 느낌이 들어야 합니다.





1-9.  1-7에서 사용했던 명령으로 다시 확인해봅니다. 다음처럼 detected값이 1로 바뀌었다면 카메라 연결이 성공적으로 이루어진 상태입니다.


pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=1


여전히 detected 값이 0이라면 라즈베리파이를 재부팅후 다시 해보면 detected값이 1로 바뀝니다.




2. Raspberry Pi Camera Module 테스트


2-1. Raspberry Pi Camera Module이 정상적으로 동작하는지 확인하기 위해  raspistill 명령을 사용하여 사진을 한장 찍어 저장해봅니다.  


pi@raspberrypi:~ $ raspistill -o image.jpg
pi@raspberrypi:~ $



아래 메시지를 보여주면서 중단되는 경우의 해결책입니다.


pi@raspberrypi:~ $ sudo raspistill -o image.jpg

mmal: Cannot read camera info, keeping the defaults for OV5647

mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)

mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)

mmal: Failed to create camera component

mmal: main: Failed to create camera component

mmal: Camera is not detected. Please check carefully the camera module is installed correctly



카메라 연결 불량입니다.  포스팅의 1-7, 1-8, 1-9를 다시 진행해서 카메라 모듈 연결을 다시해보면 해결됩니다.





2-2. 다음 명령으로 확인해보면 실행 결과 3.6 메가짜리 이미지  파일이 생성되었습니다.

이미지 파일의 크기는 포스팅과 다를 수 있습니다.


pi@raspberrypi:~ $ ls image.jpg -lh
-rw-r--r-- 1 pi pi 3.6M Jun 25 00:33 image.jpg




2-3. MobaXterm( https://mobaxterm.mobatek.net )를 사용하여 SSH 접속한 경우 터미널 화면 왼쪽에 Raspberry Pi의 디렉토리와 파일들을 보여주는 탐색기가 있습니다.





2-4. 탐색기 상단에 있는 초록색 원아이콘을 클릭하여 탐색기에 보이는 것들을 갱신해줍니다.

Raspberry Pi에서 바뀐 내용들이 실시간으로 탐색기에 반영되지 않을 수 있어서 필요합니다.





2-5.  raspistill 명령으로 생성되었던 image.jpg 파일이 탐색기에서 보입니다.





2-6. 탐색기에서 image.jpg 파일을 더블클릭해주면 윈도우로 해당 파일을 가져와서..




윈도우의 디폴트 이미지 뷰어에서 볼 수 있게 해줍니다.





참고


[1] https://www.raspberrypi.org/documentation/usage/camera/raspicam/


[2] https://raspberrypi.stackexchange.com/a/83650






반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 베리사랑 2019.05.29 15:48

    안녕하세요 라즈베리파이 보드에
    카메라 모듈 2개를 장착 후 영상 2개를 영상처리 하고싶은데

    구글을 찾아봐도 따로 보드를 구매하여 확장 시켜쓰는 방법만 나와있고
    그냥 2개 사용하는 방법은 없어서
    문의 드립니다.

    카메라 2대 사용시 무조건 확장 보드가 필요할까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.29 16:00 신고

      카메라 모듈의 경우 라즈베리파이당 1나만 설치가능합니다. 두 대의 카메라를 사용하려면 각각 video0와 video1로 장치를 잡아주면 될듯합니다.

    • 베리사랑 2019.05.29 16:02

      답변 감사합니다.
      지금 ls /dev/video* 해보면
      video는 0 와 1 두개로 잡혀있고
      현재 보드에 라즈베리파이 카메라 모듈을 연결하였고 다른 하나는 USB로 연결을 하였는데
      cap.VideoCapture(0) cap2.VideoCapture(-1)
      이렇게 오픈하면 cpa2가 에러가 발생합니다.. 연결된 카메라와 video장치를 매핑은 따로 시켜줘야하는가요? 답변 부탁드립니다

    • 베리사랑 2019.05.29 16:07

      라즈베리파이 보드 보면 camera 연결하는 부분위에 아래도 display라고 포트가 있는데 여기에 카메라를 연결해 2대가 가능할까요? 2대를 연결해야하는데 잘안되네여..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.29 16:11 신고

      display에는 카메라를 연결할 수 없습니다.

      그리고 다음처럼 나오는지 보세요


      pi@raspberrypi:~ $ vcgencmd get_camera
      supported=1 detected=1

    • 베리사랑 2019.05.29 16:26

      pi@raspberrypi:~ $ vcgencmd get_camera
      supported=1 detected=1

      네 이렇게 나옵니다.
      현재 라즈베리카메라 전용카메라와
      usb 카메라 이렇게 2개 연결했습니다.

      테스트 코드 짜서 보니깐
      cap.VideoCapture(0) 하면 라즈베리카메라는 정상적으로 오픈되는데 USB 카메라 오픈이 되지 않은거같습니다 거기서 얻은 frame imshow 하면 오류가 발생합니다 따로 오픈하는방법이 있을까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.29 16:28 신고

      라즈베리카메라가 정상동작한거 확인하고나서 usb카메라를 연결해보세요

    • 베리사랑 2019.05.29 16:31

      라즈베리카메라 먼저 동작 시켜보고 그다음에 따른 프로그램에서 cap.VideoCapture(1) 로 한번 시켜보겠습니다.

  2. 닥스퍼 2019.06.09 16:11

    카메라 모듈이 제대로 작동하는지 확인하기 위해 우선 vcgencmd get_camera 를 했을 때 supported=1 detected=1 이 나오는 것을 확인한 후 raspistill -o image.jpg를 해주었습니다.

    mmal : mmal_vc_component_enable:failed to enable component : ENOSPC
    mmal:camera component couldn't be enabled
    mmal:main:Failed to create camera component
    mmal:Failed to run camera app. Please check for firmware updates
    라고 뜹니다.
    어제까지만 해도 카메라 모듈에는 문제가 없었는데 갑자기 왜이럴까요ㅠㅠ 접속불량인가해서 모듈을 다시 연결해보기도 했는데 안됩니다.
    모듈문제일까요? 펌웨어문제일까요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.09 16:26 신고

      접촉 불량일 가능성이 있어보입니다.

      카메라 모듈 연결 후

      dmesg로 관련 메시지를 확인해보세요.

    • 닥스퍼 2019.06.09 16:31

      혹시 계속해서 오류가 뜨면 모듈 문제일까요?
      어제까지만해도 잘 작동했는데 건드리지도 않았는데 접촉불량이 발생할수도 있을까요...ㅠㅠ

    • 닥스퍼 2019.06.09 16:34

      dmesg 로 카메라모듈이 제대로 연결되었는지 안되었는지 어느 부분을 보아야 확인할 수 있을까요?

    • 닥스퍼 2019.06.09 16:42

      supported=1,detected=1 로 나와도 접촉 불량일 수 있는건가요...?
      운영자님 위 글에서는 카메라 모듈이 연결되면 detected=1로 나온다고 되어있어서요!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.09 18:36 신고

      sudo raspi-config로 다시 카메라를 활성화하고

      재부팅 후..

      dmesg로 확인해보세요.

      dmesg로 카메라 연결시 오류가 있었는지 알 수 있습니다.


  3. 카메라가 힘들어 2020.02.18 21:21

    pi@raspberrypi:~/opencv/opencv-4.1.2/build $ dmesg | tail
    [ 350.651819] Under-voltage detected! (0x00050005)
    [ 373.532083] Voltage normalised (0x00000000)
    [ 650.177801] Under-voltage detected! (0x00050005)
    [ 654.337830] Voltage normalised (0x00000000)
    [ 920.582359] Under-voltage detected! (0x00050005)
    [ 920.778510] Adding 2097148k swap on /var/swap. Priority:-2 extents:2 across:2228220k SSFS
    [ 926.822493] Voltage normalised (0x00000000)
    [ 935.142607] Under-voltage detected! (0x00050005)
    [ 943.462717] Voltage normalised (0x00000000)
    [ 1021.228056] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS
    혹시 이렇게 뜨면 카메라 정상인가요?

    • 카메라가 힘들어 2020.02.18 21:23

      raspistill -o image.jpg

      이상하게 명령어 치면 사진은 잘 나옵니다.

      그런데 vnc 에서 cheese를 누르면 실행이 안되요 ㅜㅜ;

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.19 19:39 신고

      opencv로 카메라 예제를 만들어서 테스트ㅜ해보셨나요?

  4. 미정 2020.07.05 12:45

    ubuntu@ubuntu:~$ sudo raspi-config
    sudo: raspi-config: command not found

    라즈베리 파이 4에서 우분투 18.04를 사용하고 있습니다
    라즈베리 파이 4를 사용할 때 raspi-config를 할 방법이 있을까요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 12:48 신고

      다음처럼 설치할 수 있다고 합니다.

      sudo echo "deb http://archive.raspberrypi.org/debian/ jessie main" >> /etc/apt/sources.list
      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FA3303E
      sudo apt-get update
      sudo apt-get install raspi-config

    • 미정 2020.07.05 12:50

      첫번째 문장을 실행 시켜 보니
      ubuntu@ubuntu:~$ sudo echo "deb http://archive.raspberrypi.org/debian/ jessie main" >> /etc/apt/sources.list
      bash: /etc/apt/sources.list: Permission denied
      가 나왔습니다
      아마 제 라즈베리에 echo 명령어가 없는것 같습니다
      echo 명령어를 다운 받을수 있나요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 12:52 신고

      다음 명령으로 설정 파일을 열은 후,
      sudo nano /etc/apt/sources.list

      맨 아래줄에 다음 줄을 붙여 넣기 해주고
      deb http://archive.raspberrypi.org/debian/ jessie main

      Ctrl + O를 눌러 저장한 후,
      Ctrl + X를 눌러 종료하세요.

    • 미정 2020.07.05 12:56

      죄송합니다
      deb http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
      # deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
      deb http://ports.ubuntu.com/ubuntu-ports bionic-security universe
      # deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security universe
      deb http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse
      # deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse
      deb http://archive.raspberrypi.org/debian/ jessie main
      이렇게 마지막 줄에 넣었지만
      bash: /etc/apt/sources.list: Permission denied
      여전히 이런 문장이 나옵니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 12:58 신고

      저장을 했으면 sudo echo 건너띄고 다음 명령을 진행하면 됩니다

    • 미정 2020.07.05 13:01

      raspi-config를 다운 받았지만
      sudo raspi-config를 실행 하니
      The boot partition is not mounted - cannot configure. │
      │ Note that raspi-config is intended for use on Raspbian │
      │ only and cannot be guaranteed to work on other operating │
      │ systems.가 나왔습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 13:02 신고

      raspi-config를 사용하려면 라즈비안으로 OS를 바꿔야 할듯합니다.

    • 미정 2020.07.05 13:07

      https://raspberrypi.stackexchange.com/questions/50642/sudo-raspi-config-not-working-boot-partition-not-mountedhttps://raspberrypi.stackexchange.com/questions/50642/sudo-raspi-config-not-working-boot-partition-not-mounted
      이 사이트에 나온데로
      sudo mount /dev/mmcblk0p1 /boot
      이 명령어를 치니
      sudo raspi-config가 실행 되었습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 13:07 신고

      해결되서 다행이네요. 공유해주셔서.감사합니다

    • 미정 2020.07.05 13:09

      그런데 문제가 하나 더 발생했습니다
      ubuntu@ubuntu:~$ vcgencmd get_camera
      vcgencmd: command not found

      vcgencmd이 명령어를 받을수 없다고 떴습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 13:11 신고

      다음 명령으로 설치할 수 있다고 합니다.
      sudo apt-get install libraspberrypi-bin

      출처
      https://jdselectron.tistory.com/114

    • 미정 2020.07.05 13:15

      무사히 vcgencmd 명령어는 다운 받았습니다
      하지만
      ubuntu@ubuntu:~$ vcgencmd get_camera
      VCHI initialization failed
      이렇게 되었는데

      혹시 위에 있는 방법을 라즈베리 파이 4에 사용하면 안되는 건가요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 13:38 신고

      Raspberry Pi 4 라서 문제가 되는게 아니라 라즈비안을 사용하지 않았기 때문입니다.

      라즈베리파이 버전과 상관없이 라즈비안을 사용하면 똑같은 환경으로 작업할 수 있습니다.

      다음 링크를 참고하세요
      https://github.com/agherzan/meta-raspberrypi/issues/613

    • 미정 2020.07.05 13:40

      감사합니다

    • 미정 2020.07.05 13:41

      이거랑 다른 문제이긴 한데...
      ldconfig를 하면
      /sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
      이렇게 뜨는데 왜이렇게 되는지 아시나요???

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 13:45 신고

      루트권한이 필요하기 때문입니다. sudo ldconfig하면 됩니다.

    • 미정 2020.07.05 13:47

      감사합니다..ㅠㅠ

    • 미정 2020.07.05 13:54

      다른쪽으로 하나만 더 물어봐도 괜찮을까요??
      ubuntu@ubuntu:~/userland$ echo 'SUBSYSTEM==\"vchiq\",GROUP=\"video\",MODE=\"0660\"' > /etc/udev/rules.d/10-vchiq-permissions.rules
      이 명령어를 쳤을때
      bash: /etc/udev/rules.d/10-vchiq-permissions.rules: Permission denied
      이렇게 나오는데
      이걸 해결할 방법을 알고 계시나요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.05 14:01 신고

      다음 글을 참고하세요

      https://infoarts.tistory.com/9

  5. lee 2020.10.27 15:12

    로지텍 웹캠 등을 이용해도 카메라 모듈에서 사용하는 start_preview() 등의 함수 사용이 가능한가요?

  6. Favicon of https://1234dwasd.tistory.com BlogIcon 마우스먹통 2020.11.08 20:28 신고

    demsg 명령어 실행후.
    under-voltage detected! (0x00050005) 이런식의 말이뜨고 안됩니다.
    접촉불량이라기엔
    supported=1 detected=1 값은 잘 나오고요...
    그리고 image.jpg 명령어 실행하면
    mmal : mmal_vc_component_enable:failed to enable component : ENOSPC
    mmal:camera component couldn't be enabled
    mmal:main:Failed to create camera component
    mmal:Failed to run camera app. Please check for firmware updates
    이렇게 뜨네요 무슨 문제일까요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.11.08 20:46 신고

      sudo rpi-update 실행하여 해결했다는 말도 보이지만 해결될지 모르겠네요. 출처는 아래 링크입니다. 다른 방법도 있습니다

      https://qastack.kr/raspberrypi/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module

+ Recent posts