4 软件操作指引

4.1 USB

4.1.1 查看USB设备信息

显示USB设备

lsusb

显示信息如下:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1a2c:2d23 China Resource Semico Co., Ltd Keyboard
Bus 001 Device 004: ID 30fa:0300  USB OPTICAL MOUSE
Bus 001 Device 003: ID 0424:9e00 Microchip Technology, Inc. (formerly SMSC) LAN9500A/LAN9500Ai
Bus 001 Device 002: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

4.1.2 USB存储设备挂载

您可以将外部硬盘、SSD或U盘连接到Raspberry Pi上的任何USB端口,并挂载文件系统以访问存储在其上的数据。

默认情况下,您的Raspberry Pi会在/media/pi/HARD-DRIVE-LABEL位置自动挂载一些流行的文件系统,如FAT、NTFS和HFS+。

对于一般情况,您可以直接使用如下命令挂载或卸载外置存储设备。

lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1 29.1G  0 disk
└─sda1        8:1    1 29.1G  0 part
mmcblk0     179:0    0 59.5G  0 disk
├─mmcblk0p1 179:1    0  256M  0 part /boot
└─mmcblk0p2 179:2    0 59.2G  0 part /

使用mount命令来挂载sda1到/mnt目录,挂载完成后用户可以直接在/mnt目录下操作存储设备。

sudo mount /dev/sda1 /mnt

使用完成以后使用命令umount卸载存储设备。


sudo umount /mnt

4.1.2.1 挂载

您可以将存储设备安装在特定的文件夹位置。通常在/mnt文件夹中进行,例如/mnt/mydisk。请注意,文件夹必须是空的。

  1. 将存储设备插入设备上的USB端口。

  2. 使用以下命令列出Raspberry Pi上的所有磁盘分区:

sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL

Raspberry Pi使用挂载点/和/boot。您的存储设备将显示在此列表中,以及任何其他连接的存储设备。

  1. 使用“大小”、“标签”和“型号”列来标识指向您的存储设备的磁盘分区的名称。例如,sda1。

  2. FSTYPE列包含文件系统类型。如果您的存储设备使用exFAT文件系统,请安装exFAT驱动程序:

sudo apt update
sudo apt install exfat-fuse
  1. 如果您的存储设备使用NTFS文件系统,您将对其拥有只读访问权限。如果要写入设备,可以安装ntfs-3g驱动程序:
sudo apt update
sudo apt install ntfs-3g
  1. 运行以下命令获取磁盘分区的位置:
sudo blkid

比如显示, /dev/sda1

  1. 创建一个目标文件夹作为存储设备的装载点。本例中使用的挂载点名称是mydisk。您可以指定自己选择的名称:
sudo mkdir /mnt/mydisk
  1. 在您创建的挂载点挂载存储设备:
sudo mount /dev/sda1 /mnt/mydisk
  1. 通过列出以下内容来验证存储设备是否已成功挂载:
ls /mnt/mydisk

警告

无桌面系统将不会自动挂载外置存储设备。

4.1.2.2 卸载

当设备关闭时,系统会负责卸载存储设备,以便安全地将其拔出。如果您想要手动卸载设备,可以使用以下命令:

sudo umount /mnt/mydisk

如果您收到“目标繁忙”的错误,这意味着存储设备未卸载。如果没有显示错误,您现在可以安全地拔出设备。

4.1.2.3 命令行中设置自动挂载

可以通过修改fstab设置自动挂载。

  1. 首先需要获取磁盘UUID
sudo blkid
  1. 找到挂载设备的UUID,例如5C24-1453
  2. 打开fstab文件
sudo nano /etc/fstab
  1. 添加以下内容到fstab文件中
UUID=5C24-1453 /mnt/mydisk fstype defaults,auto,users,rw,nofail 0 0

将fstype替换为您的文件系统的类型,您可以在上面的“挂载存储设备”的步骤2中找到,例如:ntfs。

  1. 如果文件系统类型是FAT或NTFS,则在nofail之后立即添加umask = 000这将允许所有用户对存储设备上的每个文件进行完全读/写访问。

关于更多fstab命令的信息可以使用 man fstab来查看。

4.2 以太网配置

4.2.1 千兆以太网

