Skip to content

树莓派硬件指南

liuyuancheng edited this page Mar 31, 2018 · 6 revisions

树莓派

树莓派(英语:Raspberry Pi),是一款基于Linux的单片机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。

Raspberry-Pi-3-462x322

因为树莓派具有低功耗和易扩展的特性,通过树莓派搭载Kim可以我们提供一个持续性的语音服务。

树莓派英文官网

MicroSD Card

选择

推荐使用:三星EVO/EVO+,或SanDisk Ultra

各型号microSD Card在树莓派上基准测试: http://www.pidramble.com/wiki/benchmarks/microsd-cards

配置

优化存储卡配置,提升性能:

sudo vi /boot/config.txt

dtparam=sd_overclock=100 # 修改配置有些卡不支持这么高可以设置为80(默认50)

dmesg | grep "mmc0" # 检查是否生效 返回[ 2.596650] mmc0: overclocking to 100000000Hz

存储卡性能测试:

sudo apt-get install hdparm

sudo hdparm -tT /dev/mmcblk0

ReSpeaker 2-Mics Pi HAT

ReSpeaker 2-Mics Pi HAT是专为AI和语音应用设计的Raspberry Pi双麦克风扩展板。 这意味着您可以构建一个集成Amazon Amazona语音服务,Google助手等的功能更强大,更灵活的语音产品,当然也支持Kim。

mic_hatv1.0

该板是基于WM8960开发的低功耗立体声编解码器。 电路板两侧有两个麦克风采集声音,还提供3个APA102 RGB LED,1个用户按钮和2个板载Grove接口,用于扩展应用程序。 此外,3.5mm音频插孔或JST 2.0扬声器输出均可用于音频输出。

Seeed科技官方指南

安装

  1. 如果以前配置过 .asoundrc ,需要将之删除:

    rm /home/pi/.asoundrc
  2. 安装驱动

    git clone https://github.com/respeaker/seeed-voicecard.git
    cd seeed-voicecard 2-mic
    sudo ./install.sh
    reboot
  3. 完成后可以使用 aplay -l 命令检查一下是否包含 seeedvoicecard 的播放设备

    pi@raspberrypi:~ $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: seeedvoicecard [seeed-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
  4. 如果你要使用Respeaker上的LED灯,还需安装spidev

    sudo pip install spidev

配置

  1. 使用 alsamixer 命令修改声卡音量,先重点设置 HeadphoneSpeakerPlayback 的音量,3D 也可以适当开一些

  2. 测试是否配置成功

    # 方法一
    arecord -d 3 temp.wav  # 测试录音3秒
    aplay temp.wav # 播放录音看看效果
    # 方法二
    arecord -f cd -Dhw:1 | aplay -Dhw:0      # 使用树莓派自带耳机插孔

    如果测试效果良好,执行以下指令保存设置

    sudo alsactl --file=asound.state store
    sudo cp asound.state /var/lib/alsa/   # 防止配置文件开机时被重置
  3. 如果arecord、aplay无法正常工作,按一下编写 ~/.asoundrc 文件

    pcm.!default {
            type asym
            playback.pcm {
                type plug
                slave.pcm "hw:0"
            }
            capture.pcm {
                type plug
                slave.pcm "hw:1,0"
            }
    }
    
    ctl.!default {
            type hw
            card 0
    }