项目简介
本项目借助ESP32模块与小型OLED显示屏,实现展示Spotify当前播放歌曲专辑艺术的功能。ESP32模块连接到Python Flask服务器,该服务器处理Spotify API数据并以特定格式返回,ESP32获取数据后实时显示在OLED显示屏上。
项目的主要特性和功能
- ESP32通过WiFi与Spotify API交互,实时获取当前播放歌曲的专辑艺术信息。
- 利用Python Flask服务器对Spotify API数据进行处理,为ESP32提供特定格式的数据。
- 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
启动服务器。
- 使用Flask运行:在
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】