ED-IPC2000系列上有一路自适应 10 / 100 / 1000Mbsp 以太网接口,与DC电源座子相邻,建议使用Cat6(六类)网线配合使用。系统默认使用DHCP自动获取IP。

4.2.2 使用NetworkManager工具配置

如果使用桌面版镜像,推荐安装NetworkManager插件network-manager-gnome,安装后即可通过桌面图标直接配置网络。

sudo apt update
sudo apt install network-manager-gnome
sudo reboot

提示

若使用我们的出厂镜像,默认已安装network-manager工具及network-manager-gnome插件,默认已自动启动NetworkManager服务并禁用了dhcpcd服务。

安装完成后,在系统桌面状态栏会看到NetworkManager图标image-20241211135618420

右键单击NetworkManager图标,选择Edit Connections。

image-20241211135734774

选中要修改的连接名称,然后点击下方齿轮。

image-20241211135934698

切换至IPv4 Settings配置页,如果要设置静态IP,Method选择Manual,将Addresses您要配置的IP,如果要设置为动态获取IP,只需配置Method为Automatic(DHCP),重启设备后即可。

image-20241211135955570

如果使用Lite版系统,可以通过命令行方式进行配置。

如果希望使用命令为设备设置静态IP,则可以参考以下方法。

设置静态IP

sudo nmcli connection modify <name> ipv4.addresses 192.168.1.101/24 ipv4.method manual

设置网关地址

sudo nmcli connection modify <name> ipv4.gateway 192.168.1.1

设置动态获取IP

sudo nmcli connection modify <name> ipv4.method auto

4.2.3 使用dhcpcd 工具配置

Raspberry Pi官方系统默认使用的dhcpcd作为网络管理工具。

如果您使用的我们提供的出厂镜像并希望从NetworkManager切换为dhcpcd网络管理工具,首先需要停止并禁用NetworkManager服务并启用dhcpcd服务。

sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl enable dhcpcd
sudo reboot

系统重启后即可使用dhcpcd工具。

设置静态IP通过修改/etc/dhcpcd.conf来设置,示例设置eth0,用户可以根据自己的不同需要设置wlan0等网络接口。

interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

4.3 WIFI(选配)

客户可选购带WiFi版本的ED-IPC2000系列, 支持 2.4 GHz,5.0 GHz IEEE 802.11 b/g/n/ac 双频WiFi。我们提供双频外置天线,已与Raspberry Pi CM4一起通过无线认证。

4.3.1 使能WIFI功能

WiFi功能默认是屏蔽的, 您首先需要设置国家区域后才可使用。若使用桌面版系统, 可参考章节:初始化设置配置WiFi,若使用Lite版系统,请使用 raspi-config 设置WiFi国家区域,参考文档:"Raspberry Pi官方文档 - Using the Command Line"

4.3.1.1 使用Network Manager工具配置

安装桌面插件后可以直接通过桌面图标连接到WIFI网络。

也可以使用命令行方式,执行如下命令:

扫描附近的WIFI

sudo nmcli device wifi

连接带密码的WIFI

sudo nmcli device wifi connect <SSID> password <password>

设置WIFI自动连接

sudo nmcli connection modify <name> connection.autoconnect yes 

4.3.1.2 使用dhcpcd工具配置

Raspberry Pi官方系统默认使用的dhcpcd作为网络管理工具。

sudo raspi-config 
  1. 选择1 System Options
  2. 选择S1 Wireless LAN
  3. 在Select the country in which the Pi is to be used 窗口中选择您的国家,然后选择OK,此提示仅在第一次设置WIFI时出现
  4. Please enter SSID,输入WIFI SSID名称
  5. Please enter passphrase. Leave it empty if none,输入密码,然后重启设备即可

4.3.2 外置天线/内置PCB天线

可以通过软件配置, 来切换使用外置天线还是内置PCB天线. 考虑到兼容性和最广泛的支持性, 出厂默认系统是选用的内置PCB天线, 若客户选配带外壳的整机, 并配置了外置天线, 可以通过以下操作来切换:

编辑/boot/config.txt

sudo nano /boot/config.txt

选择外置天线,加入

dtparam=ant2

然后重启设备后生效。

4.3.3 AP及桥接模式

ED-IPC2000系列上的WiFi还支持配置为:AP路由器模式、桥接模式或者混合模式。

请参考开源项目github: garywill/linux-routeropen in new window了解如何配置。

4.4 蓝牙(选配)

ED-IPC2000系列可选配是否集成蓝牙功能, 如果带蓝牙的话, 此功能默认是开启的。

可使用bluetoothctl扫描,配对,连接蓝牙设备,请参考ArchLinux-Wiki-Bluetoothopen in new window指引配置和使用蓝牙。

4.4.1 基本用法

扫描:

bluetoothctl scan on/off

发现:

bluetoothctl discoverable on/off

信任设备:

bluetoothctl trust [MAC]

连接设备:

bluetoothctl connect [MAC]

断开设备:

bluetoothctl disconnect [MAC]

4.4.2 示例

进入bluetootch shell

sudo bluetoothctl

使能Bluetooth

power on

扫描设备

scan on

Discovery started
[CHG] Controller B8:27:EB:85:04:8B Discovering: yes
[NEW] Device 4A:39:CF:30:B3:11 4A-39-CF-30-B3-11

查找开启的蓝牙设备名称,这里测试开启的蓝牙设备名称是test

devices

Device 6A:7F:60:69:8B:79 6A-7F-60-69-8B-79
Device 67:64:5A:A3:2C:A2 67-64-5A-A3-2C-A2
Device 56:6A:59:B0:1C:D1 Lefun
Device 34:12:F9:91:FF:68 test

配对test设备

pair 34:12:F9:91:FF:68
Attempting to pair with 34:12:F9:91:FF:68
[CHG] Device 34:12:F9:91:FF:68 ServicesResolved: yes
[CHG] Device 34:12:F9:91:FF:68 Paired: yes
Pairing successful

连接蓝牙

trust 34:12:F9:91:FF:68
[CHG] Device 34:12:F9:91:FF:68 Trusted: yes
Changing 34:12:F9:91:FF:68 trust succeeded

4.5 RTC

ED-IPC2000系列上集成有RTC,对于国内销售的版本,我们出货会默认附带安装CR1220纽扣电池(RTC备份电源)。这样,可以保障系统有一个不间断的可靠的时钟,不受设备下电等因素影响。

默认出货系统镜像,会集成我们编写的RTC自动同步服务,客人无需设置,即可自动同步时钟,可无感使用RTC。大概的原理是:

  • 系统开机时,服务自动从RTC读出保存的时间,并同步到系统时间。
  • 若有连接互联网,系统会自动从NTP服务器同步时间, 使用互联网时间更新本地系统时间。
  • 系统关机时,服务自动把系统时间写入RTC, 更新RTC的时间。
  • 因为有安装纽扣电池,尽管ED-IPC2000系列下电,但是RTC仍在工作计时。

这样,可以保证我们的时间是准确可靠的。

警告

若是第一次开机,因为RTC中无有效时间,可能会同步失败,直接重启即可。重启的时候,会把系统时间写入RTC,后续正常使用。

若您不想用此服务, 可手动关闭:

sudo systemctl disable rtc
sudo reboot

重新使能此服务:

sudo systemctl enable rtc
sudo reboot 

手动读取RTC的时间:

sudo hwclock -r2022-11-09 07:07:30.478488+00:00

手动同步RTC时间到系统:

sudo hwclock -s

把系统时间写入RTC:

sudo hwclock -w 

问题排查:

请首先看是否有rtc设备(/dev/rtc0)加载:

ls /dev/rtc0

如果没有,可能是您使用了官方标准系统,但是没有安装我们的BSP包,请参考章节: "基于原版Raspberry Pi OS在线安装BSP",另外, 您同样需要安装 ed-rtc包使能RTC自动同步功能.

其他可能的检查点:

  • CR1220纽扣电池有没有安装
  • NTP网络时间协议, 需要连接互联网才可自动同步时间, 另外, 需要开放端口(UDP, 123), 否则同步失败

4.6 LED指示

ED-IPC2000系列有两个指示灯,红色LED与CM4的LED_PI_nPWR管脚相连,为电源指示灯,绿色LED与CM4的LED_PI_nACTIVITY管脚相连,为运行状态指示灯。

4.7 Buzzer

蜂鸣器使用GPIO6来控制。

打开蜂鸣器:

raspi-gpio set 6 op dh

关闭蜂鸣器:

raspi-gpio set 6 op dl

4.8 加密芯片

安装atecc工具: atecc-utilopen in new window

