本产品适用于有以下需求的客户:
1. 树莓派CM4 IO 底板. 尽最大可能兼容4B 外壳和功能
2. USB HUB扩展USB 2.0 x 4
3. Rj45 网口
4. GPIO音频耳机口引出 (占用GPIO18 和 GPIO19)
5. Camera 和 DSI 接口各引出1路.
6. 开关切换可以支持 Type C 口烧录系统或者CM4系统启动
1. USBx4 5. Micro HDMI接口 9.音频跳线选择
2. RJ45网口 6.Type C电源接口 10.CM4核心板插槽
3. 耳机接口 7.DSI显示屏接口 11.SD卡槽
4. CAM0摄像头接口 8.CM4 BOOT切换开关
CSI 和 DSI默认是关闭的,使用摄像头和DSI的时候会占用I2C-10、I2C-11、I2C-0 三个I2C设备
开机执行如下:
wget https://www.waveshare.net/w/upload/7/75/CM4_dt_blob_Source.zip
unzip -o CM4_dt_blob_Source.zip -d ./CM4_dt_blob_Source
sudo chmod 777 -R CM4_dt_blob_Source
cd CM4_dt_blob_Source/
#如果使用两个摄像头和DSI0 执行
sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp0-double_cam.dts
#如果使用两个摄像头和DSI1 执行
sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts
#在使用任意DSI时,HDMI1没有图像输出,哪怕你没有连接DSI屏幕只要编译的对应的文件,那HDMI1就没有输出了
#如果需要恢复,删除对应的dt-blob.bin 即可: sudo rm -rf /boot/dt-blob.bin
#执行完毕 关闭电源 重启CM4
摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。
测试树莓派摄像头
查看接入的第一个摄像头画面:
sudo raspivid -t 0 -cs 0
查看接入的第二个摄像头画面:
sudo raspivid -t 0 -cs 1
如果使用最新的树莓派OS(Bullseye):
#新系统使用双摄像头
#在config.txt中移除camera_auto_detect=1
#camera_auto_detect=1
#添加
dtoverlay=imx219,cam1
dtoverlay=imx219,cam0
#其中imx219是摄像头传感器型号,还有其他传感器
dtoverlay=ov5647,cam0
dtoverlay=imx219,cam0
dtoverlay=ov9281,cam0
dtoverlay=imx477,cam0
#然后重启
reboot
#打开摄像头
libcamera-hello -t 0
或者
libcamera-hello
#其他部分指令:
#检查摄像头是否被检测到
libcamera-hello --list-cameras
#打开对应的摄像头
libcamera-hello --camera 1
libcamera-hello --camera 0
#拍摄照片
libcamera-jpeg -o test.jpg
#可以添加 --camera 来指定摄像头
更多指令点击我
sudo rm -rf /boot/dt-blob.bin
USB接口在CM4上默认是被禁用的,以节省电源。如果需要启动,你需要在config.txt文件中添加以下内容:
dtoverlay=dwc2,dr_mode=host
重启之后即可
如果使用最新的树莓派OS(2021年10月30号之后的镜像)USB2.0是默认是OTG模式,CM4会报错:
config failed, hub doesn't have any ports! (err -19)
不过USB还是可以使用的,如果想移除这个错误,在config.txt的[cm4]中移除otg_mode=1,并且添加dtoverlay=dwc2,dr_mode=host(不添加是无法识别USB的)。