【DigiKey“智造万物,快乐不停”创意大赛】2,I2S HAT驱动,并用python控制
[复制链接]
模块的电路和焊接在第一部分已经完成,接下来是树莓派上驱动的适配。
首先按照以下方法接线:
I2S 5V to Pi 5V
I2S GND to Pi GND
I2S BCLK to BCM 18 (pin 12)
I2S LRCL to BCM 19 (pin 35)
I2S DOUT to BCM 20 (pin 38)
I2S DIN to BCM 21 (pin 40)
完成后驱动我们使用adafruit的驱动。在树莓派terminal中输入以下命令完成安装:
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt install python3-pip
cd ~
sudo pip3 install --upgrade adafruit-python-shell
wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2smic.py
sudo python3 i2smic.py
安装过程中选择允许自动启动,安装完后按提示重启树莓派即可。
重启后测试一下,需要先查看设备号,以及检查驱动是否已经安装完成。
```
arecord -l
```
如此处是card 0,那么按照以下命令进行测试,录音完成后按Ctrl+C结束
```
arecord -D plughw:0 -c2 -r 48000 -f S32_LE -t wav -V stereo -v file_stereo.wav
aplay file_stereo.wav
```
若获取到的设备号为其他数字,只需更改plughw:0即可。
虽然在bash中可以使用,但是在python中调用还有一个问题,pyaudio使用pip在虚拟环境下安装时会出现无法编译的问题,而这个库在linux是使用apt进行安装的,只能安装在系统环境中,无法在项目虚拟环境下使用。我的做法是先使用apt在系统环境里完成安装,接着使用pip show pyaudio命令查看相关包的信息,得到以下信息:
随后到系统python包对应的文件夹中,将pyaudio.py,PyAudio-0.2.11.egg-info,_portaudio.cpython-39-aarch64-linux-gnu.so这三个文件复制到虚拟环境文件夹下的lib/python3.9/site-packages下,即可完成迁移,这样就可以在虚拟环境中使用pyaudio了。
|