1.安装Docker
https://docs.docker.com/engine/install/
- 在浏览器点击翻译成中文(英文不好,抱歉)
Raspbian树莓派要选择便捷脚本安装,如下图所示,点击“便捷脚本”
- 使用便捷脚本
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
-
卸载Docker Engine🔗
如果不需要docker,那可以卸载Docker Engine,CLI和Containerd软件包:
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
您必须手动删除所有已编辑的配置文件。
2.安装wukong-robot,选择docker安装方式
ARM 架构设备
如果你的设备是 ARM 架构设备(例如树莓派 3B),可以使用 wzpan/wukong-robot-arm 镜像(注意 Pi Zero 是 armv6l 架构,因此不支持):
git clone https://github.com/wzpan/wukong-robot-pi-installer.git
cd wukong-robot-pi-installer
sudo ./pi_installer
如果遇到 docker 拉取慢的问题,你或许需要考虑先配置好docker加速器。
然后使用如下命令启动 docker 镜像即可:
docker run -it -p 5000:5000 --device /dev/snd -e LANG=C.UTF-8 wzpan/wukong-robot-arm:latest
如果运行时提示
docker: unknown server OS: .
则可以在上面的命令前带上 sudo
再试。
docker run
完成后,就可以参考 运行 一节,启动 wukong-robot 了。
注意:每次重启 Docker 后镜像内的数据会被重置。如果不希望每次 Docker 每次重启导致数据丢失,可以使用 Docker commit 命令保存镜像的改动。详见 Docker保存修改后的镜像 。
3.wukong-robot运行
-
运行指令
python3 wukong.py
第一次启动时将提示你是否要到用户目录下创建一个配置文件,输入 y
即可。
然后通过唤醒词 “孙悟空” 唤醒 wukong-robot 进行交互(该唤醒词可自定义,另外强烈建议自训练一下唤醒词 以提升唤醒成功率和准确率)。
启动时如遇到如下问题:
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
不影响功能,只是pulseaudio的告警,可以忽略。
要让 wukong-robot 暂时屏蔽离线监听,可以在配置文件中设置 hotword_switch
为 true:
# 勿扰模式,该时间段内自动进入睡眠,避免监听
do_not_bother:
...
hotword_switch: false # 是否使用唤醒词开关唤醒模式
...
然后使用唤醒词 “悟空别吵” 屏蔽离线监听。需要时再通过 “悟空醒醒” 恢复监听。
-
wukong-robot管理端
wukong-robot 默认在运行期间还会启动一个后台管理端,提供了远程对话、查看修改配置、查看 log 等能力。
- 默认地址:http://localhost:5000
- 默认账户名:wukong
- 默认密码:wukong@2019
建议正式使用时修改用户名和密码,以免泄漏隐私。
-
后台运行
直接在终端中启动 wukong-robot ,等关掉终端后 wukong-robot 的进程可能就没了。
要想在后台保持运行 wukong-robot ,可以在 tmux 或 supervisor 中运行。
-
性能诊断
如果发现 wukong-robot 运行时响应很慢(例如有用户反馈交互一次后要等两分钟才能响应下一次交互),通常和你的网络环境有很大关系。例如某个服务因为防火墙的原因无法触达。可以以如下方式运行 wukong-robot :
python3 wukong.py profiling
wukong-robot 将在每一步交互后打印当次交互的性能调优数据。
标红的这一列会累计每一个任务的操作耗时。一般往下找到数字突然变小的那一行的上一行就是最大黑手。
执行 python3 wukong.py help
可以了解更多命令行用法。
-
外网访问
要在外网访问你家中的 wukong-robot ,可以参考 使用技巧 - 在家访问家中的 wukong-robot。
-
其他使用技巧
可以参考 使用技巧
-
遇见问题
- 参见 常见问题解答 ,找找有没有解决方案;
- 搜索 项目issue 和 第三方插件issue,看看有没有人问过;
- 加群(580447290)提问;
- 给项目 提issue 。第三方插件的问题请提到 wukong-contrib 。
4、树莓派wukong-robot运行效果
使用配置配件:树莓派3B+、USB摄像头(带麦克风)、音箱或耳机线(3.5mm孔)
唤醒词:目前先使用默认唤醒词 “孙悟空”