树莓派CM4-DUAL-ETH-4G/5G-BASE 教程

说明

产品概述

我是树莓派计算模块4代的IO板,CM4-DUAL-ETH-4G/5G-BASE是一款可以搭配树莓派 Compute Module 4 使用的底板,板载两路USB3.2,双千兆网口,支持4G/5G模组接入,方便用户使用。

使用注意事项

1:禁止带电时拔插除USB和HDMI之外的任何设备
2:在连接前确认风扇电压,支持5V 和 12V 默认连接12V,切换请修改FAN_VCC的电阻
3:为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
4:CM4在正常使用时,需要为其提供5V 2.5A 或者更加高功率的供电。否则可能出现自动关机,降频等等问题。
5:关于Opwenwrt见使用说明。

产品尺寸

CM4-DUAL-ETH-4G/5G-BASE

Compute_Module 4 核心板

板载资源


标号名称说明
1CM4 连接器适用于 Compute Module 4 的所有版本
240PIN GPIO 接口方便连接各种 HAT 模块
3RJ45 千兆网口双路 RJ45 千兆网口,支持 10/100/1000M 网络接入
ETHERNET 0: CM4 原生网口
ETHERNET 1: USB 扩展网口
4HDMI 接口双路 HDMI 接口,支持双 4K 30fps 输出
5USB 3.2 接口2 路 USB 3.2 Gen1 接口,支持各种 USB 设备插入
6PWR & USB 接口5V DC 供电接口或者 USB 烧录接口
7FAN 接口方便接入散热风扇,支持调速和测速
8CAM 接口双路 MIPI CSI 摄像头接口
94G/5G 模组状态灯STA红灯:模组使能指示灯
NET绿灯:模组运行状态指示灯
10双 LED 灯座红灯:树莓派电源指示灯
绿灯:树莓派工作状态指示灯
11BOOT 开关按钮ON:Compute Module 4 开机引导转移到 USB Type-C 接口上
OFF:Compute Module 4 开机引导为 eMMC 或者 Micro SD 卡
12DISP1 接口MIPI DSI 显示接口
13M.2 B KEY支持接入 4G/5G 或者其他 USB 通道的通信模块
14Nano-SIM 卡座可接入标准 Nano-SIM 卡,用于 4G/3G/2G 上网
15Micro SD 卡接口用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite
16RTC 电池连接座可接入CR2032 纽扣电池
17RTC 中断管脚切换PI-RUN: RTC 触发中断 CM4 重启
GN-EN: RTC 触发中断 CM4 断电
D4: RTC 触发中断 D4 管脚
18IO-VREF 选择CM4 IO 逻辑电压切换 3.3V 或者 1.8V
19FAN 供电选择可选择 5V 或 12V 电压驱动风扇
20RTC/FAN I2C 总线选择SDA0/SCL0: I2C-10 和 CSI/DSI 共用
GPIO3/2: I2C-1 和 40PIN 共用
21系统功能切换BT_DIS: 蓝牙禁用,仅供带天线的 CM4 版本使用
WiFi_DIS: WiFi 禁用,仅供带天线的 CM4 版本使用
WP_DIS: 启动方式切换,仅供不使用 EMMC 启动或 SD 启动的情况下使用
22RTL8153USB 千兆网卡芯片



注意事项

禁止带电时拔插任何设备

PS:如果使用的是Bullseye分支的系统,需要将”apt-get“改成“apt",Bullseye分支的系统只支持Python3。

镜像烧录

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

4G/5G

板子本身不支持4G/5G,需要通过M.2 B KEY接口来接入模组,M.2 B KEY 只有USB3.0 通道,不支持PCIE设备

接入4G/5G 模组 和 SIM卡

如果需要关闭4G/5G 模组,可以使用GPIO6 (BCM编码 6)控制,GPIO6输出高电平关闭模组,GPIO6输出低电平开启模组
关闭或者开启模需要一定时间(大约30秒)

M.2 4G/5G 网卡

M.2 状态灯状态描述:

STANET状态
长亮熄灭关机 或者 正在开机
长亮长亮正在查找网络
长亮闪烁已联网,工作正常
熄灭闪烁/长亮正在关机

在配置前,请确认模块已经开机
5G 参考 [5G配置]

4G配置

sudo apt-get install minicom
sudo minicom -D /dev/ttyUSB2
#输入以下指令:
AT+CUSBPIDSWITCH=9011,1,1
#返回OK 即可
#然后等待网卡重启
#此指令只需要设置一次,下次上电会默认在这个模式下
#如果无法获取USB0网卡执行:
sudo dhclient -v usb0

RNDIS拨号上网请参考: RNDIS拨号上网

正常执行上面之后会识别到USB0网卡(如果你没有连接其他USB网卡)

如果你使用物联网卡,比如移动物联网卡,成功注册网络;但是拨号上网失败,无法ping通,可以尝试用以下AT指令的其中一条选择最优频段:

AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021
AT+CNBP=0x0002000000400180,0x480000000000000000000000000000000000000000000042000001E200000095,0x0000000000000021

AT指令

如果无法连接网络,可以通过指令AT检查状态

sudo apt-get install minicom
sudo minicom -D /dev/ttyUSB2

常用AT指令

下面AT指令4G/5G模组指令通用

