Skip to main content

通过USB WiFi网卡联网

通过PC共享网络联网(Windows)

本节内容介绍开发者套件连接PC后,通过PC共享外部网络给开发者套件的配置方法,以实现开发者套件连接外部网络。

PC通过以太网口共享外部网络给开发者套件

开发者套件可以通过使用RJ45网线直连PC,PC共享外部网络给开发者套件的网口来实现开发者套件可以连通外部网络,本方法只适用于192.168.137.x网段,本步骤以eth1网口为例介绍共享网络的步骤(eth1网口也必须为192.168.137.x网段)。

  1. 在PC上打开“开始”,单击“设置”按钮,进入“Windows 设置”界面。

    图1 单击设置

  2. 选择“网络和Internet”,单击“更改适配器选项”。

    图2 单击“更改适配器选项”

  3. 修改当前网络的共享状态。

    1. 右键当前网络链接图标,单击“属性”,以下图为例。

      图3 配置PC直连开发者套件共享网络界面

    2. 进入“属性 > 共享 ”页面,勾选红框内选项,选择开发者套件的网络连接,单击“确定”。

      图4 配置RJ45网线直连开发者套件共享网络界面

      :::note 说明

    3. 登录开发者套件,执行以下命令验证是否成功共享网络。

      curl www.baidu.com

      显示以下内容表示开发者套件可连接网络,共享网络成功。

      图6 共享网络成功界面

PC通过Type-C接口共享外部网络给开发者套件

开发者套件可以通过Type-C数据线直连PC,PC共享外部网络给开发者套件的Type-C口来实现开发者套件可以连通外部网络,本方法只适用于192.168.137.x网段。

  1. 使用Type-C数据线连接开发者套件的Type-C接口,远程登录开发者套件。

  2. 打开配置文件。

    • Ubuntu操作系统:执行cd /etc/netplan命令进入“netplan”目录,执行ll命令查看目录下是否有类似“xxxx-netcfg.yaml”文件,该文件为网络配置文件。
    • OpenEuler操作系统:执行cd /etc/sysconfig/network-scripts/进入“network-scripts”目录,执行ll命令查看目录下是否有类似“ifcfg-xxxx”文件,该文件为网络配置文件。
  3. 修改配置文件。

    • Ubuntu操作系统:执行vi 01-netcfg.yaml命令修改网络配置文件(文件名可能随版本迭代更新,以实际为准),在键盘上按I键进入编辑模式。修改Type-C接口(usb0)IP地址(以192.168.137.2为例),注释eth1网口的routes路由配置,并为Type-C接口配置routes。

      note

      须知

      • usb0字段中的IP地址必须为192.168.137.x网段,且不能为192.168.137.1
      • 3个网卡的IP地址第三段(192.168.**xxx.**1)不可相同。
      • 若eth0或eth1已经配置为192.168.137.x网段,则需修改eth0与eth1的网段,避免与usb0的配置产生冲突。
      network:
      version: 2
      renderer: networkd
      ethernets:
      eth0:
      dhcp4: yes
      nameservers:
      addresses: [8.8.8.8]
      addresses: [114.114.114.114]

      eth1:
      dhcp4: no
      addresses: [192.168.0.100/24] #不可填入137网段的IP地址
      #routes:
      #- to: default
      #via: 192.168.137.1
      usb0:
      dhcp4: no
      addresses: [192.168.137.2/24]
      routes:
      - to: default
      via: 192.168.137.1
      nameservers:
      addresses: [8.8.8.8]
      addresses: [114.114.114.114]

      在键盘上按Esc键退出编辑状态,执行**:wq**保存修改。

    • OpenEuler操作系统:执行vi ifcfg-usb0命令修改网络配置文件(文件名可能随版本迭代更新,以实际为准),在键盘上按I键进入编辑模式。修改Type-C接口(usb0)IP地址(以192.168.137.2为例),注释eth1网口的routes路由配置,并为Type-C接口配置routes。

      1. 删除eth1的路由相关信息,如下方加粗内容所示。

        TYPE=Ethernet
        BOOTPROTO=static
        DEFROUTE=yes
        NAME=eth1
        DEVICE=eth1
        ONBOOT=yes
        IPADDR=192.168.137.100
        NETMASK=255.255.255.0
        GATEWAY=192.168.137.1
        DNS1=8.8.8.8
        DNS2=114.114.114.114
      2. 修改usb0的路由为192.168.137.1并添加DNS地址。

        TYPE=Ethernet
        BOOTPROTO=static
        DEFROUTE=yes
        NAME=usb0
        DEVICE=usb0
        ONBOOT=yes
        IPADDR=192.168.0.2
        NETMASK=255.255.255.0
        GATEWAY=192.168.137.1
        DNS1=8.8.8.8
        DNS2=114.114.114.114

        在键盘上按Esc键退出编辑状态,执行**:wq**保存修改。

  4. 生效配置。

    • Ubuntu操作系统:执行netplan apply命令生效配置文件,等待连接断开。

      :::note 说明 执行netplan apply报错,请参见netplan apply命令报错,提示:undefined symbol: g_spawn_check_wait_status解决。 :::

    • OpenEuler操作系统:在键盘上按Esc键退出编辑状态,输入**:wq!保存配置。执行nmcli con reload重加载配置文件,再执行nmcli con up eth1nmcli con up /etc/sysconfig/network-scripts/ifcfg-eth1**命令激活配置。

  5. 在PC上打开“开始”,单击“设置”按钮,进入“Windows 设置”界面。

    图7 单击设置

  6. 选择“网络和Internet”,单击“更改适配器选项”。

    图8 单击“更改适配器选项”

  7. 修改当前网络的共享状态。

    1. 右键当前网络链接图标,单击“属性”,以下图为例。

      图9 配置PC直连开发者套件共享网络界面

    2. 进入“属性 > 共享 ”页面,勾选红框内选项,选择开发者套件的网络连接,单击“确定”。

      图10 配置Type-c直连开发者套件共享网络界面

      :::note 说明

  8. 使用修改后的IP(192.168.137.2)登录开发者套件,执行以下命令验证是否成功共享网络。

    curl www.baidu.com

    显示以下内容表示开发者套件可连接网络,共享网络成功。

    图12 共享网络成功界面

