一、USB 分屏效果

二、USB 拓展屏方案

方案短板:仅支持 Windows 系统,WIN10/11

方案介绍:可以参照乐鑫官方文档,USB Device 方案 - - — ESP-IoT-Solution latest 文档

三、硬件与固件源码

硬件采用 ESP-SPARKBOT,详情可以参考:ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南-CSDN博客

固件源码仓库:esp_sparkbot: 本仓库用于存放 ESP_SparkBot 的相关例程和 3D 建模。ESP_SparkBot 是一款基于 ESP32-S3的大模型 AI 桌面机器人,开发环境为 ESP-IDF,详情请参考 README。

git clone https://gitee/esp-friends/esp_sparkbot.git

四、USB 固件编译(VS Code方式)

USB 扩展屏示例可以将 ESP-SparkBot 开发板作为一块 windows 的副屏,支持以下功能:

  • 支持 480*480@60FPS 的屏幕刷新速率
  • 支持音频的输入和输出

注意:因为 S3 使用 USB FS,所以带宽资源相对优先,若想提升体验可以更换为支持 USB HS 的 [ESP32-P4]

源码需要修改 components/esp_sparkbot_bsp/esp_sparkbot_bsp.c 将 spi_mode 修改为 0,

烧录完成后,需要重新连接设备,然后在声音输出设置看到新输出 Analog Output,选中即可,

esp-sparkbot-音频输出

很遗憾,现在固件只支持 Windows10 及 Windows11,在 Deepin 下无法测试分屏效果,因此我们将在虚拟机环境下测试分屏效果。

五、WIN10 分屏效果测试

1、WIN10 镜像下载

下载地址 https://msdn.itellyou/

2、WIN10 虚拟机搭建

使用 VirtualBox 创建一个 WIN10 虚拟机,

3、Linux 权限设置

除了安装 VirtualBox 的附加功能,还需设置权限,不然虚拟机无法识别串口设备,

sudo vim /etc/group

把当前用户名添加到vboxusers组中,例如当前PC的登录用户是sam,则对于修改:

原权限:vboxusers:x:130:
修改后:vboxusers:x:130:sam

4、把宿主的 USB 设备挂载到虚拟机 WIN10

5、Windows 驱动下载

驱动下载地址:https://dl.espressif/AE/esp-iot-solution/usb_lcd_windos_driver.zip

Windows 间接显示驱动程序 (IDD) 模型提供简单的用户模式驱动程序模型,以支持未连接到传统 GPU 显示输出的监视器。参考 间接显示驱动程序模型概述 - Windows drivers | Microsoft Learn

本驱动参考自 https://github/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display,如需修改,请自行下载后重新编译。

6、Windows 驱动安装

Step1、关闭 windows 对第三方驱动的签名检查

依次点开 `开始` --> `设置` --> `windows 更新` --> `恢复` --> `高级启动` --> `立即重新启动`

重启到修复模式后,点击 `疑难解答` --> `高级选项` --> `启动设置` --> `重启电脑`

重启后,在启动菜单中选择 `禁用驱动程序强制签名`(F7) 重启返回桌面

Step2、安装驱动

在设备管理器中选择未识别的设备,为其安装驱动程序

Step3、分屏效果

安装完毕后,在显示适配器下面出现一个新的显示器,即安装成功

六、编译后的固件(可直接用于烧录)

固件下载:点击这里下载

烧录指南:参考手把手教你用ESP32-C3打造智能聊天机器人-立创实战派-烧录方式2