Raspberry Pi Camera Module( pi camera )는 USB 장치가 아니라서 연결을 해도 바로 /dev/video0 디바이스 파일이 생성되지 않습니다.
별도의 드라이버 모듈을 로드해야 /dev/video0 파일이 생성됩니다.
마지막 업데이트 - 2018. 10. 2
MobaXterm 터미널을 사용하여 Raspberry Pi에 SSH 접속 후 테스트를 진행했습니다.
1. pi camera가 정상적으로 연결이 되었는지 확인합니다.
supported와 detected값이 모두 1이라면 카메라 연결이 성공적으로 이루어진 상태입니다.
pi@raspberrypi:~ $ vcgencmd get_camera supported=1 detected=1 |
두 값중 하나라도 0으로 나오면 아래 포스팅의 1-7, 1-8, 1-9를 진행해서 카메라 모듈 연결을 다시 해보면 해결됩니다.
Raspberry Pi Camera Module( pi camera ) 사용하는 방법
https://webnautes.tistory.com/1883
2. modprobe 명령을 사용하여 bcm2835-v4l2 모듈을 커널로 로드합니다.
pi@raspberrypi:~ $ sudo modprobe bcm2835-v4l2 |
3. /dev/video0 파일이 생성됩니다.
pi@raspberrypi:~ $ ls /dev/video0 -l crw-rw----+ 1 root video 81, 0 Jun 25 15:57 /dev/video0 |
문제가 있다면 dmesg 명령 실행시 다음과 결과가 같은지 확인해보세요.
pi@raspberrypi:~ $ dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ 1154.414739] media: Linux media interface: v0.10 [ 1154.439142] Linux video capture interface: v2.00 [ 1154.462701] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned. [ 1154.477131] bcm2835-v4l2: scene mode selected 0, was 0 [ 1154.477477] bcm2835-v4l2: V4L2 device registered as video0 - stills mode > 1280x720 [ 1154.482953] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2 loaded. |
4. 동작 확인을 위해 cheese 프로그램을 설치한 후.. 실행시켜 봅니다. cheese 프로그램이 느리게 동작해서 실제로 사용할 수는 없습니다.
MobaXterm를 사용하면 X윈도우를 띄우지 않고도 GUI 프로그램을 실행시킬 수 있습니다.
pi@raspberrypi:~ $ sudo apt-get install cheese pi@raspberrypi:~ $ cheese |
5. 부팅될 때마다 자동으로 bcm2835-v4l2 모듈을 커널에 로드시키려면 /etc/modules 파일에 다음처럼 추가해주면 됩니다.
( 참고 https://www.feeditout.com/raspberry-pi-3-csi-camera-motion-devvideo0/ )
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. i2c-dev bcm2835-v4l2 |
6. OpenCV에서 사용시에는 다음처럼 0대신에 -1을 open함수의 아규먼트로 사용해야 합니다.
0을 사용하게되면 카메라가 오픈되기를 무한히 대기하게 됩니다.
C++ 코드의 경우
VideoCapture cap; cap.open(-1); |
Python 코드의 경우
cap = cv2.VideoCapture(-1) |
'Raspberry Pi > Raspberry Pi 개발환경' 카테고리의 다른 글
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!