命令说明返回值
ATAT测试指令OK
ATEATE1设置回显
ATE0关闭回显
OK
AT+CGMI查询模组制造商OK
AT+CGMM查询模组型号OK
AT+CGSN查询产品序列号OK
AT+CSUB查询模块版本以及芯片OK
AT+CGMR查询固件版本序列号OK
AT+IPREX设置模块硬件串口波特率+IPREX:
OK
AT+CRESET复位模块OK
AT+CSQ网络信号质量查询,返回信号值+CSQ: 17,99
OK
AT+CPIN?查询SIM卡状态,返回READY,表示SIM卡能正常识别+CPIN: READY
AT+COPS?查询当前运营商,正常联网后会返回运营商信息+COPS:
OK
AT+CREG?查询网络注册状态+CREG:
OK
AT+CPSI?查询UE系统信息
AT+CNMP网络模式选择命令:
2:Automatic
13:GSM only
38:LTE only
48 : Any modes but LTE
... ....
OK

更多AT指令参考: AT_Command_V2.00
更多文档参考:SIMCom

RTC FAN

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

使用树莓派系统(2021-05-07-raspios-buster-armhf-full )
注意 使用RTC禁止使用DSI和CSI
如果需要同时使用,将I2C切换到I2C1设备上(右边)

切换之后所有程序或者驱动全部需要修改
例程默认使用I2C10(左边)

如果需要简单使用,或者需要添加到你程序中,参考C和Python例程参考 [点这里]<br\> <br\> 下面是将驱动添加至内核中<br\>

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秒,再转,这是正常现象<br\> 风扇目前没有官方的配置方法,有一个第三方配置方法:https://github.com/neg2led/cm4io-fan<br\> 此方法为第三方发布,不是官方发布,出现任何问题,概不负责!<br\>

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
#下面是对于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默认是关闭的,需要加载对应设备树用于开启,并且使用CSI摄像头与DSI屏幕的时候会占用I2C-10、I2C-11、I2C-0 三个I2C设备
  • 输入一下指令:
sudo apt-get install p7zip-full -y
wget https://www.waveshare.net/w/upload/4/41/CM4_dt_blob.7z
7z x CM4_dt_blob.7z -O./CM4_dt_blob
sudo chmod 777 -R CM4_dt_blob
cd CM4_dt_blob/
#如果使用两个摄像头和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

新版本系统(bullseye)

配置摄像头

  1. 执行如下命令进入编辑/boot/config.txt文件
    sudo nano /boot/config.txt
  2. 屏蔽或者删除掉摄像头自动检测语句

  3. 添加你使用的摄像头的驱动动,这里我以IMX219为例,并且连接上CAM0上,附上适配

    型号CAM0设置语句CAM1设置语句
    OV9281dtoverlay=ov9281,cam0dtoverlay=ov9281,cam1
    IMX290/IMX327dtoverlay=imx290,clock-frequency=37125000,cam0dtoverlay=imx290,clock-frequency=37125000,cam1
    IMX378dtoverlay=imx378,cam0dtoverlay=imx378,cam1
    IMX219dtoverlay=imx219,cam0dtoverlay=imx219,cam1
    IMX477dtoverlay=imx477,cam0dtoverlay=imx477,cam1
    IMX708dtoverlay=imx708,cam0dtoverlay=imx708,cam1
    • 如果使用的是树莓派官方摄像头,且只有一个摄像头接入,无需设置config文件,如果不是官方摄像头,请设置dtoverlay语句,不需要加cam后缀
    • CM4-NANO-只用到CAM0,所以只需要添加一句 dtoverlay=imx219,cam0 即可
  4. 快捷键Ctrl+o保存文件,并回车

  5. 快捷键Ctrl+x退出编辑器
  6. 重启CM4
    sudo reboot
  7. 测试摄像头

    1. 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
      libcamera-hello --list-cameras


    2. 显示摄像头画面到桌面
      libcamera-hello -t
    3. 拍摄照片
      libcamera-jpeg -o test.jpg
    4. 录制一个10s的视频
      libcamera-vid -t 10000 -o test.h264

    其他命令
    检查摄像头是否被检测到

    libcamera-hello --list-cameras
    

    打开对应的摄像头

    libcamera-hello  --camera 1
    libcamera-hello  --camera 0
    

    拍摄照片

    libcamera-jpeg -o test.jpg
    #可以添加 --camera 来指定摄像头
    

    老版本系统(buster)

    配置摄像头

    1. 执行如下命令进入树莓派配置
      sudo raspi-config
    2. 选择Interfacing Options并进入

    3. 选择Camera

    4. 选择开启摄像头接口

    5. 系统提示如下

    6. 回到主界面,选择Finish

    7. 随后重启系统

    测试摄像头

    • 测试拍照:
       raspistill -o image.jpg
    • 测试录像:
       raspivid -o video.h264 -t 10000
      • 其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。

    参考:CSI相机



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 教程

    树莓派OpenWrt入门教程1

    树莓派OpenWrt入门教程2

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

FAQ


问题:使用 i2cdetect -y 10 无法搜索到RTC/FAN控制器的I2C地址怎么办?

a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on

b) 检查/boot/dt-blob.bin 文件是否存在,如果存在无法使用,请删除;



问题:工作温度范围是?

-10°C~75°C



售后

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841