littlebot
Published on 2025-04-07 / 0 Visits
0

【源码】基于ESP32和Python Flask的Spotify专辑艺术展示系统

项目简介

本项目借助ESP32模块与小型OLED显示屏,实现展示Spotify当前播放歌曲专辑艺术的功能。ESP32模块连接到Python Flask服务器,该服务器处理Spotify API数据并以特定格式返回,ESP32获取数据后实时显示在OLED显示屏上。

项目的主要特性和功能

  1. ESP32通过WiFi与Spotify API交互,实时获取当前播放歌曲的专辑艺术信息。
  2. 利用Python Flask服务器对Spotify API数据进行处理,为ESP32提供特定格式的数据。
  3. OLED显示屏实时展示专辑艺术,为用户带来直观的音乐体验。

安装使用步骤

前提条件

  • 具备WiFi连接功能的ESP32模块。
  • 1.5英寸OLED显示屏。
  • Spotify Premium账号,用于创建开发者账号并获取API访问权限。
  • 安装Arduino IDE或带有Arduino扩展的Visual Studio Code。

具体步骤

1. 获取Spotify API令牌

  • 访问https://developer.spotify.com/dashboard ,点击“Create app”按钮,为应用命名并添加简短描述。
  • 将“https://alecchen.dev/spotify-refresh-token” 粘贴到“Redirect URI”字段。
  • 勾选Web API,同意Spotify的开发者条款和设计指南,点击“Save”。
  • 点击“Settings”,查看并保存“Client ID”和“Client secret”。
  • 打开https://alecchen.dev/spotify-refresh-token/ ,粘贴“Client ID”和“Client secret”,选择“user-read-playback-state”和“user-read-currently-playing” 选项,点击“Submit”。
  • 登录Spotify并同意授权,复制页面显示的“Refresh Token”。

2. 设置服务器

  • 复制或下载项目仓库。
  • 打开server目录下的.env.template文件,重命名为.env,并将之前获取的Spotify API令牌信息填入对应字段。
  • 选择以下任意一种方式运行服务器:
    • 使用Flask运行:在server目录下打开终端,执行pip install -r requirements.txt安装依赖包,然后执行flask --app server.py --debug run --host=0.0.0.0启动服务器。记录服务器输出的运行IP地址(如http://x.x.x.x:5000)。
    • 使用Docker运行:确保Docker已启动,在server目录下打开终端,执行docker image build -t flask_docker . && docker run -p 5000:5000 -d flask_docker启动服务器。

3. 设置ESP32

  • 复制或下载项目仓库。
  • 打开embedded目录下的template.env.h文件,重命名为env.h,将服务器IP地址、WiFi名称和密码填入对应字段。
  • 在Arduino IDE或Visual Studio Code中打开embedded.ino文件。
  • 下载并安装Adafruit_GFX、Adafruit_SSD1351、ArduinoJson这三个Arduino库。
  • 运行验证命令确保代码无误,最后上传代码到ESP32。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】