Skip to content

HereOvO/Desktop-wallpaper-display

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

壁纸显示器(ESP32-S3 + STM32F407 + ILI9341 + SD)

功能简介

  • ESP32-S3 作为上位机:通过 Wi-Fi 提供网页控制,下载图片并转换为 240x320 RGB565,使用 USB CDC 向 STM32 发送数据与控制命令。
  • STM32F407 作为下位机:接收 USB 指令,写入 SD 卡并在 ILI9341 显示屏上展示壁纸。
  • 支持基本控制:显示开关、上一张/下一张、指定索引显示、上传 URL 下载并发送、本地文件上传。

硬件组成

  • ESP32-S3(USB Host)
  • STM32F407(USB Device)
  • ILI9341 SPI 屏
  • SD 卡(SPI)

接线

软件结构

  • STM32 工程:本目录(CubeMX 工程),Keil 工程文件在 MDK-ARM/ILL9241_Display.uvprojx
  • ESP32 工程:../ESP32_S3_Download(PlatformIO,Seeed XIAO ESP32S3)。

调试复盘

  • debug.md(包含曾遇到的枚举失败/掉线/崩溃等问题与修复)。

使用步骤

  1. STM32 端
    • 用 Keil 打开 ILL9241_Display.uvprojx,编译并下载到 STM32F407。
  2. ESP32 端
    • 在 PlatformIO 中打开 ESP32_S3_Download 工程,配置 Wi-Fi(见 src/config.h)。
    • 编译并烧录到 ESP32-S3。
    • 注意:本工程默认 USB_HOST_AUTOSTART=1,启动后会切到 USB Host 模式,PC 侧 CDC 串口可能会消失(属正常现象)。 若需要稳定烧录,请按 PlatformIO 配置提示让板子进入下载模式,并使用正确的 upload_port
  3. 连接
    • 接线.md 连接 USB、SPI 显示屏和 SD 卡。
  4. 访问网页
    • ESP32 启动后,浏览器访问 http://<ESP32_IP>/。
    • 使用网页按钮进行显示控制;输入 URL 下载并发送壁纸。
    • 可选择本地文件并上传(.jpg/.png/.raw/.bin)。
    • 页面会显示上传、解码与发送的阶段和进度。

图片格式与约束

  • 推荐格式:240x320 RGB565 原始数据(.raw/.bin)。
  • JPG/PNG 会在 ESP32 端转换为 RGB565 再发送。

调试输出

  • ESP32 串口日志:在 ESP32 工程中通过 ESP_SERIAL_DEBUG_ENABLE 宏控制(见 src/config.h)。
  • 网页调试状态:在 ESP32 工程中通过 ESP_WEB_DEBUG_ENABLE 宏控制(见 src/config.h)。
  • STM32 串口日志:通过 STM32_DEBUG_ENABLE 宏控制,输出到 USART1(115200, 8N1)。
    • USB 相关日志默认不在 ISR/回调中打印(STM32_USB_ISR_LOG_ENABLE=0),避免阻塞导致枚举/传输超时。
  • ESP32 heap/stack 周期日志默认关闭(ESP_HEAP_STACK_LOG_ENABLE=0),需要时可打开以定位内存/栈问题。

常见问题

  • USB 连接状态为“断开”时:优先看 ESP32 是否打印 USB new dev / CDC opened,以及 STM32 是否进入 cfg=1
  • 显示不更新时,确认 SD 卡可读写且已初始化。

About

一个小型桌面壁纸显示器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages