ESP32视频显示系统 ESP32_Video_Display

1/5 已发布
younes-makhchan 64 Stars MIT BOM 完整度: 0/5 教程完整度: 2/5
ESP32视频显示系统

项目简介

在ESP32+SSD1306 OLED上播放黑白视频。


ESP32 Video Display 是一个基于 ESP32 微控制器和 SSD1306 OLED 显示屏的黑白视频播放系统。该项目源自 Hackerspace-FFM 的 ESP32_BadApple,经过优化和扩展,让开发者能够轻松在低成本硬件上播放自定义黑白视频。核心功能包括视频格式转换、数据压缩与存储,以及通过 I2C 接口驱动 OLED 实时显示。技术栈方面,项目使用 Arduino IDE 或 PlatformIO 作为开发环境,依赖 ESP32 Arduino 核心库和 Adafruit SSD1306 库,视频转换部分则通过 Python 脚本(Compress.py)完成,将普通视频文件压缩为专用的 binary 格式。硬件连接非常简单,只需将 ESP32 的 GPIO21(SDA)和 GPIO22(SCL)分别连接至 OLED 的对应引脚,即可完成搭建。该项目主要解决了在资源受限的嵌入式设备上播放视频的难题,通过将彩色视频转换为黑白帧并高效压缩,使得仅 128x64 分辨率的单色 OLED 也能流畅呈现动画内容。适用场景广泛,包括创意电子制作、桌面装饰、信息展示牌、复古风格动画播放,以及作为学习嵌入式系统、I2C 通信和视频压缩算法的教学案例。无论是想复现经典的 Bad Apple 动画,还是展示自定义的 Logo 或短片,ESP32 Video Display 都提供了一个低成本、易上手的解决方案。

标签

项目特点

支持在 ESP32 上播放任意黑白视频
使用 SSD1306 OLED 显示屏(128x64 分辨率)
提供 Python 脚本将视频转换为 ESP32 可读取的二进制格式
基于 Arduino IDE 或 PlatformIO 开发环境
开源且基于 MIT 许可证

技术规格

主控芯片 ESP32
显示屏 SSD1306 OLED (128x64)
接口 I2C (SDA: GPIO21, SCL: GPIO22)
视频格式 黑白(单色)
开发环境 Arduino IDE 或 PlatformIO
视频转换工具 Python (需安装 requirements.txt)
依赖库 Adafruit SSD1306, ESP32 Arduino core

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32 开发板 1 任意型号
SSD1306 OLED 128x64 1 I2C 接口
杜邦线 4 用于连接 ESP32 和 OLED
USB 数据线 1 为 ESP32 供电

能力画像

⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
⚪ 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 2/5

所需技能

🔧 **动手能力**:需要连接 ESP32 和 OLED 显示屏的 I2C 接线,以及上传固件到开发板。 💻 **编程能力**:需要基本的 Arduino 或 PlatformIO 编程知识,以及 Python 脚本运行能力。 ⚡ **电子电路**:了解 I2C 通信协议和基本接线。

适用场景

在低成本硬件上播放黑白动画或视频
学习 ESP32 与 OLED 显示屏的 I2C 通信
制作小型视频播放器或信息显示装置
作为嵌入式视频播放的教学示例