项目简介
本项目是基于ESP32开发板和Python服务端的系统,可依据输入的关键字自动播放bilibili音乐。设备端借助蓝牙连接来播放音频,服务端与设备端通过UDP连接进行交互,能完成音量调节、播放、暂停等操作。
项目的主要特性和功能
特性
- 设备端采用ESP32开发板,使用C++编写,依赖VSCode + platformio环境。
- 服务端基于Python,利用ffmpeg对B站视频音频进行解码和编码推流。
- 设备端与服务端通过UDP连接,以轮询方式接收服务端指令。
功能
- 支持通过关键字或bvid搜索B站视频并播放音频。
- 可在服务端修改配置,实现对设备端音量调节、播放、暂停等控制。
安装使用步骤
硬件环境准备
- 一台服务器(个人电脑或其他服务器设备)。
- 一个ESP32开发板。
- 一副蓝牙耳机或蓝牙音箱。
- 具备wifi环境。
软件环境准备
- 在服务器上安装ffmpeg,并确保可通过命令行
ffmpeg
直接调用。 - 服务器具备python3环境,测试环境为3.10。
使用步骤
- 修改设备端代码(
src/main.cpp
)中的wifi名称、密码。 - 修改设备端代码(
src/UDPMessageController.cpp
)中的SVR_ADDRESS
字段,将IP改为自己的服务器地址。 - 将设备端代码编译、烧录至esp32开发板。
- 打开蓝牙设备搜索状态并靠近esp32开发板,开发板会自动连接最近的蓝牙设备并记录。
- 启动服务端,在服务端目录运行
python server/server.py
。 - 设备端正常连接服务端后,会根据设备id在
server/data
目录下生成一个json文件,在服务器端修改该文件并保存,即可使修改在设备端生效。文件字段描述如下:"volume"
:设备音量,填写一个数字。"paused"
:是否暂停,1为暂停,0为播放。"music_url"
:暂时无用。"server_url"
:局域网中的服务端IP端口,如http://192.168.137.1:8180
。"bvid"
:B站Bvid号,填写后播放Bvid对应的视频音频。"keyword"
:搜索关键字,填写后自动播放B站搜索结果的第一条结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】