-
Notifications
You must be signed in to change notification settings - Fork 535
install
推荐使用镜像安装的方式,像安装 Raspbian 系统一样,安装完后,只需要少量的配置即可立即使用叮当机器人。
下载下来是一个 .gzip 压缩文件。建议先使用 md5sum
命令或其他 MD5 校验工具校验镜像的 MD5 值是否和下载页中的 MD5 值一致。
温馨提示:请务必使用官方提供的镜像下载地址,不要下载使用来历不明的镜像。在安装镜像前,强烈建议先校验下镜像 MD5 值,避免镜像被篡改,植入恶意程序。
之后将其解压:
gzip -d dingdang-*.gzip
最简单的镜像安装方式是使用 Etcher 来刷入 SD 卡,支持 Windows/Mac/Linux 三大平台。
- Etcher 官网:https://etcher.io/
- Etcher Windows 版百度云盘下载地址(感谢 @EsS 帮忙上传):
如果不想借助第三方工具,则可以使用 Linux 的 dd
命令来安装。准备一张 Micro-SD 卡,如果你的 SD 卡里头有其他数据,应该先做好备份。然后插入读卡器,准备用 PC 将其格式化。Linux 下可以使用 GParted 格式化工具,右键点击 SD 卡的每个区,选择 Unmount 并 Delete 。最后 Apply All Operations 完成格式化。
接下来准备将镜像刷入你的 Micro-SD 卡中,先通过如下命令获取 SD 卡的盘符。
sudo fdisk -l
例如,假如你看到你的 SD 卡对应盘符为 /dev/sdX
, 那么使用如下命令将镜像刷入 SD 卡:
dd if=dingdang-*.img of=/dev/sdX bs=2M # 注意 sdX 应该替换成你实际的SD卡盘符,
# 可用 fdisk -l 查看
刷镜像的过程不会有任何进度提示,但不是卡死。如果想知道进度,可以另外开一个窗口执行:
watch -n 5 pkill -USR1 ^dd$ # 可能会需要root权限
然后回去看 原来 的那个终端就会每5秒打印一次进度信息。
完成后,取出 SD 卡,插入 Raspberry Pi 看看能否点亮。
然后查看 安装后续 。
使用镜像安装叮当是一种更为省事的选择。不过,如果你希望从头开始搭建叮当的环境,或者自己已经搭建了 Raspbian 下的各种环境,不想为了叮当而重新搭建一遍,那么可以选择使用手动安装的方式。
注意:为了照顾主要的树莓派用户,下面提及用户目录都是 /home/pi 。如果你是在其他系统下安装,那么用户目录就应该改成你对应的目录。例如 /home/myname 。
为了方便不爱认真看文档的朋友,我也提供了在 Raspbian Stretch 上一步步手动安装叮当的全过程(视频里最后遗留的过快结束主动聆听的问题已修复)。
- 视频地址:http://v.youku.com/v_show/id_XMzA5NjY1OTU0MA==.html?spm=a2h3j.8428770.3416059.1
- 密码:dingdang123
使用上面介绍的类似方式,到 http://downloads.raspberrypi.org/raspbian_latest 下载最新的 Raspbian 系统,刷入 SD 卡中。
进入 Raspbian 配置
sudo raspi-config
然后在高级选项中,开启 Expand Filesystem
选项。重启 Raspberry Pi使之生效 。
国内的小伙伴建议 换用 apt 镜像源 。
执行如下命令,更新系统,并安装若干工具:
sudo apt-get update
sudo apt-get upgrade --yes
sudo apt-get install emacs git-core python-dev bison libasound2-dev libportaudio-dev python-pyaudio libatlas-base-dev python-pymad cmake uuid-dev fswebcam libav-tools --yes
sudo easy_install pip
之后配置下你的麦克风和音响确保能正常工作。
把 dingdang-robot 项目拉取下来:
git clone https://github.com/wzpan/dingdang-robot.git dingdang
cd dingdang
如果使用的是 ReSpeaker 2-Mics Array HAT 作为麦克风阵列开发板,推荐把代码切换到 respeaker
分支(如果是其他麦克风则跳过这一步):
git checkout respeaker
之后安装必须的 pypi 库:
sudo pip install --upgrade setuptools
sudo pip install -r client/requirements.txt
接下来创建一个 .dingdang 目录,该目录用于维护你的个人数据(注意是带了点的 .dingdang
目录):
mkdir /home/pi/.dingdang
将 叮当配置文件 的内容拷贝下来保存为 /home/pi/.dingdang/profile.yml 。
百度的语音合成结果返回的是 mp3 格式的音频,因此需要安装一个 mp3 播放器播放合成结果:
sudo apt-get install sox # 用于播放音乐
sudo apt-get install libsox-fmt-mp3 # 添加 sox 的 mp3 格式支持
用于日程提醒。软件源自带的版本较老,不支持时间粒度的提醒。因此需编译安装较新的 2.5.1 版本:
cd $HOME
wget https://taskwarrior.org/download/task-2.5.1.tar.gz
tar xzvf task-2.5.1.tar.gz
cd task-2.5.1
cmake -DCMAKE_BUILD_TYPE=release . -DENABLE_SYNC=OFF
make
sudo make install
如果提示找不到 cmake
或者 uuid
,则需要安装一下:
sudo apt-get install cmake uuid-dev
完成后创建一个 .taskrc 文件用来记录日程:
touch /home/pi/.taskrc
PocketSphinx 是叮当所使用的离线STT引擎,用于离线唤醒。要使用它总共需要安装如下一些程序:
- sphinxbase & pocketsphinx
- CMUCLMTK
- MIT Language Modeling Toolkit
- m2m-aligner
- Phonetisaurus
Stretch 已经包含了 PocketSphinx 的源,可以先装预编译的版本:
sudo apt-get install pocketsphinx # for stretch
如果是 Ubuntu 系统,则应该安装另一个包:
apt-get install pocketsphinx-hmm-en-hub4wsj
预编译的版本包含了 hmm 库 pocketsphinx-hmm-en-hub4wsj
,省去自己编译的麻烦。但这个版本没有包含 Python 的接口,所以还得拉源码构建一次。
wget http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/0.8/sphinxbase-0.8.tar.gz
tar -zxvf sphinxbase-0.8.tar.gz
cd sphinxbase-0.8/
./configure --enable-fixed
make
sudo make install
wget http://downloads.sourceforge.net/project/cmusphinx/pocketsphinx/0.8/pocketsphinx-0.8.tar.gz
tar -zxvf pocketsphinx-0.8.tar.gz
cd pocketsphinx-0.8/
./configure
make
sudo make install
sudo apt-get install subversion autoconf libtool automake gfortran g++ --yes
svn co https://svn.code.sf.net/p/cmusphinx/code/trunk/cmuclmtk/
cd cmuclmtk/
./autogen.sh && make && sudo make install
cd ..
先下载源码:
wget http://distfiles.macports.org/openfst/openfst-1.4.1.tar.gz
wget https://github.com/mitlm/mitlm/releases/download/v0.4.1/mitlm_0.4.1.tar.gz
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/m2m-aligner/m2m-aligner-1.2.tar.gz
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/phonetisaurus/is2013-conversion.tgz
解压:
tar -xvf m2m-aligner-1.2.tar.gz
tar -xvf openfst-1.4.1.tar.gz
tar -xvf is2013-conversion.tgz
tar -xvf mitlm_0.4.1.tar.gz
编译安装 OpenFST:
cd openfst-1.4.1/
sudo ./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt
sudo make install # come back after a really long time
编译安装 M2M:
cd m2m-aligner-1.2/
sudo make
sudo cp m2m-aligner /usr/local/bin/m2m-aligner
编译安装 MITLMT:
cd mitlm-0.4.1/
sudo ./configure
sudo make install
编译安装 Phonetisaurus:
cd is2013-conversion/phonetisaurus/src
sudo make
sudo cp ../../bin/phonetisaurus-g2p /usr/local/bin/phonetisaurus-g2p
然后需要下载已编译好的 Phonetisaurus FST 模型以及叮当内置的词汇模型:
- g014b2b.zip:https://pan.baidu.com/s/1o7MrWIA 下载完后放在 /home/pi/ 目录下执行
unzip
命令解压。 - vocabularies.zip:https://pan.baidu.com/s/1kWfqP3x (备选下载地址)下载完后放在 /home/pi/.dingdang/ 目录下执行
unzip
命令解压。注意是带了点的.dingdang
目录。
注意如果你是在另外一台机上下载这两个文件,你可能需要使用 fstp 命令来发送文件至叮当的主机上。
根据你的实际情况和需求配置叮当 。
最后,运行叮当,看看有没有提示缺少什么库,根据提示安装一下即可。
cd dingdang
python dingdang.py
然后查看 安装后续。
-
让树莓派连接网络及开启 SSH :参考 这篇文章 ,让树莓派连接网络并开启 SSH 。
-
终端执行
raspi-config
进入树莓派命令,进入 Advanced Options ,开启 Expand File System,扩展您的 Micro-SD 卡空间(否则刷完只有 8G 容量)。使用 Respeaker 2-Mics Pi HAT 的用户,还推荐进入 Interfacing Options ,开启 SPI ,以支持控制 LED 灯。 -
参考 配置 一节,完成配置。
-
进入 dingdang 的目录,更新一下 dingdang :
cd ~/dingdang
git pull
- 如果安装了第三方插件 dingdang-contrib,进入 .dingdang/contrib,更新下第三方插件:
cd /home/pi/.dingdang/contrib
git pull
pip install --upgrade -r requirements.txt
- 运行叮当:
python dingdang.py
如果设置开启了微信,会出现一个二维码,用微信扫一扫登录即可完成微信接入(相当于登录了一个微信客户端)。