关于更多加密芯片用法请参考链接中README文档。

4.9 摄像头(选配)

如果设备安装了摄像头则可以使用命令:

检查摄像头

libcamera-hello 

摄像头拍照

libcamera-jpeg -o test.jpg 

录制10s的视频

libcamera-vid -t 10000 -o test.h264

播放刚刚录制的视频

vlc test.h264

提示

仅ED-IPC2020才会安装摄像头。

4.10 音频(选配)

提示

仅ED-IPC2020包含此接口。

4.10.1 查看声卡

用户可以使用以下命令来查看声卡设备:

aplay -l

4.10.2 录音

用户可以使用以下命令录音:

arecord -fcd test.mp3

当然也支持用户指定声卡设备录音:

arecord -fcd -Dhw:<声卡标号> test.mp3

对于arecord的更多用法,用户可以用以下命令查看:

man arecord

4.10.3 放音

用户可以使用以下命令播放声音:

aplay test.mp3

当然也支持用户指定声卡设备录音:

aplay -Dhw:<声卡标号> test.mp3

对于aplay的更多用法,用户可以用一下命令查看:

man aplay 

4.11 串口通信

4.11. 1 安装picocom 工具

picocom串口终端可以在Linux环境下十分方便的进行串口调试。

首先安装picocom

sudo apt-get install picocom

您可以先键入Ctrl+a,然后键入Ctrl+h以查看可用命令。

*** Picocom commands (all prefixed by [C-a])

*** [C-x] : Exit picocom
*** [C-q] : Exit without reseting serial port
*** [C-b] : Set baudrate
*** [C-u] : Increase baudrate (baud-up)
*** [C-d] : Decrease baudrate (baud-down)
*** [C-i] : Change number of databits
*** [C-j] : Change number of stopbits
*** [C-f] : Change flow-control mode
*** [C-y] : Change parity mode
*** [C-p] : Pulse DTR
*** [C-t] : Toggle DTR
*** [C-g] : Toggle RTS
*** [C-|] : Send break
*** [C-c] : Toggle local echo
*** [C-w] : Write hex
*** [C-s] : Send file
*** [C-r] : Receive file
*** [C-v] : Show port settings
*** [C-h] : Show this message

先键入Ctrl+a,然后键入Ctrl+c以切换本地回显模式。

先键入Ctrl+a,然后键入Ctrl+q即可退出picocom。

4.11.2 Debug UART

image-20241211144455058

ED-IPC2000系列40Pin中拥有一个调试串口,GPIO14 GPIO15分别为读写引脚。

此外用户还需要使用raspi-config工具设置为

  1. 打开 raspi-config: sudo raspi-config.
  2. 选择 option 3 - Interface Options.
  3. 选择 option P6 - Serial Port.
  4. 提示 Would you like a login shell to be accessible over serial? 回答 'Yes'
  5. 退出 raspi-config
  6. 重启设备生效: sudo reboot

要启用调试串口,需要修改config.txt配置文件。

sudo nano /boot/config.txt

在最后面添加

[all]enable_uart=1

调试串口默认波特率为115200,您可以通过cmdline.txt文件查看当前调试串口波特率

sudo nano /boot/cmdline.tx

4.12 报错信息

错误信息解释
GPIO-x occupiedGPIOx被占用,请确认是否有GPIO冲突。
Reuse i2c:x failedi2c引脚已经被使用,无法将对应引脚复用为I2C。
Unable to reuse i2c x – addr xI2C地址已经被占用,无法再将设备设置为x地址。
Not found i2c x无法找到/dev/i2c-x,可能是I2C功能未打开或I2C引脚被占用无法设置为I2C。
Uart x cannot reuseUart x 无法复用,可能引脚已经被占用。
GPIO x has already been configuredGPIO x已经被配置,无法再对GPIO x进行配置。
i2c-y 0x{:x} not exist指定挂载在I2c-y总线上地址为x的设备不存在,请检查设备是否存在。
Not found x.dtbo file此问题为dtbo文件缺失,如发现此问题请与我司售后同事联系。
x not contain uuid information此问题为配置信息丢失无法完成自动配置BSP,如发现此问题请与我司售后同事联系。
x not contain product information此问题为配置信息丢失无法完成自动配置BSP,如发现此问题请与我司售后同事联系。