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。请注意,文件夹必须是空的。
将存储设备插入设备上的USB端口。
使用以下命令列出Raspberry Pi上的所有磁盘分区:
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
Raspberry Pi使用挂载点/和/boot。您的存储设备将显示在此列表中,以及任何其他连接的存储设备。
使用“大小”、“标签”和“型号”列来标识指向您的存储设备的磁盘分区的名称。例如,sda1。
FSTYPE列包含文件系统类型。如果您的存储设备使用exFAT文件系统,请安装exFAT驱动程序:
sudo apt update
sudo apt install exfat-fuse
- 如果您的存储设备使用NTFS文件系统,您将对其拥有只读访问权限。如果要写入设备,可以安装ntfs-3g驱动程序:
sudo apt update
sudo apt install ntfs-3g
- 运行以下命令获取磁盘分区的位置:
sudo blkid
比如显示, /dev/sda1
- 创建一个目标文件夹作为存储设备的装载点。本例中使用的挂载点名称是mydisk。您可以指定自己选择的名称:
sudo mkdir /mnt/mydisk
- 在您创建的挂载点挂载存储设备:
sudo mount /dev/sda1 /mnt/mydisk
- 通过列出以下内容来验证存储设备是否已成功挂载:
ls /mnt/mydisk
警告
无桌面系统将不会自动挂载外置存储设备。
4.1.2.2 卸载
当设备关闭时,系统会负责卸载存储设备,以便安全地将其拔出。如果您想要手动卸载设备,可以使用以下命令:
sudo umount /mnt/mydisk
如果您收到“目标繁忙”的错误,这意味着存储设备未卸载。如果没有显示错误,您现在可以安全地拔出设备。
4.1.2.3 命令行中设置自动挂载
可以通过修改fstab设置自动挂载。
- 首先需要获取磁盘UUID
sudo blkid
- 找到挂载设备的UUID,例如5C24-1453
- 打开fstab文件
sudo nano /etc/fstab
- 添加以下内容到fstab文件中
UUID=5C24-1453 /mnt/mydisk fstype defaults,auto,users,rw,nofail 0 0
将fstype替换为您的文件系统的类型,您可以在上面的“挂载存储设备”的步骤2中找到,例如:ntfs。
- 如果文件系统类型是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图标
右键单击NetworkManager图标,选择Edit Connections。
选中要修改的连接名称,然后点击下方齿轮。
切换至IPv4 Settings配置页,如果要设置静态IP,Method选择Manual,将Addresses您要配置的IP,如果要设置为动态获取IP,只需配置Method为Automatic(DHCP),重启设备后即可。
如果使用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 System Options
- 选择S1 Wireless LAN
- 在Select the country in which the Pi is to be used 窗口中选择您的国家,然后选择OK,此提示仅在第一次设置WIFI时出现
- Please enter SSID,输入WIFI SSID名称
- 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-router了解如何配置。
4.4 蓝牙(选配)
ED-IPC2000系列可选配是否集成蓝牙功能, 如果带蓝牙的话, 此功能默认是开启的。
可使用bluetoothctl扫描,配对,连接蓝牙设备,请参考ArchLinux-Wiki-Bluetooth指引配置和使用蓝牙。
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-util
关于更多加密芯片用法请参考链接中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
ED-IPC2000系列40Pin中拥有一个调试串口,GPIO14 GPIO15分别为读写引脚。
此外用户还需要使用raspi-config工具设置为
- 打开 raspi-config: sudo raspi-config.
- 选择 option 3 - Interface Options.
- 选择 option P6 - Serial Port.
- 提示 Would you like a login shell to be accessible over serial? 回答 'Yes'
- 退出 raspi-config
- 重启设备生效: 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 occupied | GPIOx被占用,请确认是否有GPIO冲突。 |
Reuse i2c:x failed | i2c引脚已经被使用,无法将对应引脚复用为I2C。 |
Unable to reuse i2c x – addr x | I2C地址已经被占用,无法再将设备设置为x地址。 |
Not found i2c x | 无法找到/dev/i2c-x,可能是I2C功能未打开或I2C引脚被占用无法设置为I2C。 |
Uart x cannot reuse | Uart x 无法复用,可能引脚已经被占用。 |
GPIO x has already been configured | GPIO 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,如发现此问题请与我司售后同事联系。 |