我们成功配置好双麦之后,每次启动都需要做下面几步开启双麦:
1、source ~/env/bin/activate 开启虚拟环境
(1.5、如果百度没有登陆,需要上baidu.com登陆授权过的百度帐号)
2、cd ~/Desktop/alexa/alexa/ 进入到语音唤醒对话的目录
3、python ns_kws_doa_alexa.py 运行语音唤醒对话程序
如果每次开机进行语音唤醒对话都需要输入这些命令,未免也太繁琐了些。
下面将教大家怎么将语音唤醒变为开机自启动的。
让程序启动后亮灯提示
用我们原来的语音唤醒程序会无法得知程序是否启动了,所以我们可以先修改一下代码,将其修改为启动程序后会亮一秒绿灯后灭。
cd ~/Desktop/alexa/alexa/ 进入到语音唤醒对话的目录
nano ns_kws_doa_alexa.py 编辑语音唤醒对话程序
添加如下代码到def main():下面的那一行(注意空格要和下面原本的代码对齐,不然无法运行):
pixels.show([0,0,24,0]*12)
time.sleep(1)
pixels.show([0]*4*12)
time.sleep(1)
保存后再python ns_kws_doa_alexa.py ,试下程序运行是否成功亮起1秒绿灯。
更改语音文件的目录
由于开机启动的目录不是在语音文件的目录,所以需要填写语音的目录到原本语音的位置。
输入nano ns_kws_doa_alexa.py,回车编辑程序。
如我本来自己录音的语音是beibei.pmdl
现在需要在其前面添加该语音文件的路径/home/pi/Desktop/alexa/alexa/
再保存运行python ns_kws_doa_alexa.py,试试能不能语音唤醒。
设置开机启动语音唤醒对话程序
完成上面两步后就可以设置开机启动该程序的代码了。
首先要确保您的树莓派开机后能连上网络,并且在baidu.com中可以看到您授权的百度帐号登陆着(上次能成功进行语音唤醒的话帐号是登陆着的)。
sudo nano /etc/rc.local 编辑开机启动文件
将exit 0之前的前面没有#号的语句删除掉,添加进这两个语句:
sudo su pi -c "source ~/env/bin/activate"
sudo su pi -c "python /home/pi/Desktop/alexa/alexa/ns_kws_doa_alexa.py"
添加后保存退出,sudo reboot重启树莓派。
开机后,树莓派闪了1秒绿灯说明程序已经运行了,可以语音唤醒对话的。
程序开机启动后怎么停止该程序?
可以在命令行输入top查看运行的程序,查找到名为python的程序,查看它现在的PID。
"ctrl"键+"c"键退出这个界面。
输入kill 546(python的PID号),即可停止我们设置自启动的程序。