Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

初学者视角的试用:【QEM820MA-CN】轻松玩转音乐播放!

【QEM820MA-CN】轻松玩转音乐播放

本文介绍了QEM820MA-CN 开发板结合音频模块实现音乐播放的项目设计,帮助初学者快速上手基于 QuecPython 的音频播放开发。

项目介绍:

本项目实现基于 QEM820MA-CN 开发板的音频播放功能,支持从指定URL获取音频数据并播放,涵盖硬件连接、软件环境配置、驱动 / 播放逻辑开发、工程测试全流程,为智慧音箱、车载音频、便携播放设备等场景的快速开发提供参考。

硬件连接

1.SIM卡插入设备卡槽

2.USB连接设备与主机

开发环境搭建

复用 QuecPython 基础开发环境,步骤如下:

  1. 驱动准备:参考QuecPython 驱动准备教程配置基础驱动;
  2. 工具获取:下载QuecPython 开发工具(如 QPYcom),用于代码下载与调试;
  3. 固件烧录:确保开发板烧录支持音频 / SPI 功能的 QuecPython 固件,参考固件烧录教程

播放逻辑设计

以下为基于 SPI 驱动 VS1053 模块的 MP3 播放核心代码,实现本地音频文件读取与播放功能:

import request
import utime
import audio
import _thread
from machine import Pin,ExtInt

aud=audio.Audio(0)
Pin(Pin.GPIO33, Pin.OUT, Pin.PULL_DISABLE, 1)  # PA使能
Pin(Pin.GPIO29, Pin.OUT, Pin.PULL_DISABLE, 1)  # PA使能
aud.setVolume(5)

url="https://euai-media.acceleronix.io/hls/music/jp03.mp3"


def inner(url):
    resp = request.get(url)
    # utime.sleep(3)
    for data in resp.content:
        # logger.debug("play audio data length: {}".format(len(data)))
        aud.playStream(3, data.encode())
    aud.stopPlayStream()
t = _thread.start_new_thread(inner, (url,))

代码使用说明:

  1. 保存代码文件为 AudioPlayer.py
  2. 通过QPYcom把该脚本下载至模组中;
  3. 点击运行脚本

工程测试:

  1. 硬件连接完成后,通过 QPYcom 工具将AudioPlayer.py下载到开发板;

  2. 确保音频文件已上传到指定路径;

  3. 运行脚本,观察扬声器 / 耳机是否正常播放音频;

  4. 调试要点:

    • 若无声,检查电源、引脚连接是否正确或者模组是否成功注网;

    • 若播放卡顿,调整数据读取块大小;

运行效果:

  • 开发板终端打印:开始播放:/usr/test.mp3,同时扬声器 / 耳机播放音频;

  • 音频播放完毕后,终端打印:播放完成!

总结:

本文介绍了 QEM820MA-CN 开发板结合音频模块实现音乐播放的完整流程,涵盖硬件连接、环境搭建、代码开发与测试,适配智慧家庭、便携音频设备、工业语音播报等场景的快速开发需求。开发者可基于此基础框架扩展功能,如添加音频列表、音量调节、蓝牙音频播放等。