ESP32视频显示系统
ESP32_Video_Display
1/5
已发布
项目简介
在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 通信
制作小型视频播放器或信息显示装置
作为嵌入式视频播放的教学示例