数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 28891|回复: 30

[Arduino] ESP32支付宝盒改蓝牙音箱,可切歌,调音量,附程序

  [复制链接]
发表于 2021-8-25 18:46:36 | 显示全部楼层 |阅读模式
拆机贴可以看这个:https://zhuanlan.zhihu.com/p/39634765

ESP32支付宝盒完美爆改蓝牙音箱,支持按钮控制切歌,音量,暂停。

支付宝盒:


理论上来说,另一款低配没有屏幕的宝盒也可以改,不过我没有那个机器无法验证(复制坛友的图):


1. 首先直接上蓝牙音箱代码(基于Arduino,VSCode打开即可):
https://gitee.com/zhuhai-esp/Pla ... -Arduino-BT-Speaker

2. 然后直接得到效果如视频:
https://www.douyin.com/video/6998293318316608809

3. 看下内部结构:


再看下板子:



4. 介绍一下实现思路:
ESP32有很多开源实现蓝牙音箱的项目,我是用了这个:
https://github.com/pschatzmann/ESP32-A2DP

主要代码:
  1. #include "BluetoothA2DPSink.h"

  2. BluetoothA2DPSink a2dp_sink;

  3. void setup() {
  4.     i2s_pin_config_t my_pin_config = {
  5.         .bck_io_num = 26,
  6.         .ws_io_num = 25,
  7.         .data_out_num = 22,
  8.         .data_in_num = I2S_PIN_NO_CHANGE
  9.     };
  10.     a2dp_sink.set_pin_config(my_pin_config);
  11.     a2dp_sink.start("MyMusic");
  12. }

  13. void loop() {
  14. }
复制代码
注意:i2s_pin_config 这个结构体需要根据音频输出的实际硬件引脚来做配置,
也就是指定I2S实际输出引脚,其他的不用怎么修改

5. OTA配置
这个是题外话,因为支付宝盒下载程序不太方便,需要手动短接P0口,
所以玩Arduino的话主要使用OTA来下载程序吧:
这个也很简单:
  1. void setup() {
  2.   ArduinoOTA.begin();
  3. }

  4. void loop() {
  5.   ArduinoOTA.handle();
  6. }
复制代码


6. 给几个按钮赋予事件,用于调节音量,切歌等,效果在视频中有的:
  1. void inline setupButtonEvents() {
  2.   // reset
  3.   buttons[0].attachClick([] {
  4.     payAudioDisable();
  5.     ESP.restart();
  6.   });
  7.   // up
  8.   buttons[1].attachClick([] { a2dp_sink.next(); });
  9.   buttons[1].attachDoubleClick([] {
  10.     if (volume < 120) {
  11.       setVolume(volume + 10);
  12.     }
  13.   });
  14.   // down
  15.   buttons[2].attachClick([] { a2dp_sink.previous(); });
  16.   buttons[2].attachDoubleClick([] {
  17.     if (volume > 10) {
  18.       setVolume(volume - 10);
  19.     }
  20.   });
  21.   buttons[3].attachClick([] {
  22.     if (isPause) {
  23.       a2dp_sink.play();
  24.     } else {
  25.       a2dp_sink.pause();
  26.     }
  27.     isPause = !isPause;
  28.   });
  29. }
复制代码


再贴一次完整代码:https://gitee.com/zhuhai-esp/PlatformIO-ESP32-PayBoxA2

这次废物又可以完美利用了
支付宝盒其他玩法可以参考这个帖子:
https://www.mydigit.cn/thread-265728-1-1.html







补充内容 (2023-9-13 13:54):
https://github.com/zhuhai-esp/PayBoxA2-ESP32-Clock

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 3家元 +130 收起 理由
jpdd521 + 10 实在是没分了,但是依旧顶帖。好评。.
jf201006 + 20 原創內容
家睦 + 100

查看全部打赏

 楼主| 发表于 2021-8-25 18:50:09 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-26 13:32:23 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-26 13:36:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-26 14:18:34 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-26 14:20:31 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-27 09:53:06 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-27 11:34:52 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-27 18:24:55 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-28 12:09:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-28 12:14:30 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-29 11:19:14 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-29 11:20:20 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-30 08:45:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-30 11:38:54 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-30 11:40:49 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-30 11:45:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-30 11:47:58 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-30 14:54:13 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-12 11:22 , Processed in 0.171600 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表