:::note 说明 配置网络后无法联网请参见正确配置网络后仍无法联网解决。 :::

父主题: 配置网络

通过PC共享网络联网(Mac)

本节内容介绍开发者套件连接Mac PC后,通过PC共享外部网络给开发者套件的配置方法(仅支持RJ45网线连接),以实现开发者套件连接外部网络。

开发者套件可以通过使用RJ45网线直连PC,PC共享外部网络给开发者套件的网口来实现开发者套件可以连通外部网络,本方法只适用于192.168.137.x网段,本步骤以eth1网口为例介绍共享网络的步骤(eth1网口也必须为192.168.137.x网段)。

  1. 点击屏幕上方的苹果菜单,选择系统设置。

    图1 打开菜单

    进入“通用 > 共享”界面。 请确保此时mac已经连接网络。

    图2 进入通用设置

    图3 进入共享界面

    在共享菜单中,如果“互联网共享”选项已经打开,请关闭它,后续步骤中会重新开启。

  2. 按下键盘“Command”+“Space”键,输入terminal,打开Macos的终端。

    图4 打开终端

  3. 依次运行以下命令修改网口信息。

    sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkNumberStart 192.168.137.101
    sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkNumberEnd 192.168.137.253
    sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkMask 255.255.255.0

    :::note 说明 如果曾修改过开发者套件的IP地址,则命令中的IP地址的网段需要配置为与修改后的IP地址相同网段, 且不能与开发者套件的ip地址完全相同(即网段相同,但IP最后一部分不能相同)。 :::

  4. 执行命令查看是否修改成功。

    ifconfig | grep 192.168.137

    回显如下:

    inet 192.168.137.101 netmask 0xffffff00 broadcast 192.168.137.255
  5. 返回图3中“共享”菜单页面,打开“互联网共享”选项。

  6. 登录开发者套件,执行以下命令验证是否成功共享网络。

    curl www.baidu.com

    显示以下内容表示开发者套件可连接网络,共享网络成功。

    图5 共享网络成功界面

:::note 说明 配置网络后无法联网请参见正确配置网络后仍无法联网解决。 :::

父主题: 配置网络

通过USB WiFi网卡联网

本章节介绍开发者套件连接USB WiFi模块后,在图形桌面、VNC远程桌面以及命令行的网络配置方法。

使用约束

  • 用户首次完成镜像烧录,第一次启动系统后才插入USB WiFi模块,需要在开发者套件命令行中手动执行命令让WiFi功能生效,该命令在SD卡的使用生命周期内只需要执行一次。

    nmcli radio wifi on

    若首次完成镜像烧录,第一次启动系统前已插入USB WiFi模块,系统会自动执行该命令。

    :::note 说明 Ubuntu系统重启后可能出现WiFi模块指示灯不亮、WiFi功能不生效的情况。请用户再次执行nmcli radio wifi on命令或者将WiFi模块重新插拔即可。 :::

  • 当前支持WiFi芯片型号为RTL8192CU的USB WiFi模块,频率范围2.4GHz,无线速率:300Mbps,购买WiFi模块时请核对参数。

  • 对接路由器或者手机热点时需要匹配频率范围2.4GHz,大部分路由器支持2.4GHz与5GHz双频使用或设置为仅使用2.4GHz频率范围,路由器设置频率范围请参见设置路由器频率范围

图形桌面操作

  • Ubuntu22.04版本镜像为例。

    :::note 说明

    1. 将USB WiFi网卡插入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

    2. 使用本机显示模式登录开发者套件。进入图形化桌面,右键单击下方工具栏中按钮,开启WiFi开关,如图1所示。

      图1 开启WiFi

      开启后,出现可连接的WiFi列表,如图2所示,以连接名称为HWtestNet1的WiFi为例。

      图2 WiFi列表

    3. 双击待连接WiFi,弹出密码输入框,输入密码后单击Connect连接WiFi。

      图3 输入密码

      连接完成后下方WiFi图标显示为即表示已连接WiFi。

    4. 打开浏览器测试是否已连接网络。

      1. 单击下方按钮,打开开始菜单,选择“Internet > Firefox Web Browser”打开浏览器,如图4所示。

        图4 打开浏览器

        :::note 说明 当打开浏览器时出现“Your Computer Clock is Wrong”提示,则需要左键单击左下方工具栏打开终端,输入**date -s "YYYY-MM-DD HH:MM:SS"**命令,修改系统时间为当前所在地区时间。 :::

      2. 在浏览器中输入“www.baidu.com”并按下键盘“Enter”键,查看是否成功访问网址。

        图5 输入网址

        若显示以下网页内容,表示开发者套件已成功通过USB WiFi模块连接网络。

        图6 成功访问

  • openEuler22.03版本镜像为例。

    :::note 说明

    1. 将USB WiFi网卡插入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

    2. 使用本机显示模式登录开发者套件。进入图形化桌面,右键单击右上方工具栏按钮,开启WiFi开关,如图7所示。

      图7 开启WiFi

      开启后,出现可连接的WiFi列表,如图8所示,以连接名称为HWtestNet1的WiFi为例。

      图8 WiFi列表

    3. 双击待连接WiFi,弹出密码输入框,输入密码后单击Connect连接WiFi。

      图9 输入密码

      连接完成后弹出连接已建立提示框,表示已连接WiFi。

      图10 连接成功

    4. 打开浏览器测试是否已连接网络。

      1. 左键单击正下方工具栏按钮打开浏览器。

        :::note 说明 当打开浏览器时出现“Your Computer Clock is Wrong”提示,则需要左键单击正下方工具栏打开终端,输入**date -s "YYYY-MM-DD HH:MM:SS"**命令,修改系统时间为当前所在地区时间。 :::

      2. 在浏览器中输入“www.baidu.com”并按下键盘“Enter”键,查看是否成功访问网址。

        图11 输入网址

        若显示以下网页内容,表示开发者套件已成功通过USB WiFi模块连接网络。

        图12 成功访问

