多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 驱动板说明 >[info] 本驱动板是基于树莓派的智能魔镜:音频、人体感应、屏幕开关、镜前灯控件和控温风扇控件等模块而设计,采用WM8960低功耗立体声编解码器,通过I2C接口控制,I2S接口传输音频。板载两个3P标准可录立体有源硅麦接口,板载一个4P可接双通道喇叭。 <br> # 驱动板安装视频 <iframe src="//player.bilibili.com/player.html?aid=66666082&bvid=BV154411y7ka&cid=136773431&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe> <br> <br> # 产品特性 * 供电电压:5V * 逻辑电压:3.3V * 音频编解码芯片:WM8960 * 控制接口:I2C * 音频接口:I2S * DAC信噪比:98dB * ADC信噪比:94dB * 扬声器驱动:1W per channel (8Ω BTL) <br> # 硬件设备说明 ![](http://qiniucn.16302.com/65e4e6d57e7ad21a164aa1e7c0e7ff42) <br> ## 设备接口说明 * 双声道喇叭接口:PH-4AW 间距 2.00MM * 左右麦接口:PH-3AW 间距 2.00MM * LED灯开关、散热风扇:PH-2AW 间距 2.00MM * 其他3P接口均为:PH-3AW 间距 2.00MM <br> ## 驱动板对树莓派GPIO接口的占用说明 ![](http://qiniucn.16302.com/cebe8c699707ef1b45c89ebf9555b9a3) <br> # 声卡驱动安装方法 >[warning] 手动安装驱动,建议使用 **树莓派官方32位系统** ,因为驱动的开发+调试都是在原版系统上进行的,且树莓派官方系统的arm64兼容性有待提高。 <br> ## 硬件准备 第一步:首先将驱动板插到树莓派开发板上,启动树莓派; 第二步:启动树莓派系统,启动终端(或用SSH连接到树莓派设备) ## 启用i2c 在终端中输入以下命令打开系统配置工具 ```shell sudo raspi-config ``` 在打开的页面中选择[Interfacing Options] ![](http://qiniucn.16302.com/5812d8e25075c2d97dcfbebaa9a7d39a) 依次选择[I2C] ![](http://qiniucn.16302.com/98c58e5e0d4bdd59f36404652d59ef35) 在问询是否启用I2C中选择[是] ![](http://qiniucn.16302.com/fa523a93c7a7b88b4c961189037f78e1) 这样I2C设备就启用成功了 >[success] ## **★ 在线安装声卡驱动** ```shell sudo apt-get install dkms -y git clone https://gitee.com/kxdev/WM8960-Audio-HAT #克隆仓库 cd WM8960-Audio-HAT sudo ./install.sh sudo reboot # 重启设备 ``` <br> ## 检查声卡是否正确安装 使用命令查看声卡列表 ```shell sudo dkms status ``` 应当输出如下数据 ```shell wm8960-soundcard, 1.0, 5.15.32-v7+, armv7l: installed (original_module exists) ``` ## 测试录音功能 检查播放功能 ```shell aplay -l ``` 使用aplay -l命令查看声卡设备,当列表中存在\[wm8960-soundcard\]表示声卡输出工作正常 ![](http://qiniucn.16302.com/a6fa98eec8153a29d614c9d149cdc5d4) 如果存在多个声卡则会出现card 0 device 0,card 1 device 1 注意📢 请一定记下声卡的序号(card 0) 及设备号(device 0),在后面的测试中用得上。 录音并播放功能测试 ```shell sudo arecord -f cd -D hw:0 | aplay -D hw:0 ``` 这段命令表示录音并播放,即监听当前录音并播放出来。 ![](http://qiniucn.16302.com/d1ce7e79a106b8c5cf4232e327a01249) arecord参数解析 ``` -D 指定了录音设备,2,0 是card 2 device 0的意思 -d 指定录音的时长,单位时秒(如果不加,可以使用Ctrl + C结束录音) -f 指定录音格式,通过上面的信息知道只支持 cd cdr dat -r 指定了采样率,单位时Hz -t 指定生成的文件格式 ``` 如出现arecord: main:831: 音乐打开错误: 设备或资源忙 请重启设备解除音频设备占用 <br> ## 单独录音测试 ```shell sudo arecord -D hw:0,0 -f CD -r 16000 -d 5 test.wav ``` 此时会生成一个test.wav音频文件 ![](http://qiniucn.16302.com/9519a66a03db4d90209d7a25b87674d8) 单独播放录音 ~~~ sudo aplay -D hw:0 test.wav ~~~ ![](http://qiniucn.16302.com/c0126cac4634478150c21ce530f90a5e) 播放刚刚录制的音频 <br> ## 音量调节 ```shell sudo alsamixer ``` ![](http://qiniucn.16302.com/a9d54986104696a5d5c65f58bd3475ae) 调节第三列:Speaker 的值即可改变声音大小(使用键盘上← ↑ ↓ →键切换调节)按 Esc 键退出 **【⚠注意】** 如果执行 `sudo alsamixer`命令出现 ![](http://qiniucn.16302.com/d707038d8942f28c9ced4e930e3d2493) `cannot open mixer: 没有那个文件或目录` 请检查当前系统默认声卡是否设置为自美系统的声卡`wm8960-soundcard`, 检查方法: 1、执行前面讲到的播放测试代码:`aplay -l` ![](http://qiniucn.16302.com/b95239291136843893c2d506f0792640) 查看 card 0 声卡后面的数字,本图上反映的是 0 打开:`nano /usr/share/alsa/alsa.conf` 找到: ``` defaults.ctl.card 0 defaults.pcm.card 0 ``` 这两句,看后面的编号是否与上面的命令查询出的声卡编号相同,如果不同修改为对应的数字,保存并退出文件,再次执行`sudo alsamixer`即可 <br> ## 播放MP3格式音乐 上面使用`aplay`只支持wav的音乐,如果要播放MP3格式的音乐,需安装`mpg123`播放模块: * 安装mpg123播放器 ```shell sudo apt install mpg123 ``` * 播放MP3 ```shell sudo mpg123 ***.mp3 ``` 需要注意,这里的`***.mp3`需要替换成你需要播放mp3文件即可