一、USB 分屏效果
二、USB 拓展屏方案
方案短板:仅支持 Windows 系统,WIN10/11
方案介绍:可以参照乐鑫官方文档,USB Device 方案 - - — ESP-IoT-Solution latest 文档
三、硬件与固件源码
硬件采用 ESP-SPARKBOT,详情可以参考:ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南-优快云博客
git clone https://gitee.com/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.cn/
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.com/AE/esp-iot-solution/usb_lcd_windos_driver.zip
Windows 间接显示驱动程序 (IDD) 模型提供简单的用户模式驱动程序模型,以支持未连接到传统 GPU 显示输出的监视器。参考 间接显示驱动程序模型概述 - Windows drivers | Microsoft Learn
本驱动参考自 https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display,如需修改,请自行下载后重新编译。
6、Windows 驱动安装
Step1、关闭 windows 对第三方驱动的签名检查
依次点开 `开始` --> `设置` --> `windows 更新` --> `恢复` --> `高级启动` --> `立即重新启动`
重启到修复模式后,点击 `疑难解答` --> `高级选项` --> `启动设置` --> `重启电脑`
重启后,在启动菜单中选择 `禁用驱动程序强制签名`(F7) 重启返回桌面
Step2、安装驱动
在设备管理器中选择未识别的设备,为其安装驱动程序
Step3、分屏效果
安装完毕后,在显示适配器下面出现一个新的显示器,即安装成功
六、编译后的固件(可直接用于烧录)
烧录指南:参考手把手教你用ESP32-C3打造智能聊天机器人-立创实战派-烧录方式2