VNC桌面操作

  • Ubuntu22.04版本镜像为例。

    :::note 说明

    1. 将USB WiFi网卡插入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

    2. 使用VNC登录方式登录开发者套件。进入VNC桌面,右键单击上方工具栏中按钮,开启WiFi开关,如图13所示。

      图13 开启WiFi

      开启后,出现可连接的WiFi列表,如图14所示,以连接名称为HWtestNet1的WiFi为例。

      图14 WiFi列表

    3. 双击待连接WiFi,弹出密码输入框,输入密码后单击Connect连接WiFi。

      图15 输入密码

      连接完成后弹出连接已建立提示框,表示已连接WiFi。

      图16 连接成功

    4. 打开浏览器测试是否已连接网络。

      1. 单击下方工具栏图标打开浏览器。

        :::note 说明 当打开浏览器时出现“Your Computer Clock is Wrong”提示,则需要左键单击左下方工具栏打开终端,输入**date -s "YYYY-MM-DD HH:MM:SS"**命令,修改系统时间为当前所在地区时间。 :::

      2. 在浏览器中输入“www.baidu.com”并按下键盘“Enter”键,查看是否成功访问网址。

        图17 输入网址

        若显示以下网页内容,表示开发者套件已成功通过USB WiFi模块连接网络。

        图18 成功访问

  • openEuler22.03版本镜像为例。

    :::note 说明

    1. 将USB WiFi网卡插入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

    2. 使用VNC登录方式登录开发者套件。进入VNC桌面,右键单击右上方工具栏按钮,开启WiFi开关,如图19所示。

      图19 开启WiFi

      开启后,出现可连接的WiFi列表,如图20所示,以连接名称为HWtestNet1的WiFi为例。

      图20 WiFi列表

    3. 双击待连接WiFi,弹出密码输入框,输入密码后单击Connect连接WiFi。

      图21 输入密码

      连接完成后弹出连接已建立提示框,表示已连接WiFi。

      图22 连接成功

    4. 打开浏览器测试是否已连接网络。

      1. 左键单击正下方工具栏按钮打开浏览器。

        :::note 说明 当打开浏览器时出现“Your Computer Clock is Wrong”提示,则需要左键单击正下方工具栏打开终端,输入**date -s "YYYY-MM-DD HH:MM:SS"**命令,修改系统时间为当前所在地区时间。 :::

      2. 在浏览器中输入“www.baidu.com”并按下键盘“Enter”键,查看是否成功访问网址。

        图23 输入网址

        若显示以下网页内容,表示开发者套件已成功通过USB WiFi模块连接网络。

        图24 成功访问

