【生活满是幸福|开发日记】第三步操作② (python sdk)
生活满是幸福 · 生活满是幸福 发布于2017-11-01 22:44 浏览:1603 回复:6

【生活满是幸福|开发日记】第一步操作 (开箱)


【生活满是幸福|开发日记】第二步操作 (上电初体验)


【生活满是幸福|开发日记】第三步操作① (ssh连接到派)


【生活满是幸福|开发日记】第三步操作② (python sdk)


【生活满是幸福|开发日记】第三步操作③(python sdk 修改唤醒词) 


相信到这里大家已经基本熟悉了 Dueros 的一些操作了。

上篇文章推荐给了大家官方发布的 Step by Step 带你玩转Dueros 文章,根据文章流程可以完成 Python 的配置了。这里还是在简单和大家聊一聊我的集成步骤。


说在前面的话:烧写的是dueros定制的 镜像文件,树莓派官方的那个用dueros会碰到很多坑,为了减少不必要的麻烦,还是严格按照 规定的操作步骤操作。


1、dueros 下载地址前面文章有提到

2、Python sdk 下面开始介绍


第一步:停用与停止duer服务

    1. 停止现有小度功能,因为会占用MIC资源

       sudo systemctl disable duer
       sudo systemctl stop duer
    2. 安装依赖包

       sudo apt-get update
       sudo apt-get install python-dateutil
       sudo apt-get install gir1.2-gstreamer-1.0
       sudo apt-get install python-pyaudio
       sudo apt-get install libatlas-base-dev
       sudo apt-get install python-dev     
       sudo pip install tornado
       sudo pip install hyper

    c. 下载编译好的openssl和Python安装包,并进行安装, 需要更新openssl才能支持python sdk的使用

    *从如下地址下载openssl安装包*(链接: https://pan.baidu.com/s/1skAP6WH 密码: wknz)
    *从如下地址下载python2.7.14安装包*(链接: https://pan.baidu.com/s/1o8MHkzK 密码: ngx4)
      -c 断点续传  -referer 网盘地址  -O 文件名称 "下载地址"
      wget -c -referer=https://pan.baidu.com/s/1skAP6WH -O openssl1.1.tar.gz "https://nbcache00.baidupcs.com/file/d5b97b783579dfcbfab32a5f18195b55?bkt=p3-00009b22f2702ba26b60960bd8ebc8a6d0e7&xcode=8b3b02f558e3b601270aface85fa8789699dd91828c2eb8965d75071b4dbd0f7&fid=1027801068-250528-644335669474862&time=1509534345&sign=FDTAXGERLQBHSK-DCb740ccc5511e5e8fedcff06b081203-ZdvkQodSDz0iVsDloS%2BFRpg3Zl4%3D&to=h5&size=4652077&sta_dx=4652077&sta_cs=57&sta_ft=gz&sta_ct=1&sta_mt=1&fm2=MH,Yangquan,Anywhere,,hebei,ct&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=00009b22f2702ba26b60960bd8ebc8a6d0e7&sl=79364174&expires=8h&rt=sh&r=733100359&mlogid=7069072060287227323&vuk=2097840769&vbdid=577984456&fin=openssl1.1.tar.gz&fn=openssl1.1.tar.gz&rtype=1&iv=0&dp-logid=7069072060287227323&dp-callid=0.1.1&hps=1&tsl=100&csl=100&csign=3JCVaOd%2FfuYcz7BCibCJZMTmjnk%3D&so=0&ut=6&uter=4&serv=0&uc=1716874072&ic=2230923489&ti=84e00b17b0ca95cbc1c96e6f1136e887ce8aad665e3dd58b&by=themis"
      wget -c -referer=https://pan.baidu.com/s/1o8MHkzK -O python2.7.14.tar.gz "https://nbcache00.baidupcs.com/file/71e80ef1c786d7057c78b44da930643e?bkt=p3-00002007b2be2b9d790d7d43a2943aad1353&xcode=ed1ecb040c39a7535dfbcd4b9f1852b4e7602a0233d16cd60b2977702d3e6764&fid=1027801068-250528-465544325363271&time=1509534538&sign=FDTAXGERLQBHSK-DCb740ccc5511e5e8fedcff06b081203-%2B1T3piC9MdIB0hYAoWwRttr7kzU%3D&to=h5&size=30665645&sta_dx=30665645&sta_cs=45&sta_ft=gz&sta_ct=1&sta_mt=1&fm2=MH,Yangquan,Anywhere,,hebei,ct&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=00002007b2be2b9d790d7d43a2943aad1353&sl=79364174&expires=8h&rt=sh&r=142050105&mlogid=7069123928181104606&vuk=2097840769&vbdid=577984456&fin=python2.7.14.tar.gz&fn=python2.7.14.tar.gz&rtype=1&iv=0&dp-logid=7069123928181104606&dp-callid=0.1.1&hps=1&tsl=100&csl=100&csign=3JCVaOd%2FfuYcz7BCibCJZMTmjnk%3D&so=0&ut=6&uter=4&serv=0&uc=1716874072&ic=2230923489&ti=dc6499186391bbe425df8c6bdad8277915c86901e9e287c3&by=themis"
     sudo tar -zxvf openssl1.1.tar.gz -C /usr
     sudo tar -zxvf python2.7.14.tar.gz -C /usr/local/
     sudo rm -rf /usr/bin/python
     sudo ln -s /usr/local/python2.7    .14/bin/python /usr/bin/python


    到了这里环境已经配置妥当,接下来就是下载 Python sdk 了


    

    git clone https://github.com/MyDuerOS/DuerOS-Python-Client.git
   cd DuerOS-Python-Client
   git checkout raspberry-dev


    运行测试


   1.授权(暂时不要执行,先看下面)
   ./auth.py

执行此命令ssh连接已经满足不了我们的需要了,因为执行此命令的时候会调起浏览器授权所以需要连接显示器或者 远程桌面

以远程桌面为例,远程桌面启用步骤


输入命令:sudo apt-get install xrdp用以安装xrdp

安装完成后,输入如下命令: sudo /etc/init.d/xrdp start

                                             sudo update-rc.d xrdp defaults

第一条命令是启动xrdp服务,第二条命令是将xrdp服务加入到系统默认启动服务中。

此时,打开笔记本电脑上的远程桌面,输入相关参数即可远程桌面到树莓派上去了。

 

可能遇到的问题

(1)在用apt-get命令安装软件的时候,会报错:

Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

解决方式: sudo apt-get update 升级源

     sudo apt-get upgrade 更新已安装的包

若还不能解决,执行上面两个命令也报错,有可能是网络连接的问题,你看下是不是在系统连接源地址的时候卡住了,如果是的话就就是网络连接问题。对于这个问题,可能会出现一个奇怪的现象,那就是笔记本和树莓派是连接在一起的(能用ssh连接就是),你在笔记本上ping树莓派能ping通,但是在树莓派上面ping不通笔记本,而且树莓派还上不了外网。这其实是你电脑的防火墙在做鬼,而我电脑的防火墙是由杀毒软件接管控制的,所以你把杀毒软件关了也就可以了。

这时候你在升级下源,在安装xrpd就可以了。

 

(2)在桌面远程连接时,你的xrpd会显示unconnenting的报错:

这应该是你没有装vnc服务导致的。其实xrpd服务也是依赖VNC服务的。所以,我们还需要装下vnc服务。

输入命令:sudo -apt-get install tightvncserver,   安装vnc服务。然后启动服务和设置默认启动。

(dueros只执行(1)的话xrdp不能正常使用。需要安装第(2)步的vnc服务

到此处远程桌面已经可以用了。下面我们开始连接远程桌面


以win7为例


QQ截图20171101222925.png


QQ截图20171101223027.png


QQ截图20171101223040.png


QQ截图20171101223312.png


./auth.py

执行授权

QQ截图20171101223610.png

执行后会调起浏览器,输入百度账号与密码,登录即可完成授权。上图是授权之后的界面。


QQ截图20171101214946.png

授权的时候会提示一个错误信息,但是不影响授权过程,可以忽视掉。

  1. 唤醒加识别

     ./wakeup_trigger_start.sh
  2. enter按键触发识别

     ./enter_trigger_start.sh

  当执行上面任意一条命令都会进入识别等待,组合按键Ctrl+C可以结束。

 

 遇到了一个小问题,希望大家注意。 烧写了dueros系统镜像,播放用的是 “个人板”上面的3.5耳机接口。但是使用Python sdk 之后需要将音响或者耳机插入到 树莓派 上面的 3.5耳机接口。

点赞  ( 0 )
收藏
评论(6)
共6条回复 最后由happycool333回复于2017-11-06 09:49
#2生活满是幸福回复于2017-11-01 22:46:56

识别经常卡死,Ctrl+C 结束掉,重新执行

  1. 唤醒加识别

     ./wakeup_trigger_start.sh
  2. enter按键触发识别

     ./enter_trigger_start.sh

这两条任意一条可以重新识别。

0
#3生活满是幸福回复于2017-11-01 23:20:52

替换成自己在DuerOS开放平台申请的client_id和client_secret,进而实现在控制台自定义的配置属性。

app/auth.py

QQ截图20171101231355.png


QQ截图20171101231502.png


需要在开放平台中“安全设置”的“授权回调页",设置成

http://127.0.0.1:3000/authresponse


QQ截图20171101231557.png

0
#4Athos回复于2017-11-03 16:12:20

干货满满,谢谢~

0
#5Cqlismy回复于2017-11-03 16:17:35

远程桌面,系统带有vnc,raspi-config配置即可启用

1
#6happycool333回复于2017-11-06 09:48:18

mark一下,我遇到了一个异常,可能是音频口没有更换。

官方教程没有说更换音箱线插口这回事啊。

0
#7happycool333回复于2017-11-06 09:49:15
#5 Cqlismy回复
远程桌面,系统带有vnc,raspi-config配置即可启用
系统默认带vnc啊, 没有注意到呢。回头看看。
0
TOP