树莓派CM4-DUAL-ETH-WIFI6-BASE教程

产品概述

我是树莓派计算模块4代的IO板,CM4-DUAL-ETH-WIFI6-BASE是一款可以搭配树莓派 Compute Module 4 使用的底板,并且支持7~12V DC供电,板载三路USB 2.0,WIFI6,双网口,适用于软路由等需要多网口场景。

使用注意事项

1:禁止带电时拔插除USB和HDMI之外的任何设备
2:在连接前确认风扇电压,支持5V 和 12V 默认连接12V,切换请修改FAN_VCC的电阻
3:Type C 接口仅仅是用作USB SLAVE 接口烧录镜像,不可以用做供电。
4:CM4在正常使用时,需要为其提供至少12V 1.5A 的供电。否则可能出现自动关机,降频等等问题。
5:关于Opwenwrt见使用说明。
6:此扩展板不支持POE功能。

产品尺寸

CM4-DUAL-ETH-WIFI6-BASE



Compute_Module 4 核心板

板载资源


标号名称说明
1CM4 连接器适用于 Compute Module 4 的所有版本
240PIN GPIO 接口方便连接各种 HAT 模块
3RJ45 千兆网口双路 RJ45 千兆网口,支持 10/100/1000M 网络接入
ETHERNET 0: CM4 原生网口
ETHERNET 1: USB 扩展网口
4USB 3.2 接口3 路 USB 3.2 Gen1 接口,支持各种 USB 设备插入
5HDMI 接口双路 HDMI 接口,支持双 4K 30fps 输出
6CAM 接口双路 MIPI CSI 摄像头接口
7DC 供电接口7~36V DC 宽电压供电
8双 LED 灯座红灯:树莓派电源指示灯
绿灯:树莓派工作状态指示灯
9Micro SD 卡接口用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite
10FAN 接口方便接入散热风扇,支持调速和测速
11DISP0 接口MIPI DSI 显示接口,DISP0 接口
12USB SLAVE 接口Compute Module 4 eMMC 版本可通过此接口烧录系统镜像
13RTC 电池连接座可接入 CR1220 纽扣电池
14RTC 中断管脚切换PI-RUN: RTC 触发中断 CM4 重启
GN-EN: RTC 触发中断 CM4 断电
D4: RTC 触发中断 D4 管脚
15IO-VREF 选择CM4 IO 逻辑电压切换 3.3V 或者 1.8V
16FAN 供电选择可选择 5V 或 12V 电压驱动风扇
17系统功能切换BT_DIS: 蓝牙禁用,仅供带天线的 CM4 版本使用
WiFi_DIS: WiFi 禁用,仅供带天线的 CM4 版本使用
WP_DIS: 启动方式切换,仅供不使用 EMMC 启动或 SD 启动的情况下使用
18RTC/FAN I2C 总线选择SDA0/SCL0: I2C-10 和 CSI/DSI 共用
GPIO3/2: I2C-1 和 40PIN 共用
19RTL8153USB 千兆网卡芯片
20EMC2301风扇控制器,控制风扇转速,测量风扇转速
21VL805USB 3.0 HUB

注意事项

禁止带电时拔插任何设备

镜像烧录

EMMC版本点击这里
LITE版本点击这里

RTC FAN

风扇电压切换

如图所视,根据电阻位置切换FAN电压,默认12V。

  • 注意事项:请在接通扩展板电源前接上风扇再完成测试,请不要在扩展板已通电即风扇控制芯片已经通电之后再接上风扇,否则会烧掉芯片!
  • 注意事项:连接前请确认风扇电压和实际上连接的风扇供电

注意 使用RTC禁止使用DSI和CSI
默认使用I2C-10

RTC (PCF85063a) 在i2c-10 上,地址是 0x51(7位地址)
FAN ( EMC2301 ) 在i2c-10 上,地址是 0x2f (7位地址)

如果需要添加到你程序中而不是内核中,可以参考C和Python例程参考 点这里

RTC

sudo nano /boot/config.txt
 #在最后添加
 dtparam=i2c_vc=on
 dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
 #在dtparam=audio=on前面添加# 号
 #dtparam=audio=on
 #保存退出,重启
 sudo reboot

Hwclock简单使用

同步系统时钟 -> 硬件时钟

sudo hwclock -w

同步硬件时钟 -> 系统时钟

sudo hwclock  -s
 #需要关闭网络,或者关闭网络对时,否则会被改回去

设置硬件时钟时间:

sudo hwclock --set --date="9/8/2021 16:45:05"

查看硬件时钟

sudo hwclock -r

显示版本信息

sudo hwclock --verbose

风扇

在上电的时候 风扇会转1秒,然后停止2秒,再转,这是正常现象
风扇目前没有官方的配置方法,有一个第三方配置方法:https://github.com/neg2led/cm4io-fan
此方法为第三方发布,出现任何问题,概不负责!

