聚丰项目 > 基于 AB32VG1的智能音频控制系统

基于 AB32VG1的智能音频控制系统

本系统支持本地按键触发控制音频播放、切换音量控制,LED通过闪烁时的亮度实时反映音高低,方便易用;同时通过wifi连接本地或远程云端控制上位机,云端可远程控制的音频播放、切换、指定播放,音量控制等功能,设备实时上报状态信息,交由云端处理,实现数据的实时交互,云与物的有机结合。 上位机软件使用python Tkinter GUI 库完成设计实现,可运行在windows、linux等系统,适配性、稳定性、兼容性强,且UI交互更符合人性化设计。

April8820 April8820

分享
1 喜欢这个项目
团队介绍

April8820 April8820

团队成员

April8820 嵌入式软件工程师

分享
项目简介
本系统支持本地按键触发控制音频播放、切换音量控制,LED通过闪烁时的亮度实时反映音高低,方便易用;同时通过wifi连接本地或远程云端控制上位机,云端可远程控制的音频播放、切换、指定播放,音量控制等功能,设备实时上报状态信息,交由云端处理,实现数据的实时交互,云与物的有机结合。 上位机软件使用python Tkinter GUI 库完成设计实现,可运行在windows、linux等系统,适配性、稳定性、兼容性强,且UI交互更符合人性化设计。
硬件说明

硬件组成:

本地硬件:AB32VG1开发版+ESP-C3-32S评估板

远程控制:PC或其他终端设备

硬件介绍:

AB32VG1开发版使用到的外设有:SDIO,AUDIO,KEY,LED,PWM,UART等

ESP-C3-32S评估板UART与AB32VG1开发版UART1连接

PC:windows系统且已安装python编译环境

模块图片:

1.jpg


软件说明

一、AB32VG1软件流程图:包括音频控制下位机和上位机


RT-thread使用情況:

内核:线程、消息队列等

驱动:uart、pwm、io、spi、sdio、audio等

组件:dfs、romfs、fatfs、finsh等

软件包:wavplayer、optparse、multibutton等

主流程:


image.png


key线程、uart线程、业务处理线程:

image.png

二、音频控制下位机软件详细说明:

主流程:

1.rtthread内核类模块初始化:rthread启动相关初始化

2.驱动、组件、软件包初始化:uart、sdio、pwm、audio、msh、dfs、fatfs、multibutton、optparse、wavplayer等

3.romfs初始化,挂载到"/"目录,并在rom中创建了sd文件夹(romfs.c如下)

1.png

4.sd卡挂载文件系统,目录为“/sd”

5.目录“/sd”下的wav文件检索

6.注册按键回调,创建按键检测线程

7.pwm初始化及LED的亮度控亮

将当前播放音量作为pwm脉冲的周期,音量越高,闪烁时的LED越亮

KEY线程:

1.按键循环检测触发对应回调。

2.按键0回调:单击:上一首 ;长按:音量增加

3.按键1回调:单击:播放/暂停

4.按键2回调:单击:下一首 ;长按:音量降低

串口接收线程:

1.接收数据打包后放入接收信息队列:

这里采用循环读取的方式完成了串口打包,打包间隔为5ms

业务处理线程:

1.启动串口接收线程

2.WIFI联网,建立socke连接

进入socket(这里使用UDP,可根据需求修改配置)透传的指令及回复:

AT设置函数:

该函数将根据配置指令结构体数组,依次在重试次数内发送AT指令,等待模组回复,并对比回复结果

AT命令交互函数:

该函数实现了AT指令的一次交互,具体流程:串口数据缓存冲刷,发送AT指令,更剧结构体定义控制发送换行,在超时时间内等待模组回复,最终返回指令交互结果。

3.数据解析及处理,状态上报

循环接收socket收到的数据,对符合格式的数据进行处理;

无接收数据时,获取当前播放状态,上报状态信息到socket

状态控制:

对命令码进行相应动作:上一曲、下一曲、开始/暂停、音量加、减已经播放指定歌曲

状态获取:

获取当前播放状态、播放音量、播放歌曲已经播放列表


三、python上位机软件详细说明:

UI设计:

socket接收显示:

创建socket,接收到数据后对数据进行解析,更新界面的信息展示

控制按钮触发及列表选择回调函数:

控制按钮功能:上一曲、下一曲、开始/暂停、音量加、减

列表选择功能:双击选择歌曲后,上位机下发播放该歌曲指令

上位机展示:


四、GITEE厂库地址

https://gitee.com/dingningee/ab32vg1.git

演示效果

1.主演示视频

        

2.补充视频

       


评论区(0 )