ESP8266/ESP32 Spotify OLED 显示屏
ESP-Spotify-OLED
ESP32
1/5
已发布
项目简介
ESP8266/ESP32 Spotify OLED显示屏项目。
这是一个基于ESP8266或ESP32微控制器的桌面信息显示项目,核心功能是将当前Spotify播放信息实时呈现在一块1.3英寸的SH1106 OLED屏幕上。当用户正在播放音乐时,屏幕会动态显示歌曲名称、艺术家、播放进度条、播放/暂停状态以及已播放/总时长;当没有音乐播放时,屏幕会自动切换为显示当前时间、室外温度和天气图标,实现一屏多用。项目采用Arduino框架开发,技术栈包括Spotify官方API(通过witnessmenow的Arduino库实现OAuth认证)、OpenWeatherMap天气API、Adafruit GFX图形库和SH110X驱动库、ArduinoJson用于数据解析,以及EzTime库处理时区同步。该项目解决了两个典型痛点:一是让用户无需掏出手机就能在桌面上瞥见当前播放的歌曲信息,二是将闲置的OLED屏幕变成兼具时钟和天气功能的桌面摆件。适用场景非常明确——适合音乐爱好者、桌面极简主义者、DIY硬件玩家,以及任何希望将物联网小屏设备融入日常生活的用户。硬件连接简单,仅需四根杜邦线即可完成OLED与开发板的I2C通信,配合3D打印外壳(项目提供了Printables模型链接)就能打造一个精致的桌面终端。对于初学者,项目提供了从Spotify开发者账号注册、API凭证获取到Refresh Token生成的完整图文指引,并附带了常见编译错误的排查方法,降低了上手门槛。
标签
项目特点
🎵 实时显示 Spotify 当前播放信息:歌曲标题、艺术家、进度条、播放状态
🌤️ 无音乐播放时自动显示时间、温度和天气图标
🔧 支持 ESP8266 和 ESP32 两种主控芯片
📦 提供 3D 打印外壳模型,方便制作成品
💻 基于 Arduino 生态,易于编译和上传
技术规格
| 主控芯片 | ESP8266 或 ESP32(如 D1 Mini) |
|---|---|
| 显示屏 | SH1106 OLED 128x64 |
| 通信协议 | I2C(SDA->D1, SCL->D2) |
| 供电电压 | 3.3V |
| 数据源 | Spotify API + OpenWeatherMap API |
| 开发环境 | Arduino IDE |
| 所需库 | SpotifyArduino, Adafruit GFX, Adafruit SH110X, ArduinoJson, EzTime |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP8266 或 ESP32(如 D1 Mini) | 1 | — | 核心控制器 |
| SH1106 OLED 128x64 | 1 | — | I2C 接口 |
| 杜邦线 | 4 | — | SDA, SCL, VCC, GND |
| 3D 打印外壳 | 1 | — | 可选,模型见项目资源 |
| USB 数据线 | 1 | — | 供电和编程 |
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 2/5
项目图库
所需技能
🔧 **动手能力**:能够连接杜邦线,将 OLED 显示屏与 ESP 开发板连接;可选 3D 打印外壳
💻 **编程能力**:熟悉 Arduino IDE 环境,能够安装库、修改配置文件(secrets.h 和 config.h)、编译和上传固件
⚡ **电子电路**:了解 I2C 通信协议和基本接线(SDA/SCL/VCC/GND)
适用场景
🎵 桌面音乐信息显示器,实时显示 Spotify 播放状态
🌤️ 桌面天气时钟,无音乐时显示时间和天气
🎓 物联网学习项目,实践 API 调用和 OLED 显示
🏠 智能家居信息面板,可扩展更多数据源