命令行操作

  1. 将USB WiFi网卡插入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

  2. root用户登录开发者套件,执行命令,可以通过回显看到USB WiFi网卡驱动是否正常加载。

    lsmod | grep rtl

    回显如下:

    rtl8192cu 90112 0
    rtl8192c_common 65536 1 rtl8192cu
    rtl_usb 28672 1 rtl8192cu
    rtlwifi 122880 3 rtl8192c_common,rtl_usb,rtl8192cu
    mac80211 839680 3 rtl_usb,rtl8192cu,rtlwifi
    cfg80211 860160 2 rtlwifi,mac80211
  3. 连接WiFi。

    1. 执行命令扫描附近网络,记录待连接WiFi的ssid,此处以HWtestNet1网络为例。

      nmcli dev wifi list

      回显如下:

      IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
      26:32:30:D6:F8:03 HWtestNet1 Infra 6 130 Mbit/s 100 ▂▄▆█ WPA2
      74:9D:8F:D9:65:18 ChinaNet-wKVF Infra 2 130 Mbit/s 94 ▂▄▆█ WPA1 WPA2
      B8:27:C5:A7:9D:AD -- Infra 1 130 Mbit/s 87 ▂▄▆█ WPA2

      :::note 说明 若此步骤无回显,可能是WiFi设备没有读取成功,请尝试重新上电开发者套件,再执行命令。 :::

    2. 执行命令连接WiFi。

      nmcli dev wifi connect network-ssid password network-password

      network-ssid为待连接的网络名称,如HWtestNet1

      network-password为待连接WiFi网络密码。

      当WiFi名称中包含空格或Linux无法识别的符号时,WiFi名称可使用单引号进行配置,例如:‘HWtestnet1 new’。

      回显如下:

      Device 'wlx08beac3cc4df' successfully activated with '60322d44-xxxx-xxxx-xxxx-cb8b68fbc1c5'.

      :::note 说明 WiFi默认为自动连接模式,重启开发者套件后会自动连接WiFi,用户可执行以下命令查看WiFi连接属性。

      nmcli -f name,autoconnect connection

      回显如下:

      NAME AUTOCONNECT
      HwtestNet1 yes

      Ubuntu系统重启后可能出现WiFi没有自动连接的情况,需要用户再次执行3.b重新连接WiFi。 :::

  4. 执行以下命令查询所连接WiFi为开发者套件分配的IP。

    ifconfig

    回显如下,加粗部分为WiFi为开发者套件分配的IP相关信息:

    wlx08beac3cc4df: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
    inet 172.20.10.2 netmask 255.255.255.240 broadcast 172.20.10.15
    inet6 fe80::30fe:1b76:18f1:1c29 prefixlen 64 scopeid 0x20<link>
    ether 08:be:ac:3c:c4:df txqueuelen 1000 (Ethernet)
    RX packets 48 bytes 5780 (5.7 KB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 88 bytes 13276 (13.2 KB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    其中网络地址为172.20.10.2,广播地址为172.20.10.15。

  5. 开发者套件的默认路由为192.168.137.1,用户需执行以下命令修改默认路由,生效WiFi路由才可连接网络。

    其中路由地址需和所连接网络在同一网段,根据4查询到当前所连接WiFi网络为开发者套件分配的IP为“172.20.10.2”,所以设置路由为“172.20.10.1”。

    route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.20.10.1

    执行命令查看是否添加成功,回显中加粗命令为新增路由信息。

    route -n

    回显如下:

    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    0.0.0.0 172.20.10.1 0.0.0.0 UG 0 0 0 wlx08beac3cc4df

    :::note 说明 重新插拔USB WiFi网卡或重启开发者套件后,需重新执行此步骤修改路由,若需保留路由请参见FAQ:WiFi模块和其他网络接口同时使用时如何配置开发者套件优先使用WiFi路由。 :::

  6. 执行命令测试网络是否连通。

    curl www.baidu.com

    网络连通成功回显如下:

:::note 说明 配置网络后无法联网请参见正确配置网络后仍无法联网解决。 :::

父主题: 配置网络

通过路由器联网

本文以eth0网口为例,介绍开发者套件通过和直连路由器的获取的外部网络的方法。

配置前提

  • 只有eth0和eth1网口支持连接路由器,且网口的IP模式为DHCP。
  • 在保持开发者套件默认IP配置的情况下,eth0默认为DHCP模式,因此可以直接连接路由器,如果eth1网口要通过路由器连接外部网络,需要先参见修改接口IP地址的方法将网口配置为DHCP模式。

配置开发者套件和路由器直连

准备好已联网的路由器,将PC连接对应的WiFi,同时准备好一根网线,一端连接开发者套件的eth0网口,另一端连接路由器的任意一个LAN口。以下以TP-LINK路由器为例,介绍路由器配置方法。

  1. 在浏览器打开路由器管理页面,在管理页面单击“路由设置”。

  2. 如下图所示,单击“LAN口设置”,“LAN口IP设置”选择“自动(推荐)”,再单击“保存”。

    图1 配置开发者套件和路由器直连界面

  3. 如下图所示,打开“DHCP服务器”,修改DHCP服务器选项为“开”,单击“保存”。开发者套件的IP地址将由路由器进行分配,从下图可以看到地址区间开始地址和结束地址分别为192.168.1.2和192.168.1.254,开发者套件的IP地址可为192.168.1.x,其中x的值在2~254之间。

    图2 配置开发者套件和路由器直连界面

  4. 刷新路由器管理界面,单击“设备管理”,单击匿名主机的“管理”,如下所示,在本示例中,分配给开发者套件的IP地址为192.168.1.107。若没有看到“匿名主机”(开发者套件的连接名称也可能为其它名字),可尝试拔插网线再刷新界面,。

    图3 配置开发者套件和路由器直连界面

  5. 测试PC与开发者套件是否已连通。同时按键盘的“Win”键+“R”键,在运行窗口输入cmd进入命令行窗口,输入命令以下(IP地址按实际情况修改)。

    ping 192.168.1.107

    回显如下说明PC与开发者套件已连通。

    正在 Ping 192.168.1.107 具有 32 字节的数据:
    来自 192.168.1.107 的回复: 字节=32 时间<1ms TTL=64
    来自 192.168.1.107 的回复: 字节=32 时间<1ms TTL=64
  6. 使用当前开发者套件IP192.168.1.107远程登录开发者套件,执行以下命令验证是否成功连接外部网络。

    curl www.baidu.com

    显示以下内容表示开发者套件已连接外部网络。

    图4 共享网络成功界面

:::note 说明 配置网络后无法联网请参见正确配置网络后仍无法联网解决。 :::

父主题: 配置网络

对接USB摄像头

开发者套件支持接入UVC协议的USB摄像头,本节介绍如何接入并测试USB摄像头。

  1. 将USB摄像头接入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

  2. root用户登录开发者套件,执行命令,可以通过回显看到通过USB接口接入的摄像头。

    lsusb

    回显如下:

    Bus 005 Device 003: ID 0bda:9143 Realtek Semiconductor Corp. USB Camera
  3. 开发者套件可自动检测USB摄像头接入并创建设备节点“/dev/video0”。用户可通过v4l2命令确认USB摄像头工作是否正常,执行以下命令。

    sudo v4l2-ctl -d /dev/video0 --all

    系统回显如下,包含摄像机帧率、分辨率等信息:

    Driver Info:
    Driver name : uvcvideo
    Card type : USB Camera: USB Camera
    Bus info : usb-a5100000.usb_2-1
    Driver version : 5.10.0
    Capabilities : 0x84a00001
    Video Capture
    Metadata Capture
    Streaming
    Extended Pix Format
    Device Capabilities
    Device Caps : 0x04200001
    Video Capture
    Streaming
    Extended Pix Format
    Media Driver Info:
    Driver name : uvcvideo
    Model : USB Camera: USB Camera
    Serial : 200901010001
    Bus info : usb-a5100000.usb_2-1
    Media version : 5.10.0
    Hardware revision: 0x00002021 (8225)
    Driver version : 5.10.0
    Interface Info:
    ID : 0x03000002
    Type : V4L Video
    Entity Info:
    ID : 0x00000001 (1)
    Name : USB Camera: USB Camera
    Function : V4L2 I/O
    Flags : default
    Pad 0x01000007 : 0: Sink
    Link 0x02000013: from remote pad 0x100000a of entity 'Realtek Extended Controls Unit' (Video Pixel Formatter): Data, Enabled, Immutable
    Priority: 2
    Video input : 0 (Camera 1: ok)
    Format Video Capture:
    Width/Height : 1280/720
    Pixel Format : 'MJPG' (Motion-JPEG)
    Field : None
    Bytes per Line : 0
    Size Image : 1843200
    Colorspace : sRGB
    Transfer Function : Rec. 709
    YCbCr/HSV Encoding: ITU-R 601
    Quantization : Default (maps to Full Range)
    Flags :
    Crop Capability Video Capture:
    Bounds : Left 0, Top 0, Width 1280, Height 720
    Default : Left 0, Top 0, Width 1280, Height 720
    Pixel Aspect: 1/1
    Selection Video Capture: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags:
    Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags:
    Streaming Parameters Video Capture:
    Capabilities : timeperframe
    Frames per second: 30.000 (30/1)
    Read buffers : 0

命令行

开发者套件支持接入USB音频设备,如麦克风或扬声器并使用命令行进行录音和播放。

:::note 说明 开发者套件默认仅root用户可访问声卡,普通用户若需使用,请通过root用户将普通用户添加到对应用户组,以HwHiAiUser用户为例。

usermod -a -G audio HwHiAiUser

:::

录音设备

  1. 将录音设备接入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

  2. 执行以下命令查询设备ID。

    arecord -l

    回显如下:

    (base) root@davinci-mini:~# arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 0: XFMDPV0018 [XFM-DP-V0.0.18], device 0: USB Audio [USB Audio]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    当card为i,device为j时,ID编号表示为”hw:i,j”,如回显所示内容,设备的ID为"hw:0,0"。

  3. 执行以下命令进行录音,使用设备为"hw:0,0",通道数为1,采样率16000,格式S16_LE,录音文件名为test.wav。

    arecord -D hw:0,0 -c 1 -r 16000 -f S16_LE test.wav

    回显如下:

    Recording WAVE 'test.wav' Signed 16 bit Little Endian, Rate 16000 Hz, Mono

    :::note 说明 通道数和采样率视设备而定,常见采样率包括44100、48000、16000,常见通道数为1、2。 :::

  4. 按下键盘“Ctrl”+“C”键停止录音,结束后在当前目录生成录音文件test.wav。

播放设备

  1. 将播放设备接入开发者套件任意一个空闲USB接口(USB 3.0 Type-A)。

  2. 执行以下命令查询设备ID。

    aplay -l

    回显如下:

    (base) root@davinci-mini:~# aplay -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

    当card为i,device为j时,ID编号表示为”hw:i,j”,如回显所示内容,设备的ID为"hw:1,0"。

  3. 执行以下命令进行播放,使用设备为"hw:1,0",录音文件名为test.wav。

    aplay -D plughw:1,0 test.wav

    回显如下:

    Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
  4. 按下键盘“Ctrl”+“C”键停止播放。

父主题: 对接USB音频设备

在线提单