Banana Pi BPI-CM5 Pro 是一款基于 Rockchip RK3576 第二代 8 nm 高性能 AIoT 平台的计算模块。它集成四核 Cortex-A72(2.2 GHz)和四核 Cortex-A53(1.8 GHz)、专用 NEON 协处理器及 6 TOPS NPU,最高支持 16 GB 内存;同时支持 4K 视频编解码、丰富的扩展接口和多种操作系统。
| Rockchip RK3576设计 香蕉派 BPI-CM5 Pro AI计算机模块设计 |
电源
系统安装 (选择一个)
eMMC 启动
USB Type-C 数据线:通过 Type-C 接口将镜像写入 CM5 套件的 eMMC;使用时连接 CM5 套件与电脑。
MicroSD/TF 卡启动
MicroSD/TF 卡:Class 10 或更高等级、容量至少为 8 GB 的 SDHC 卡,以及一个读卡器。
以下高速 TF 卡已经 ArmSoM 团队测试验证:
SanDisk 32 GB TF(MicroSD)卡(推荐开发使用)
SanDisk 32 GB TF(MicroSD)行车记录仪/监控专用存储卡(推荐长期运行使用)
闪迪 TF 8G Class10 microSD
闪迪 TF 128G Class10 microSD XC TF 128G 48MB/S
CM5 套件既可作为交互式桌面计算机,也可作为只能通过网络访问的无显示器主机。若采用无显示器方式,请在首次安装系统时配置主机名、用户账户、网络连接和 SSH。若要直接操作 CM5 套件,还需要以下配件:
可选配件
键盘和鼠标
HDMI 显示器和 HDMI 线缆
以太网线
摄像头模组
对于 4 通道摄像头,推荐使用 camera-module1。
对于 2 通道摄像头,请使用 Raspberry Pi Camera Module v2。
LCD 显示屏
建议使用 Display 10 HD。
音频线,0.8 mm 立式插座。
RTC 电池,0.8 mm 立式插座。
风扇,0.8 mm 立式插座。
电源:支持 12 V 直流适配器,插头内径 2.5 mm
安装镜像时,CM5 Pro 需要配合扩展 I/O 板使用。
下载并安装 Rockchip USB 驱动程序
下载 Rockchip USB 下载工具
该工具默认使用中文。解压后,如需切换为英文,请用记事本等文本编辑器打开 RKDevTool_Release_v2.84/config.ini,文件开头内容如下:
#Language Selection: Selected=1(Chinese); Selected=2(English)
[Language]
Kinds=2
Selected=1
LangPath=Language\
打开 RKDevTool.exe,切换到“升级固件”页面。按“固件”按钮打开需要升级的镜像文件。升级工具显示详细的固件信息。
断开电源适配器,使用 Type-C 数据线连接 BPI-CM5 Pro I/O 板与电脑。
镜像升级支持以下两种 USB 下载模式。
U-Boot USB 下载模式(Loader 模式)
如果开发板此前已烧录可启动的 U-Boot,应使用此模式。
Maskrom USB 下载模式(Maskrom 模式)
按住 RESET 或 Maskrom 按键后接通电源。如果电源已经连接,请按住 Maskrom 键,再按下并松开 RESET 键,最后松开 Maskrom 键。正确安装 RK USB 驱动程序后,电脑会识别设备。
如果设备已连接,下载工具还会显示下载模式。
按“升级”按钮开始升级。
如果升级失败,可先单击“EraseFlash”擦除 eMMC,然后重新升级镜像。
安装镜像时,CM5 Pro 需要配合扩展 I/O 板使用。
| 此方法适用于 Ubuntu 和 Armbian 镜像。 |
使用 Balena Etcher 写入镜像。
Balena Etcher 是 Balena 提供的开源图形化镜像写入工具,可将操作系统镜像写入 SD 卡或 U 盘。
单击“Flash from file”选择镜像。
单击“Select target”选择目标存储设备。
单击“Flash!”开始写入。
将 SD 卡插入 BPI-CM5 Pro I/O 板并连接电源适配器,然后按电源键;如果没有反应,再按一下 RST 键。
| 首次启动桌面版镜像时请连接 HDMI 显示器,并按照桌面向导创建用户。 |
BPI-CM5 Pro 镜像烧录视频:https://www.youtube.com/watch?v=80RULZRRM58
| Debian 镜像使用此方法。 |
将容量至少为 8 GB 的 SD 卡通过读卡器连接到 Windows 电脑。
运行 SD_Firmware_Tool,勾选“SD 卡启动”,选择正确的可移动磁盘和固件镜像,然后单击“创建”并等待写入完成。
| 请准备一张已写入镜像的 SD 卡,以及一个存有镜像文件的 U 盘。 |
将 SD 卡插入 BPI-CM5 Pro I/O 板,连接电源并启动,然后插入 U 盘。
查看存储设备:
lsblk
检查 U 盘是否已挂载(如果已经挂载,可跳过第三步)。
将 U 盘挂载到 /mnt 目录。
sudo mount /dev/sda1 /mnt
cd /mnt
将镜像写入 eMMC:
sudo dd if=bpi-cm5-Pro-xxx.img of=/dev/mmcblk0 bs=10M
断开电源并取出 SD 卡,再次通电后从 eMMC 启动。
| Maskrom:当 Flash 中没有固件时,芯片会进入 Maskrom 模式,可用于首次烧录。在开发调试过程中,如果 Loader 无法正常启动,也可进入 Maskrom 模式烧录固件。 |
| Loader:U-Boot 启动时检测到对应按键被按下,设备便会进入 Loader 模式。此模式支持烧录和升级固件,也可通过工具单独写入某个分区镜像,便于调试。 |
| 请准备一根 Type-C 数据线用于烧录镜像。 |
打开 RKDevTool 烧录工具(Android 使用教程中包含该工具),并使设备进入烧录模式。
断开所有可能为产品供电的电缆,例如电源线和 USB 电缆。
将 Type-C 数据线一端连接设备的 OTG 接口,另一端连接电脑的 USB 接口,然后打开 RKDevTool。
按住 Recovery 键或 Maskrom 键,然后使用 DC 为产品供电。
等待软件提示发现 LOADER 或 Maskrom 设备(如下图所示),然后松开按键。
单击“固件”选择要升级的固件,然后单击“升级”。
提示栏提示升级成功后,重启设备即可完成烧录。
打开 RKDevTool 烧录工具(Android 使用教程中包含该工具),并使设备进入烧录模式。
断开所有可能为产品供电的电缆,例如电源线和 USB 电缆。
将 Type-C 数据线一端连接设备的 OTG 接口,另一端连接电脑的 USB 接口,然后打开 RKDevTool。
按住 Recovery 键或 Maskrom 键,然后使用 DC 为产品供电。
等待软件提示发现 LOADER 或 Maskrom 设备(如下图所示),然后松开按键。
选择“下载镜像”选项卡,然后单击空白单元格以选择要使用的 MiniLoaderAll 和镜像文件。
在“存储”选项中选择目标介质 eMMC,勾选“强制按地址写入”,然后单击“执行”。
等待写入完成,设备会自动重启;工具右侧显示“下载 OK”即表示成功。
首次使用 CM5 套件时,请先熟悉产品的各个硬件接口,以便理解以下内容。
按照下图连接 USB 转 TTL 串口线:
| CM5-IO | 连接 | 串口模块 |
|---|---|---|
GND(引脚 6) |
--→ |
GND |
TX(引脚 8) |
--→ |
RX |
RX(引脚 10) |
--→ |
TX |
1、将网线一端插入 CM5 套件的以太网接口,另一端连接到网络正常的路由器。
2、系统启动后会通过 DHCP 自动为以太网接口分配 IP 地址,无需额外配置。
3、在 CM5 套件的 Linux 系统中使用以下命令查看 IP 地址:
root@armsom-cm5:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c6:9c:b0:7e:2b:1f brd ff:ff:ff:ff:ff:ff permaddr aa:a6:84:1b:0d:21
inet 192.168.10.78/24 brd 192.168.10.255 scope global dynamic noprefixroute enP4p65s0
valid_lft 86221sec preferred_lft 86221sec
inet6 fe80::5bb0:d96f:926d:b334/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether cc:64:1a:33:b5:40 brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether ce:64:1a:33:b5:40 brd ff:ff:ff:ff:ff:ff
BPI-CM5 Pro 套件启动后,可通过以下三种方式查看 IP 地址:
连接 HDMI 显示器并登录系统,在终端中输入 ip a 命令查看 IP 地址。
连接 [调试串口](#Debugging Serial Port),在终端中输入 ip a 命令查看 IP 地址。
如果没有调试串口或 HDMI 显示器,也可通过路由器管理界面查看 CM5 套件以太网接口的 IP 地址。但路由器有时可能不显示该地址;遇到这种情况时,请按以下步骤排查:
首先确认 Linux 系统已正常启动。CM5 套件上的绿灯常亮时,通常表示启动正常。
检查网线是否连接牢固,或更换一根网线。
尝试使用其他路由器,因为遇到了路由器无法正确分配 IP 地址或分配的 IP 地址未显示在路由器上的问题。
如果没有其他可用的路由器,则需连接 HDMI 显示器或使用调试串口查看 IP 地址。
| 请注意,CM5 套件上的 DHCP 自动 IP 分配不需要任何配置。 |
4、使用 ping 工具检查网络连通性。
测试命令如下;按 Ctrl+C 可停止 ping。
root@armsom-cm5:~$ ping www.baidu.com
PING www.a.shifen.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms
BPI-M5 Pro/BPI-M7 提供一个 40 针 GPIO 排针,可兼容市面上的大多数传感器。
从 wiring-armbian 下载 wiringOP 代码:https://github.com/ArmSoM/wiring-armbian
使用 gpio readall 命令查看引脚状态,输出如下图所示:
+------+-----+----------+--------+---+ ArmSoM-Sige7(BPI-M7) +---+--------+----------+-----+------+ | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO | +------+-----+----------+--------+---+----++----+---+--------+----------+-----+------+ | | | 3.3V | | | 1 || 2 | | | 5V | | | | 139 | 0 | SDA.7 | IN | 1 | 3 || 4 | | | 5V | | | | 138 | 1 | SCL.7 | IN | 1 | 5 || 6 | | | GND | | | | 115 | 2 | PWM15 | OUT | 0 | 7 || 8 | 1 | ALT10 | GPIO0_B5 | 3 | 13 | | | | GND | | | 9 || 10 | 1 | ALT10 | GPIO0_B6 | 4 | 14 | | 113 | 5 | GPIO3_C1 | IN | 0 | 11 || 12 | 1 | IN | GPIO3_B5 | 6 | 109 | | 111 | 7 | GPIO3_B7 | IN | 0 | 13 || 14 | | | GND | | | | 112 | 8 | GPIO3_C0 | IN | 0 | 15 || 16 | 0 | IN | GPIO3_A4 | 9 | 100 | | | | 3.3V | | | 17 || 18 | 1 | IN | GPIO4_C4 | 10 | 148 | | 42 | 11 | SPI0_TXD | IN | 1 | 19 || 20 | | | GND | | | | 41 | 12 | SPI0_RXD | IN | 1 | 21 || 22 | | | SARADC_IN4 | | | | 43 | 14 | SPI0_CLK | IN | 1 | 23 || 24 | 1 | IN | SPI0_CS0 | 15 | 44 | | | | GND | | | 25 || 26 | 1 | IN | SPI0_CS1 | 16 | 45 | | 150 | 17 | GPIO4_C6 | IN | 1 | 27 || 28 | 0 | OUT | GPIO4_C5 | 18 | 149 | | 63 | 19 | GPIO1_D7 | IN | 1 | 29 || 30 | | | GND | | | | 47 | 20 | GPIO1_B7 | IN | 1 | 31 || 32 | 0 | IN | GPIO3_C2 | 21 | 114 | | 103 | 22 | GPIO3_A7 | IN | 1 | 33 || 34 | | | GND | | | | 110 | 23 | GPIO3_B6 | IN | 0 | 35 || 36 | 0 | IN | GPIO3_B1 | 24 | 105 | | 0 | 25 | GPIO0_A0 | IN | 1 | 37 || 38 | 0 | IN | GPIO3_B2 | 26 | 106 | | | | GND | | | 39 || 40 | 1 | IN | GPIO3_B3 | 27 | 107 | +------+-----+----------+--------+---+----++----+---+--------+----------+-----+------+ | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO | +------+-----+----------+--------+---+ ArmSoM-Sige7(BPI-M7) +---+--------+----------+-----+------+
将 GPIO 引脚设为输出模式。第三个参数应填写该引脚对应的 wPi 编号。
root@armsom-sige7:~/wiring-armbian# gpio mode 2 out
设置 GPIO 引脚输出低电平。设置完毕后,可以用万用表测量该引脚上的电压;如果读数为0V,则低电平设置成功。
root@armsom-sige7:~/wiring-armbian# gpio write 2 0
设置 GPIO 引脚输出高电平。设置完毕后,可以用万用表测量该引脚上的电压;如果读取到3.3V,则高电平设置成功。
root@armsom-sige7:~/wiring-armbian# gpio write 2 1
其他引脚的设置方法相同,只需将 wPi 编号改为对应引脚的编号。
BPI-M5 Pro 配有绿色和红色两个用户 LED。
绿色用户 LED 默认常亮,表示内核正在运行。
红色用户 LED 默认熄灭,可由用户控制。
用户可以通过命令进行控制:
armsom@armsom-sige5:/# sudo su
armsom@armsom-sige5:/# echo timer > /sys/class/leds/red/trigger
armsom@armsom-sige5:/# echo activity > /sys/class/leds/red/trigger
== WiFi
BPI-CM5 Pro 套件配有板载 WiFi 模块,无需外接无线网卡,并使用标准第四代天线。
=== 在服务器版镜像中通过命令行连接 WiFi
1、首先登录 Linux 系统,可使用以下三种方式之一:
* CM5 套件已连接网线时,可通过 SSH 远程登录。
* CM5 套件已连接调试串口时,可通过串口终端登录。
* CM5 套件已连接 HDMI 显示器时,可使用屏幕上显示的终端登录。
2、使用 nmcli dev wifi 命令扫描附近的 WiFi 热点。
```sh
# 1. 启用 WiFi
root@armsom-cm5:/# nmcli r wifi on
# 2. 扫描 WiFi
root@armsom-cm5:/# nmcli dev wifi
# 3. 连接 WiFi 网络
root@armsom-cm5:/# nmcli dev wifi connect "wifi_name" password "wifi_password"
3、使用 nmcli 命令连接扫描到的 WiFi 网络:
将 wifi_name 替换为要连接的 WiFi 热点名称。
将 wifi_password 替换为该热点的密码。
root@armsom-cm5:~$ nmcli dev wifi connect "wifi_name" password "wifi_password"
Device 'wlan0' successfully activated with "wlan0b6d10bba-e1d5-4b6d-a17f-7d5ab44bbb6f".
4、使用 ip addr show wlan0 命令查看 WiFi 连接的 IP 地址。
root@armsom-cm5:~$ ip addr show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:2d:28:5a:52:6a brd ff:ff:ff:ff:ff:ff
inet 192.168.10.9/24 brd 192.168.10.255 scope global dynamic noprefixroute wlan0
valid_lft 86321sec preferred_lft 86321sec
inet6 fe80::850d:3119:e0:afa3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5、使用 ping 命令测试 WiFi 网络连通性;按 Ctrl+C 可停止测试。
root@armsom-cm5:~$ ping www.baidu.com
PING www.a.shifen.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms
1、登录 Linux 系统,可使用以下三种方式之一:
CM5 套件已连接网线时,可通过 SSH 远程登录。
CM5 套件已连接调试串口时,可通过串口终端登录;请使用 MobaXterm,因为 Minicom 无法显示图形界面。
CM5 套件已连接 HDMI 显示器时,可使用屏幕上显示的终端登录。
2、在命令行中输入 nmtui,打开 WiFi 连接界面。
root@armsom-cm5:~$ nmtui
3、选择“Activate a connection”,然后按 Enter 键。
4、选择要连接的 WiFi 热点并输入密码。连接成功后,该网络旁会显示星号(*)。
5、使用 ip addr show wlan0 命令查看 WiFi 连接的 IP 地址。
root@armsom-cm5:~$ ip addr show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:2d:28:5a:52:6a brd ff:ff:ff:ff:ff:ff
inet 192.168.10.9/24 brd 192.168.10.255 scope global dynamic noprefixroute wlan0
valid_lft 86316sec preferred_lft 86316sec
inet6 fe80::a422:3494:3147:92d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
6、使用 ping 命令测试 WiFi 网络连通性;按 Ctrl+C 可停止测试。
root@armsom-cm5:~$ ping www.baidu.com
PING www.a.shifen.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: icmp_seq=0 ttl=53 time=8.370 ms
64 bytes from 183.2.172.185: icmp_seq=1 ttl=53 time=8.917 ms
64 bytes from 183.2.172.185: icmp_seq=2 ttl=53 time=8.511 ms
64 bytes from 183.2.172.185: icmp_seq=3 ttl=53 time=8.673 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 8.370/8.618/8.917/0.203 ms
# 1. 激活蓝牙
root@armsom-cm5:/# service bluetooth start
# 2. 进入 bluetoothctl
root@armsom-cm5:/# bluetoothctl
# 3. 输入以下命令进行连接
root@armsom-cm5:/# power on
root@armsom-cm5:/# agent on
root@armsom-cm5:/# default-agent
root@armsom-cm5:/# scan on
root@armsom-cm5:/# pair yourDeviceMAC
BPI-CM5 Pro 套件的 HDMI 最高支持 4Kp120。
使用 HDMI 线缆将 CM5 套件连接到 HDMI 显示器。
Linux 系统启动后,如果显示器能正常显示画面,则 HDMI 接口工作正常。
| 许多笔记本电脑虽有 HDMI 接口,但通常只支持输出,不支持 HDMI 输入,因此不能直接显示开发板输出的画面。连接前请确认笔记本电脑支持 HDMI 输入。如果没有画面,还应确认使用的是桌面版系统;服务器版只会显示终端。 |
HDMI 转 VGA 显示测试
1、需要以下配件:
HDMI 转 VGA 适配器
一条 VGA 线和一台支持 VGA 输入的显示器
2、HDMI 转 VGA 显示测试如下图所示:
| 使用 HDMI 转 VGA 显示时,无需在 CM5 套件或 Linux 系统中进行额外配置;只要开发板的 HDMI 输出正常即可工作。如遇问题,请检查 HDMI 转 VGA 适配器、VGA 线和显示器。 |
将 USB 键盘或鼠标插入 CM5 套件的 USB 接口。
将 CM5 套件连接到 HDMI 显示器。
如果键盘或鼠标能正常操作系统,则 USB 接口工作正常(鼠标仅适用于桌面版系统)。
将 U 盘或 USB 移动硬盘插入 CM5 套件的 USB 接口。
运行以下命令;如果输出中出现 sdX 设备,则表示 USB 存储设备已被识别:
root@armsom-cm5:/# cat /proc/partitions | grep "sd*"
major minor #blocks name
8 0 122880000 sda
使用 mount 命令挂载 USB 存储设备,然后即可查看其中的文件:
root@armsom-cm5:/# sudo mount /dev/sda1 /test/
挂载后,使用 df -h 命令查看设备容量和挂载点:
root@armsom-cm5:/test# df -h | grep "sd"
/dev/sda 4.7G 4.7G 0 100% /test
准备一个支持 UVC 协议的 USB 摄像头,并将其插入 CM5 套件的 USB 接口。
使用 v4l2-ctl 命令查看 USB 摄像头的设备节点信息;示例输出为 /dev/video40 和 /dev/video41:
root@armsom-cm5:/# v4l2-ctl --list-devices
Logitech HD Webcam C93 (usb-xhci-hcd.5.auto-1):
/dev/video40
/dev/video41
/dev/media4
在桌面版系统中,可使用 Cheese/V4L2 Test Bench 直接打开 USB 摄像头:
也可使用终端命令打开摄像头预览:
root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! xvimagesink;
拍照命令:
root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=/home/armsom/test.jpg;
录像命令:
gst-launch-1.0 v4l2src num-buffers=512 device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! mpegtsmux ! filesink location=/home/armsom/test.mp4
BPI-CM5 Pro 套件配备一个 M.2 Key M 连接器:
产品背面有一个 M.2 Key M 连接器,板上设有标准 2280 安装孔,可安装 M.2 2280 NVMe SSD。
| 此 M.2 接口不支持 M.2 SATA SSD。 |
root@armsom-cm5:/# mkdir temp
root@armsom-cm5:/# mount /dev/nvme0n1 temp
查看系统中的声卡:
root@armsom-cm5:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipes8388c [rockchip,es8388-codec], device 0: 2a610000.sai-ES8323 HiFi ES8323 HiFi-0 [2a610000.sai-ES8323 HiFi ES8323 HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: rockchipdp0 [rockchip-dp0], device 0: rockchip-dp0 spdif-hifi-0 [rockchip-dp0 spdif-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: rockchiphdmi [rockchip-hdmi], device 0: rockchip-hdmi i2s-hifi-0 [rockchip-hdmi i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
播放音频:
root@armsom-cm5:/# aplay -D plughw:1,0 ./usr/share/sounds/alsa/Front_Right.wav
BPI-CM5 Pro 套件支持使用 0.8 mm 连接器的 5 V 风扇。
风扇默认具有以下五档状态:
| 温度 | 状态 | PWM 速度 |
|---|---|---|
低于 50 °C |
0 |
0 |
50°C-55°C |
1 |
50 |
55°C-60°C |
2 |
100 |
60°C-65°C |
3 |
150 |
65°C-70°C |
4 |
200 |
高于 70 °C |
5 |
250 |
查看当前转速:
root@armsom-cm5:/# cat /sys/class/hwmon/hwmon9/pwm1
CM5 套件提供一个 40 针 GPIO 排针,可兼容市面上的大多数传感器。
CM5 套件配有一个绿色 LED。
绿色用户 LED:默认常亮,表示系统运行正常。
CM5 套件配备 LK8563S RTC 芯片。
首先将 RTC 电池插入 2 针接口,为 RTC 芯片供电。
| RTC 电池应保持连接,并确认系统已经创建 LK8563S RTC 设备。 |
root@armsom-cm5:/# dmesg | grep rtc
[ 3.476710] rtc-hym8563 2-0051: rtc information is valid
[ 3.488534] rtc-hym8563 2-0051: registered as rtc0
[ 3.490109] rtc-hym8563 2-0051: setting system clock to 2024-06-16T09:45:52 UTC (1718531152)
找到 rtc0 后,使用以下命令设置系统时间并同步到 rtc0。
root@armsom-cm5:/# hwclock -r
2023-11-03 10:32:40.461910+00:00
root@armsom-cm5:/# date
2023年11月03日 星期五 10:33:12 UTC
root@armsom-cm5:/# hwclock -w
root@armsom-cm5:/# hwclock -r
root@armsom-cm5:/# poweroff
取出 RTC 电池,等待至少 10 分钟后重新装入并启动设备,检查 RTC 时间是否与系统时钟同步。
root@armsom-cm5:/# hwclock -r
2023-11-03 10:35:40.461910+00:00
root@armsom-cm5:/# date
2023年11月03日 星期五 10:36:01 UTC
基本命令
// 查看视频节点支持的格式
root@armsom-cm5:/# v4l2-ctl -d /dev/video11 --get-fmt-video
Format Video Capture Multiplanar:
Width/Height : 1920/1080
Pixel Format : 'RG10' (10-bit Bayer RGRG/GBGB)
Field : None
Number of planes : 1
Flags : premultiplied-alpha, 0x000000fe
Colorspace : Default
Transfer Function : Default
YCbCr/HSV Encoding: Unknown (0x000000ff)
Quantization : Default
Plane 0 :
Bytes per Line : 2560
Size Image : 2764800
// 查看拓扑结构
root@armsom-cm5:/# media-ctl -d /dev/media0 -p
此处使用 camera-module1。连接摄像头模块并上电后,查看启动日志:
root@armsom-cm5:/# dmesg | grep ov13850
[ 2.302905] ov13850 5-0010: driver version: 00.01.05
[ 2.302944] ov13850 5-0010: Failed to get power-gpios, maybe no use
[ 2.303067] ov13850 5-0010: supply avdd not found, using dummy regulator
[ 2.303153] ov13850 5-0010: supply dovdd not found, using dummy regulator
[ 2.303186] ov13850 5-0010: supply dvdd not found, using dummy regulator
[ 2.303213] ov13850 5-0010: could not get default pinstate
[ 2.303220] ov13850 5-0010: could not get sleep pinstate
[ 2.308532] ov13850 5-0010: Detected OV00d850 sensor, REVISION 0xb2
[ 2.332058] ov13850 5-0010: Consider updating driver ov13850 to match on endpoints
[ 2.332084] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_ov13850 5-0010:bus type 5
使用 v4l2-ctl 捕获图像
// MIPI-CSI1
root@armsom-cm5:/# v4l2-ctl -d /dev/video22 --set-selection=target=crop,top=0,left=0,width=2112,height=1568 --set-fmt-video=width=2112,height=1568,pixelformat=NV12 --stream-mmap=3 --stream-to=/nv12.bin --stream-count=1 --stream-poll
使用 gst-launch-1.0 显示视频
// MIPI-CSI1
root@armsom-cm5:/# gst-launch-1.0 v4l2src device=/dev/video22 ! video/x-raw,format=NV12,width=2112,height=1568, framerate=30/1 ! xvimagesink
此处使用 Raspberry Pi Camera Module 2。连接摄像头模块并上电后,查看启动日志:
root@armsom-cm5:/# dmesg | grep imx219
[ 4.049680] imx219 4-0010: driver version: 00.01.02
[ 4.074430] imx219 4-0010: Model ID 0x0219, Lot ID 0x258b89, Chip ID 0x056c
[ 4.074460] imx219 4-0010: Consider updating driver imx219 to match on endpoints
[ 4.074477] rock
chip-csi2-dphy csi2-dphy4: dphy4 matches m01_b_imx219 4-0010:bus type 5
使用 v4l2-ctl 捕获图像
root@armsom-cm5:/# v4l2-ctl -d /dev/video11 --set-selection=target=crop,top=0,left=0,width=2112,height=1568 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap=3 --stream-to=/nv12.bin --stream-count=1 --stream-poll
使用 gst-launch-1.0 显示视频
root@armsom-cm5:/# sudo apt-get update
root@armsom-cm5:/# sudo apt-get install gstreamer1.0*
root@armsom-cm5:/# gst-launch-1.0 v4l2src ! 'video/x-raw, format=NV12, width=1920, height=1080' ! autovideosink
BPI-CM5 Pro 套件的 MIPI DSI 最高支持 2K@60Hz 分辨率。
按照下图连接排线:
配置 10.1 英寸 MIPI LCD 屏幕:
Linux 镜像默认未启用 MIPI LCD 屏幕配置,使用前需要手动启用。
使用 nano 打开 /boot/armbianEnv.txt 文件:
sudo nano /boot/armbianEnv.txt
在文件中查找或添加“overlays=”配置项。
// 根据所用产品选择
overlays=armsom-cm5-io-display-10hd // cm5-kit
快捷键:按 Ctrl+S 保存,按 Ctrl+X 退出。
编辑完成后重启设备,使 Display 10 HD 的 Overlay 设置生效。