sudo apt-get install dkms 
mkdir -p ~/src
cd ~/src
git clone https://github.com/neg2led/cm4io-fan.git
cd cm4io-fan
sudo chmod 777 install.sh
sudo  ./install.sh

#如果出现错误提示:Your kernel headers for kernel 5.XX.XX-v7l+ cannot be found at
#重启设备之后在执行即可

#下面是对于config.txt的描述介绍
#############################
Name:   cm4io-fan
Info:   Raspberry Pi Compute Module 4 IO Board fan controller
Load:   dtoverlay=cm4io-fan,<param>[=<val>]
Params: minrpm             RPM target for the fan when the SoC is below 
                            mintemp (default 3500)
        maxrpm              RPM target for the fan when the SoC is above
                            maxtemp (default 5500)
        midtemp             Temperature (in millicelcius) at which the fan
                            begins to speed up (default 50000)
        midtemp_hyst        Temperature delta (in millicelcius) below mintemp
                            at which the fan will drop to minrpm (default 2000)
        maxtemp             Temperature (in millicelcius) at which the fan 
                            will be held at maxrpm (default 70000)
        maxtemp_hyst        Temperature delta (in millicelcius) below maxtemp
                            at which the fan begins to slow down (default 2000)
#############################
或者 直接参考如下:
dtoverlay=cm4io-fan,minrpm=500,maxrpm=5000,midtemp=45000,midtemp_hyst=2000,maxtemp=50000,maxtemp_hyst=2000
温度高于45摄氏度开始加速,高于50摄氏度最高速

CSI DSI

配置文件

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

录播测试

再连接摄像头和DSI屏幕:
1: 确保断电状态下连接
2: 连接电源
3: 等待几秒后屏幕启动
4: 如果无法启动,检查/boot/dt-blob.bin 是否存在,如果存在再次重启即可。

旧版本(Buster)

摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。

测试树莓派摄像头
查看接入的第一个摄像头画面:

sudo raspivid -t 0 -cs 0

查看接入的第二个摄像头画面:

sudo raspivid -t 0 -cs 1


新版本(Bullseye)

如果使用最新的树莓派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
dtoverlay=imx519,cam0

#然后重启
reboot

#打开摄像头
libcamera-hello -t 0
或者
libcamera-hello


#其他部分指令:
#检查摄像头是否被检测到
libcamera-hello --list-cameras

#打开对应的摄像头,预览5秒
libcamera-hello  --camera 1
libcamera-hello  --camera 0

#拍摄照片
libcamera-jpeg -o test.jpg

#拍摄视频
libcamera-vid -t 10000 -o test.h264

#可以添加 --camera 来指定摄像头
#-t <duration> 选项允许用户选择窗口显示多长时间,单位毫秒

更多指令点击我

  • 注意:如果使用 DSI 接口显示将会有一个HDMI是禁用的,即使只是编译相应的文件而不连接 DSI 屏幕。
  • 两个HDMI任意连接一个是可以输出图像,不限于那个HDMI,如果连接的两个HDMI屏幕那么只有HDMI0有图像输出
  • 如果要启用 两个HDMI,请使用以下命令删除 dt-blob.bin 文件:
sudo rm -rf /boot/dt-blob.bin
  • 然后重启即可

参考树莓派手册



Openwrt

Openwrt具有高自定义以可扩展性能,Openwrt目前越来越受欢迎,相对于常用的无线路由器,openwrt可改固件完全可以让我们根据自己的需求自定义路由器功能,例如可以做单臂路由、自定义路由策略、qos等、内网穿透等。
注意:Openwrt系统在使用过程中出现任何问题,一律不提供任何技术支持,只提供下面的教程和镜像,不在额外提供其他除硬件之外的任何技术支持

镜像

如果使用的地板没有USB3.0,只有USB 2.0 ,并且使用板子USB2.0 无法工作
尝试在config.txt中结尾添加"otg_mode=1 " 即可

编译好没有配置

链接:https://pan.baidu.com/s/1uLJl1SScC_D2xEEQhKK0vw 提取码:yoap

配置好的

链接:https://pan.baidu.com/s/1-yOPeeRxw16kKE_8NFkkcw 提取码:zt70

配置

上面配置的openwrt镜像支持CM4板载wifi,以及RTL8153的驱动。可以把CM4打造成智能路由器,
下面就交大家如何安装Openwrt到树莓派上,实现无线路由器功能,使得局域网内的设备通过无线路由器上网,实现局域网的智能管理。整体的网络拓扑如下所示。


正确开机之后,登陆系统:
电脑接入ETH0接口,然后直接ssh远程登录或者网页登录
配置好的系统默认IP 是:192.168.14.1
没有配置的系统默认IP 是:192.168.1.1
账号:root 没有密码


CM4_Openwrt 教程
树莓派4B_Openwrt 教程

如果觉得网口不够觉得烧录可以购买USB 3.2 Gen1 TO Gigabit ETH RTL8153 扩展网口,如果有ETH/USB HUB HAT RTL8152 也是可以扩展百兆网口也是支持的.