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

【源码】基于ESPIDF框架的Spotify心情播放系统

项目简介

这是一个物联网项目,把Spotify音乐流和ESP32 - C6微控制器集成在一起。用户能够通过RFID标签选择专辑,ESP32 - C6模块借助Spotify的API播放播放列表或专辑,同时还搭配心情灯光可视化效果,增强用户的音乐聆听体验。

项目的主要特性和功能

  1. RFID控制:用户可通过RFID标签方便地选择专辑或歌曲列表。
  2. Spotify集成:利用Spotify API获取音乐内容并播放。
  3. 心情灯光同步:能根据音乐内容呈现与心情匹配的颜色和灯光效果。
  4. 安全性:采用OAuth 2.0进行身份验证和授权。

安装使用步骤(假设用户已下载项目的源码文件)

整体项目前期准备

  1. 创建Spotify开发者账号并创建应用,获取client_id和client_secret。
  2. 配置ESP-IDF开发环境,下载并解压源码文件。

Spotify ESP32 - C6部分

  1. 在VSCode中打开spotify - rfid - player文件夹。
  2. 填写Wi-Fi SSID和密码凭证,以及Spotify的client_id和client_secret。可使用NVS Flash安全存储,生产代码也可硬编码,但要注意保密client_secret。
  3. 配置重定向URL为http://ESP_IP_ADDRESS/,并在Spotify开发者项目仪表盘上更新此URL。
  4. 使用menuconfig编辑ESP的HTTPS配置,允许不安全请求并跳过服务器验证。
  5. 构建、烧录并监控项目。

RFID阅读器ESP32 - WROOM - 32D(运行Arduino)部分

  1. 在Arduino IDE中打开RFID_ESPNOW_SENDER的草图。
  2. 选择开发板为DOIT ESP32 DEVKIT 1,并选择对应的COM端口。
  3. 连接MFRC22到ESP32(连接图可在Report PDF中查看),同时建立与Spotify ESP32 - C6的串口连接(Rx1连接到Spotify ESP的引脚4)。
  4. 上传代码并打开串行监视器。
  5. 将RFID卡靠近阅读器,检查UID是否被成功读取和发送。

LED ESP32 - C6部分

  1. 在VSCode中打开led_strip文件夹。
  2. 连接LED灯带至ESP。
  3. 构建、烧录并监控项目。
  4. 记录MAC地址,并在RFID Arduino代码中进行设置。
  5. 可更改灯光渐变持续时间以及每种心情对应的颜色。

使用整个播放器

  1. 点击Spotify ESP32 - C6监视器标签中打印的授权链接,在浏览器中打开Spotify授权页面,点击同意。页面重定向显示Authorization Received后,关闭页面即可使用播放器。
  2. 项目目前急需改进自动刷新访问令牌的功能,以避免重复授权。

下载地址

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