## **驱动板说明** > 本驱动板是基于树莓派的智能魔镜:音频、人体感应、屏幕开关、镜前灯控件和控温风扇控件等模块而设计,采用WM8960低功耗立体声编解码器,通过I2C接口控制,I2S接口传输音频。板载两个3P标准可录立体有源硅麦接口,板载一个4P可接双通道喇叭。 ## **驱动板安装视频** * [驱动板安装视频](https://www.bilibili.com/video/av66666082/?p=5) ## **产品特性** * 供电电压:5V * 逻辑电压:3.3V * 音频编解码芯片:WM8960 * 控制接口:I2C * 音频接口:I2S * DAC信噪比:98dB * ADC信噪比:94dB * 扬声器驱动:1W per channel (8Ω BTL) ## **硬件设备说明** ![](http://qiniucn.16302.com/65e4e6d57e7ad21a164aa1e7c0e7ff42) > **设备接口说明** > 双声道喇叭接口:PH-4AW 间距 2.00MM > 左右麦接口:PH-3AW 间距 2.00MM > LED灯开关、散热风扇:PH-2AW 间距 2.00MM > 其他3P接口均为:PH-3AW 间距 2.00MM ## **驱动板v7对树莓派GPIO占用说明** ![](http://qiniucn.16302.com/652565661688625158de280ef9676ded) ## **驱动安装 & 测试方法** 1. 一键镜像安装自美系统,会自动将本驱动板相应的驱动安装并已经调试到最佳状态,本教程可跳过。 一键镜像安装自美系统请[点击这里](1144905) 2. 在线手动安装驱动 > 手动安装驱动,建议烧录树莓派官方系统,因为咱们基本上都是在这个系统进行开发测试+调试的,其他系统没有相应的测试过,不保证一定能安装成功。 第一步:首先将驱动板插到树莓派开发板上,启动树莓派; 第二步:启动树莓派系统,启动终端(或用SSH连接到树莓派设备) ### 打开I2C接口 在终端输入如下命令打开系统配置工具 ```shell # sudo raspi-config //选择 5 Interfacing Options \→ P5 I2C \→ 是 启动 i2C 内核驱动 ``` ![](http://qiniucn.16302.com/5812d8e25075c2d97dcfbebaa9a7d39a) ![](http://qiniucn.16302.com/98c58e5e0d4bdd59f36404652d59ef35) ![](http://qiniucn.16302.com/fa523a93c7a7b88b4c961189037f78e1) ### 关闭树莓派默认音频驱动 ```shell # sudo nano /boot/config.txt ``` 找到下面这行 ```shell dtparam=audio=on ``` 将其修改为 ```shell # dtparam=audio=on ``` 保存后重启 ``` sudo reboot ``` ### 在线安装驱动 ```shell # git clone https://gitee.com/kxdev/WM8960-Audio-HAT //这里需要等待一定的时间 # cd WM8960-Audio-HAT # sudo ./install.sh # sudo reboot ``` 重启后运行如下命令看下驱动是否安装成功。 ```shell # sudo dkms status ``` 将会看到如下信息,否则会安装失败,请勿换成国内的源 ```shell # sudo dkms status wm8960-soundcard, 1.0, 4.19.58+, armv7l: installed wm8960-soundcard, 1.0, 4.19.58-v7+, armv7l: installed wm8960-soundcard, 1.0, 4.19.58-v7l+, armv7l: installed ``` ### **检测声卡** * 检测播放功能:aplay -l 如果能看到[wm8960-soundcard]证明声卡已经安装成功 ~~~ root@raspberrypi:~ # aplay -l **** List of PLAYBACK Hardware Devices **** card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 ~~~ * 检测录音功能:arecord -l ~~~ root@raspberrypi:~ # arecord -l **** List of CAPTURE Hardware Devices **** card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 ~~~ * 录音并播放功能测试 ~~~ sudo arecord -f cd -Dhw:0 | aplay -Dhw:0 ~~~ 程序运行后将同时进行录音并播放,注意喇叭不能开靠近麦克风否 则会导致共振产生啸叫。 * 单录音测试 ~~~ sudo arecord -D hw:0,0 -f S32_LE -r 16000 -c 2 test.wav ~~~ test.wav是录制生成的文件名。 * 播放录音(播放刚刚录制的音频) ~~~ sudo aplay -Dhw:0 test.wav ~~~ ### **音量调节** 默认的音量是比较小的 ~~~ sudo alsamixer ~~~ ![](http://qiniucn.16302.com/1d2171c06ea9d4b52e763ac0f7d5880c) 调节第三列:Spleaker 的值即可改变声音大小(使用键盘上← ↑ ↓ →键切换调节)按 **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 ### **播放MP3** 上面使用aplay只支持wav的音乐,如果要播放MP3格式的音乐,需安装mpg123播放模块: * 安装mpg123播放器 ~~~ sudo apt-get install mpg123 ~~~ * 播放MP3 ~~~ sudo mpg123 ***.mp3 ~~~ 需要注意,这里的***.mp3需要替换成你需要播放mp3文件