跳到主要内容

USB

Luckfox Pico Ultra 和 Luckfox Pico Ultra W 都增加了USB-A接口方便接入USB外设。但是值得注意的是,USB AUSB C不能同时用,通过使用开关芯片来选择性地连接USB Type-CUSB Type-A接口,可以有效避免信号冲突和电源管理问题,确保系统的稳定和可靠性。

  • USB-C口有供电,则USB会切换到USB-C
  • USB-C口没有供电,则USB回切换到USB-A上面(主要配合POE模块或者外部供电模块一起使用)

HOST 模式

使用 luckfox-config 打开相关配置:

  • 键盘上的键进行菜单项目的选择,enter键进入,键或者Tab进行 OK和 cancel 按钮的选择,Esc 键取消返回,空格键为选择定选项,任何更改都将在重新启动后生效。注意:ADB登录无法使用 方向键Tab,只能使用数字选择选项,enter确认。
  1. 在终端打开 luckfox-config 工具:

    luckfox-config
  2. 选择Advanced Options
    img

  3. 选择USB
    img

  4. 选择host模式:
    img

  5. 当选择回车确认后,按esc退出:
    img

  6. 重启开发板

    reboot

挂载 U 盘

  1. 设备上电,查看当前USB模式,正常应该返回host。

    cat /sys/devices/platform/ff3e0000.usb2-phy/otg_mode
  2. 插入U盘或者读卡器,显示如下:

    [  143.364405] usb 1-1.4: new high-speed USB device number 3 using xhci-hcd
    [ 143.513956] usb-storage 1-1.4:1.0: USB Mass Storage device detected
    [ 143.517513] usb-storage 1-1.4:1.0: Quirks match for vid 05e3 pid 0749: 520
    [ 143.519454] scsi host1: usb-storage 1-1.4:1.0
    [ 144.536147] scsi 1:0:0:0: Direct-Access Generic MassStorageClass 1536 PQ: 0 ANSI: 6
    [ 144.770829] sd 1:0:0:0: [sdb] 30949376 512-byte logical blocks: (15.8 GB/14.8 GiB)
    [ 144.771907] sd 1:0:0:0: [sdb] Write Protect is off
    [ 144.772903] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    [ 144.780888] sdb: sdb1
    [ 144.785345] sd 1:0:0:0: [sdb] Attached SCSI removable diskk
  3. 根据提示新设备为sdb,查看dev下sda文件。

    # ls /dev/sd*
    /dev/sdb1 /dev/sdb /dev/sda
  4. 将sdb1挂载到/mnt/sdcard文件夹下。

    mount -t vfat /dev/sdb1 /mnt/sdcard/
  5. 查看sdcard文件夹文件。

    ls /mnt/sdcard/

USB 摄像头

USB 摄像头的种类繁多,我们无法对所有型号进行全面测试。在本部分,我们选择使用微雪电子的 OV5640 5MP USB Camera (B)IMX179 8MP USB Camera (A) 这两款摄像头作为示例。

在开始测试之前,请确保USB已经设置成了 host 模式。为了防止供电不足,建议选择带有供电功能的USB HUB。

拍照

  1. 插入USB摄像头后,检查是否已识别到设备,可以使用以下指令进行查看:
  1. 使用USB摄像头拍摄照片,并保存到指定的文件名:

    # fswebcam -d /dev/video0 -r 1920x1080 /root/image01.jpg

    --- Opening /dev/video0...
    Trying source module v4l2...
    /dev/video0 opened.
    No input was specified, using the first.
    --- Capturing frame...
    Captured frame in 0.00 seconds.
    --- Processing captured image...
    Unable to load font 'sans': Could not find/open font
    Disabling the the banner.
    Writing JPEG image to '/root/image01.jpg'.
    • -d /dev/video0:指定了要使用的设备
    • -r 1920x1080:指定了拍摄照片的分辨率
    • /root/image01.jpg:指定的输出文件的路径和名称。

录制视频

  1. 当前录制视频是基于Luckfox-Pico-Max开发板测试。由于Luckfox-Pico系列开发板内存有限,不支持大分辨率录制。

    ffmpeg -f v4l2 -video_size 320x240 -framerate 30 -i /dev/video21 output.mp4
  2. 如果想要调整视频分辨率,可以使用 scale 滤镜,将输入的视频帧大小调整为宽度为 640 像素,高度为 480 像素。

    ffmpeg -f v4l2 -i /dev/video21 -vf "scale=640:480" output1.mp4
  3. 效果: