硬件设备
我的设备基本都是在seeed上买的,因为seeed wiki提供设备的详细文档。
-
Raspberry Pi 4B, 我买的是4GB
-
Grove - Speaker Plus。蓝牙或者带线的speaker都行。没有speaker就用耳机听。
推荐大家配置之前先看看这些文档,熟悉熟悉设备
Step 1: 连接 设备
把 ReSpeaker 2-Mics Pi HAT 和 Raspberry Pi上的pins对齐,用点力按到一起,直到中间的金属针看不到,如下图
把speaker插到ReSpeaker 2-Mics Pi HAT上speaker的那个接口上
Step 2: 在Raspberry Pi上设置ReSpeaker 2-Mics Pi HAT的声卡驱动
官方给的启动命令是
git clone --depth=1 https://github.com/respeaker/seeed-voicecard
cd seeed-voicecard
sudo ./install.sh
reboot
我运行时发现系统版本太高安装不了驱动
查看./install.sh文件发现了这么一段代码,
usage: sudo ./install [ --compat-kernel | --keep-kernel ] [ -h | --help ]
default action is update kernel & headers to latest version.
--compat-kernel uses an older kernel but ensures that the driver can work.
--keep-kernel don't change/update the system kernel, maybe install
coressponding kernel headers.
--help show this help message
因此在后面加上--compat-kernel
参数
sudo ./install.sh --compat-kernel
reboot
大功告成
查看声卡设备信息
#显示播放设备
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [bcm2835-i2s-wm8960-hifi wm8960-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
#显示收音设备
pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [bcm2835-i2s-wm8960-hifi wm8960-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
#测试ReSpeaker 2-Mics Pi HAT的收音功能
# card:0是Raspberry Pi的音频口
arecord -f cd -Dhw:0 | aplay -Dhw:0
# card:1是ReSpeaker 2-Mics Pi HAT的音频口
arecord -f cd -Dhw:1 | aplay -Dhw:1
#设置声音,f6选择声卡,左右键选择声道,上下键调节音量
pi@raspberrypi:~ $ alsamixer
Step 3: 在Raspberry Pi上下载amazon voice service
3.1 按照以下三步在amazon voice service(AVS)注册一个产品
具体操作见页面。官网有详细指导,操作非常简单。
- Create an Amazon developer account. 创建一个amazon developer 账号
- Register an AVS built-in device. 注册一个AVS内置设备
- Set up your security profile.设置安全文件
3.2 在Raspberry Pi上设置AVS的SDK
具体操作见页面,介绍得很详细,基本就复制,黏贴到Raspberry Pi的命令行即可。缺点是我花了二十多分钟等待sample app建好。
到了Set up the microphone这一步。在.asoundrc文件添加的内容,可以修改一下,把收音和播放的声卡改成自己想要的。
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:1,0" #播放用的声卡
}
capture.pcm {
type plug
slave.pcm "hw:1,0" #收音时用的声卡
}
}
授权完成后,通过下面的命令启动avs服务
cd /home/pi/sdk-folder/sdk-build
PA_ALSA_PLUGHW=1 ./SampleApp/src/SampleApp ./Integration/AlexaClientSDKConfig.json ../third-party/alexa-rpi/models
看到这个
然后呼唤"Alexa"
这个Alexa只说英文
参考
https://www.hackster.io/idreams/build-your-own-amazon-echo-using-a-rpi-and-respeaker-hat-7f44a0
https://www.hackster.io/CHENJUNJ/smart-clock-with-alexa-interaction-9a79ed