Raspberry Pi OS Bookworm 이후 기준이다. Bookworm에서 부트로더와 카메라 소프트웨어 양쪽이 크게 달라졌다.
컴퓨트 모듈의 문서에 잘 설명되어 있기는 한데 별 생각 없이 카메라 모듈 문서만 보면 낭패를 볼 수가 있다.
https://www.raspberrypi.com/documentation/computers/compute-module.html#attach-a-camera-module
카메라 연결 #
CAM1 단자와는 달리 CAM0 단자를 사용하려면 IO보드에서 단자를 점퍼 2개로 연결해줘야 한다.
CAM0 단자는 mipi csi 2레인이고 CAM1은 4레인이라고 한다.
/boot/firmware/config.txt 설정 #
공통적으로 카메라 자동 감지를 비활성화 하라고 한다.
camera_auto_detect=1
config.txt에 해당 문구가 있으면 1을 0으로 바꾸거나 주석처리 하면 된다.
자동 감지를 비활성화 하였기 때문에 부트로더가 어떤 디바이스트리를 로드할지 수동으로 지정해야 한다. 다음 내용을 카메라 모듈에 맞게 적어주면 된다.
| 카메라 모듈 종류 | 구문 |
|---|---|
| 카메라 모듈 v1 | dtoverlay=ov5647 |
| 카메라 모듈 v2 | dtoverlay=imx219 |
| 카메라 모듈 v3 | dtoverlay=imx708 |
| HQ 카메라 | dtoverlay=imx477 |
| 글로벌 셔터 카메라 | dtoverlay=imx296 |
CAM0 단자에 연결하는 경우 뒤에,cam0을 붙여야 한다. (어떤 가이드에는 CAM1번 단자에 연결하는 경우 ,cam1을 붙이라는 경우도 있는데 그냥 무시되는거라 붙이든 안붙이든 차이가 없다.)
연결 테스트 #
rpicam-* 명령어에 –list-cameras 옵션을 붙이면 연결된 카메라를 확인할 수 있다.
예시
rpicam-hello --list-cameras
Available cameras
-----------------
0 : imx219 [3280x2464 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx219@10)
Modes: 'SRGGB10_CSI2P' : 640x480 [103.33 fps - (1000, 752)/1280x960 crop]
1640x1232 [41.85 fps - (0, 0)/3280x2464 crop]
1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
'SRGGB8' : 640x480 [103.33 fps - (1000, 752)/1280x960 crop]
1640x1232 [41.85 fps - (0, 0)/3280x2464 crop]
1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
1 : imx296 [1456x1088 10-bit RGGB] (/base/soc/i2c0mux/i2c@0/imx296@1a)
Modes: 'SRGGB10_CSI2P' : 1456x1088 [60.38 fps - (0, 0)/1456x1088 crop]
카메라를 2개 연결하면 0번이 CAM1 단자에 있는 카메라, 1번이 CAM0 단자에 있는 카메라로 잡한다. CAM0이 아니라 CAM1 단자가 기본값 같은 것도 그렇고 왜이렇게 만든지는 모르겠다. 라즈베리파이에서 나온 물건을 쓰다보면 이렇게 뭔가 하나씩 이상한 부분이 있는 것 같아.
Reply by Email