CM4-NVME-NAS-BOX

来自Waveshare Wiki
跳转至: 导航搜索
CM4-NVME-NAS-BOX
CM4-NVME-NAS-BOX
{{{name2}}}
{{{name3}}}
板载接口
ETH USB 3.0 HDMI PCIE

说明

产品概述

CM4-NVME-NAS-BOX是一体主机,主要设计用于家庭环境或小型家庭办公室,但不限于这些场景。这是一个简单易用的开箱即用解决方案,无需网络和存储系统的专家级知识,并且板载红外、音频等模块。

使用注意事项

  1. 禁止带电时拔插除USB之外的任何设备
  2. Type C 接口可以用作供电也可以用作USB SLAVE 接口烧录镜像。
  3. 为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
  4. CM4在正常使用时,需要为CM4 提供5V 2A 或者更高的供电。否则可能出现自动关机,降频等等问题。
  5. 模块没有带任何保护,请勿短路电源。
  6. USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host

NAS使用及安装教程

点击查看CM4安装NAS系统及使用方式


USB2.0

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的)。
CM4 Burn EMMC 12.png



音频

音频接口使用USB音频,支持播放和录音,立体声编解码,支持带麦克风的耳机,耳麦二合一。
检查USB设备: lsusb

pi@CM4-NVME-NAS-BASE:~ $ lsusb 
Bus 003 Device 002: ID 0c76:161f JMTek, LLC.

注: 如果识别到不到音频,可能是USB2.0功能没有开启,需要先开启USB2.0 然后才可以识别到

检查播放设备:aplay -l

pi@CM4-NVME-NAS-BASE:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


检查录音设备:arecord -l

pi@CM4-NVME-NAS-BASE:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


录播测试:sudo arecord -f S32_LE -Dplughw:1,0 | aplay -Dplughw:1,0

pi@CM4-NVME-NAS-BASE:~ $ sudo arecord  -f S32_LE  -Dplughw:1,0 | aplay -Dplughw:1,0
xcb_connection_has_error() returned true
xcb_connection_has_error() returned true
Recording WAVE 'stdin' : Signed 32 bit Little Endian, Rate 8000 Hz, Mono
Playing WAVE 'stdin' : Signed 32 bit Little Endian, Rate 8000 Hz, Mono


注意: 录播测试命令不唯一,需要用户根据实际设备号来修改命令,其中 前面"-Dplughw:1,0" 表示为录制 声卡1 设备0(arecord -l 中可以看到对应声卡和设备),后面"aplay -Dplughw:1,0"表示为播放 声卡1 设备0(aplay -l 中可以看到对应声卡和设备)

调节音量:sudo alsamixer
CM4-NVME-NAS-BOX-1.png
F6:选择声卡

预留焊盘(无焊接)
分别是(从上往下):

音量+
音量-
播放暂停

CM4-NVME-NAS-BOX-3.png

PCIE

PCIE 扩展图
CM4-NVME-NAS-BOX-4.jpg
检查设备:lspci

pi@CM4-NVME-NAS-BASE:~ $ lspci
00:00.0 PCI bridge: Broadcom Limited Device 2711 (rev 20)
01:00.0 PCI bridge: ASMedia Technology Inc. ASM1184e PCIe Switch Port
02:01.0 PCI bridge: ASMedia Technology Inc. ASM1184e PCIe Switch Port
02:03.0 PCI bridge: ASMedia Technology Inc. ASM1184e PCIe Switch Port
02:05.0 PCI bridge: ASMedia Technology Inc. ASM1184e PCIe Switch Port
02:07.0 PCI bridge: ASMedia Technology Inc. ASM1184e PCIe Switch Port
03:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

以上是未连接任何NVME设备,如果连接NVME设备将会多输出对应的设备

扩展千兆网口

板载两个千兆网卡其中ETH0为原生网卡,ETH1是扩展网卡

  • 新版本的树莓派系统内核集成了RTL8111H的驱动,如果找不到网卡可以尝试升级软件包
sudo apt update
sudo apt upgrade
  • 如果使用的其他版本的系统,请安装驱动程序
wget https://www.waveshare.net/w/upload/e/ee/CM4-DUAL-ETH-MINI-Example.zip
unzip CM4-DUAL-ETH-MINI-Example.zip -d ./CM4-DUAL-ETH-MINI-Example
cd CM4-DUAL-ETH-MINI-Example/Driver/
tar vjxf r8168-8.050.03.tar.bz2
cd r8168-8.050.03
sudo ./autorun.sh
  • (可选)如果自己编译内核,可选用以下选项以加载驱动
Device Drivers
 > Network device support
   > Ethernet driver support
     > Realtek devices
       > Realtek 8169/8168/8101/8125 ethernet support

RTC

RTC (PCF85063a) 在i2c-1 上,地址是 0x51(7位地址)

RTC电池座型号CR1220(默认无电池)

sudo nano /boot/config.txt
 #在最后添加
dtparam=i2c_arm=on
 dtoverlay=i2c-rtc,pcf85063a
 #在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

4G

接口位置在背面MINI PCIE 接口,连接SIM7600G-H-PCIE

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

如果连接模块lsusb识别为ID 1e0e:9018

Bus 001 Device 004: ID 1e0e:9018 Qualcomm / Option

但是没有 /dev/ttyUSB2 设备号,执行

sudo modprobe option
sudo sh -c 'echo "1e0e 9018" > /sys/bus/usb-serial/drivers/option1/new_id'


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模组指令通用

命令 说明 返回值
AT AT测试指令 OK
ATE ATE1设置回显
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
更多详细使用参考:SIM7600X 4G

CSI

配置文件

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
  • 然后重启即可

参考树莓派手册


再连接摄像头:
1: 确保断电状态下连接
2: 连接电源
3: 等待几秒后屏幕启动
4: 如果无法启动,检查/boot/dt-blob.bin 是否存在,如果存在再次重启即可。
5:摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。

测试拍照:

raspistill -o image.jpg

测试录像:

raspivid -o video.h264 -t 10000

其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。


参考:CSI相机


红外

红外接收管型号:LFN LF0038K
连接GPOI18管脚
参考例程


售后


联系人:彭工
EMAIL:2851966006@qq.com
电话:0755-83040712
QQ:2851966006
微信:扫下方二维码添加
Pqy.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证