【超|开发日记Nov.】小白的零基础入门手册
t****n · t****n 发布于2017-12-04 23:34 浏览:3118 回复:21

简介

本人小白一枚,树莓派也好,开发板也好,哪怕是GPIO、杜邦线是啥,都是从接触DuerOS后才慢慢了解的。

本手册内容也是本着任何人,只要参照下面一步一步来,都能配置好DuerOS环境而书写的。

计划任务

  • 前期准备 2楼

    • 硬件篇

    • 软件篇

  • DuerOS初体验 3楼

    • 开箱

    • TF卡烧录

    • 硬件连接

    • 开机

    • 配网

    • 唤醒小度

  • 树莓派基本设置 4楼

    • SSH登陆

    • 系统基本设置

    • 修改默认密码

    • 开启 VNC Server

    • 修改 VNC 分辨率

    • 使用 VNC Viewer 访问树莓派远程桌面

    • 设置中文显示

    • 配置默认声卡

  • 安装Python DuerOS SDK 5楼

    • 停用镜像版小度的服务

    • 安装所有需要的依赖

    • 下载安装OpenSSL和Python2.7.14

    • 下载安装DuerOS Python SDK

    • 配置新设备

    • 设置授权回调页

    • 设置合成音

    • 聊天定制(系统画像)

    • 设置开发者ID和SECRET

    • 首次授权与唤醒

  • 唤醒词替换 6楼

    • 下载Snowboy Python

    • 下载、安装和配置swig-3.0.12

    • 创建自定义的唤醒词

    • 更换唤醒模型

    • 修改Python SDK代码

    • 使用新唤醒词唤醒


------------------------------------------------------------------------------

好了,暂定就这些。剩下的就是慢慢的更新资料了。


P.S.1. 话说论坛这个文本编辑器是真心的难用啊,写作的时间和修改版面的时间何止是1:2.5啊

P.S.2. 谁能提醒我一下,13年前的某一天,我为啥把QQ名改成叫“癞癞猪”了,真心想不起来了

点赞  ( 2 )
收藏
评论(21)
共21条回复 最后由d****发回复于2018-01-26 16:59
#2t****n回复于2017-12-04 23:35:02

前期准备

通过百度DuerOS开放平台申请到的开发板,只是相当于一块带2麦克的声卡,树莓派等设备是需要自行购买的。

重要的事情说三遍:树莓派需要自己买,树莓派需要自己买,树莓派需要自己买!

硬件篇

  • 树莓派3代B型(必须)

淘宝或京东购买,京东上面比较贵,我是在淘宝买的,裸机190。

关于是选中国版还是英国版,其实无所谓,购买之前查过一些资料,区别只是产地不同而已。

普遍说法是,中国版制作工艺稍微好点,英国版的返修率稍微低一点。

相比较而言,英国版的开发板有毛边,有割手感。

  • 电源适配器(插头)(必须)

树莓派3B所需的标准电压为5V ~ 2.5A

※1 一般手机充电头为5V1A,电压不稳,会出现各种各样的问题,屏幕右上角会有黄色闪电图标。

※2 新手机带快充功能的2A的可以勉强使用。

※3 亲测,IPAD的充电头标注的是5V2A,但会出现黄色闪电图标,小米4、红米Note4的充电头没问题。

※4 如果是新购电源适配器的话,建议顺便买一条带开关的USB线,开关方便。

    因为我没买电源,而且插排本身带独立开关,我就没买。

  • TF存储卡(必须)

建议购买容量16G以上、速率是Class10的TF卡。

※1 DuerOS_For_Raspberry镜像文件本身就是7.2G,8G存储卡太紧张了

※2 我购买的是闪迪(SanDisk)A1 32GB 读速98MB/s 至尊高速移动MicroSDHC UHS-I

※3 更高级的闪迪金卡(至尊极速)系列没必要,价格贵,而且貌似树莓派也不支持那么高速率

  • Micro USB 数据线两根(必须)

MicroUSB数据线,常见的是安卓手机用数据线,一头USB,一头是扁口。(和苹果的不一样)

※1 一根是电源连接树莓派用,一根是树莓派连接DuerOS开发板用。

※2 有些充电宝的数据线内部只有2根线,没有数据传输功能,这种线不能用。

  • 树莓派用散热片(可选,建议拥有)

反正就几块钱,买个安心吧,呵呵。

一般配套来的是3个散热片,一高一矮一扁片

其中有一个超高,树莓派直插安装DuerOS开发板的时候会扣不上。

  • AUX线(耳机线)(可选,建议拥有)

3.5mm公对公双声道立体声音频线,说白了就是双端都是和耳机插头一样的线。

外接音箱用的,树莓派3B自带蓝牙,也可以使用蓝牙和音箱连接,不过还是建议用音频线直连。

  • TF读卡器(可选)

如果使用台式机的话,需要购买一个TF读卡器,刷系统用。

如果使用笔记本的话,一般都自带SD卡槽,手里有SD卡套的情况下,可以不用购买。

  • HDMI线(可选)

连接显示器使用,需要确认显示器的接口。

※1 分 普通HDMI线、HDMI转DVI线、HDMI转VGA线 3种

※2 因为可以SSH、VNC远程连接操作,所以是非必须品。

※3 笔记本的HDMI口为输出口,所以不能把树莓派直接连到笔记本的HDMI口上。

  • 树莓派外壳(可选)

个人觉得没用,就没买。

如果想买的话,需要注意一点,全封闭外壳装不下DuerOS开发板,塔式、开放式无所谓。

下面是我购买的其他配件

  • 一分三GPIO扩展板

因为DuerOS开发板是直接插入树莓派的,GPIO接口全部遮挡住了,如果想要再搞点其他东西,就没有地方了。

看论坛中其他大神们根据开发资料中的使用接口,使用杜邦线进行分离,

像我这种连从哪个方向数是第一个针脚都不知道的纯小白,想想还是算了吧,

这样使用一分三GPIO扩展板后,再搞一个压好FC头的排线,就不会出现插反导致烧板子的危险了。

  • 杜邦线若干

2.54mm间距双排杜邦线排线公对母20cm(2*20P)一根

20cm公对公、公对母、母对母带壳杜邦线各一根(40P)

以上就是我所购买的全部硬件。


软件篇

  • Etcher

官方推荐烧录软件,简单实用,就几个按钮,不是中文版也没关系。

前几天有更新,现在最新版本为v1.2

官网地址:https://etcher.io/

  • PuTTY

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。

PuTTY是一款免费的远程登录工具,相比于其他同类软件,PuTTY绝对称得上是最出色的工具之一,

本款软件轻盈小巧、无需安装,操作简单易上手,非常适合用来远程管理Linux。

  • VNC Viewer

一款远程控制软件,DuerOS开发套件个人版镜像中自带VNC Server版,

只要开启就可以通过VNC Viewer访问远程桌面了。

官网下载地址:Download VNC Viewer


大鱼叔叔在百度云盘提供一个工具包: 【大鱼叔叔|开发日记】常用工具 

百度云盘  提取码:oz0i


另外,关于扩展板,有必要强调一下!

我买的扩展版长的是这个样子,                                               安装完是这个样子滴:

绿板.png


之前看大雨叔叔的帖子《【大鱼叔叔|开发日志】智能物联网网关:语音控制与数据获取》,

发现他的扩展板和开发板安装完后,形状很奇怪,很扭曲呀:

大鱼.png

后来跑群里问了一下才知道,树莓派的扩展板(红色这款),板子上面的印字和针脚实际上是反的!!!

如果按照印字直接插入的话,一准的烧开发板,所以使用扩展板的同学一定要注意注意再注意。

下面这张图是群里以为朋友特意拍下来的错误版本,大家可以和上边我购买那款对比一下。

错误.png

-----------------------------------------------------

前期准备篇 完。

2
#3t****n回复于2017-12-04 23:35:22

DuerOS初体验

  • 开箱

    最近天太冷,拖延症又犯了,今天抓紧写出来,然后搞技能进修去,话不多说,直接进入正题。

    因【大兴“11·18”火灾事故】的缘故,我们这一批开发板来的是相当的不容易啊。

    12月1日晚,开发板到手,下面是开箱照片。

    

    

    


  • TF卡烧录

    TF卡的烧录很简单

    1. DuerOS智能硬件开发套件产品介绍 中,下载 DuerOS开发套件个人版镜像软件

       (截至发稿前,版本为:DuerOS_For_Raspberry_V0.7.10_20170901。因相关协议升级,本周会提供新的镜像文件)

    2. 使用之前已经下载好的 Etcher 软件进行烧录。

       软件相当简单,第一图标选择镜像文件,第二个图标选择TF卡所在盘符,第三个图标开始烧录。

    Etcher.png

    无标题.png

    无标题2.png


  • 硬件连接

    基本连接方法参照《DuerOS开发套件个人版规格及使用说明书》就好,

    这里主要是爆照一下添加扩展板后的图片

    

    

    

    IMG_20171201_222846.jpg

  • 开机

    通电开机,就会听到“你好,我是小度,正在开机,请稍等”的提示,

  • 配网

    手机端下载小度之家APP,根据提示即可给树莓派配置网络。

    (不知道为什么不能上传手机截屏图片,一直提示文件可能存在安全问题,禁止上传


  • 唤醒小度

    现在就可以通“小度小度”在唤醒设备了。





1
#4t****n回复于2017-12-04 23:35:42

时间如白驹过隙匆匆而过,转眼间21号了

最近被技能进修HTTPS的问题所困扰,

一直没有更新早就该整理的开发日记,

今天一定要抓住这个活动的小尾巴,

把日记更新完!

好了,废话不多说,开整!


树莓派基本设置

  • SSH登陆

    在使用SSH登陆前,先确认一下树莓派所分派的IP地址

    无标题ddd.png

    打开PuTTY,输入刚才已经查到的IP地址,端口22,连接类型SSH,点击Open开始连接树莓派

    SSH.png

    第一次登录会出现指纹认证信息,这里点YES即可

    SSH2.png

    输入用户名和密码,其中密码输入时屏幕无变化,输入完密码记得按回车哦~

    默认用户: pi

    默认密码: raspberry

    登陆后界面

    SSH3.png

  • 系统基本设置

    为了方便我们后续的操作,对树莓派进行一些设置。

    打开系统配置工具

sudo raspi-config

    SSH4.png

    Config1.png

    这时我们发现打开的设置界面边界线都是乱码,这是文字编码设置不对的问题,

    按Esc退出,返回到命令行界面,输入exit退出连接状态。

    再次打开PuTTY软件,按照下图进行设置后,再次连接树莓派

    Config0.png

    进入系统配置工具,现在边线可以正常显示了 ( ̄▽ ̄)"

    Config2.png


  • 修改默认密码

    呵呵,我比较懒,每次输入密码raspberry都感觉好麻烦,还是修改为自己顺手的密码比较方便。

    选择第一项【1 Change User Password】,分别输入两次新密码,搞定。

    Config2.png

  • 开启 VNC Server

    百度提供的DuerOS_For_Raspberry镜像中,默认包含VNC Server,这里我们将服务打开

5 Interfacing Options -> P3 VNC -> Yes

    Config3.png

    Config4.png

    Config5.png

    这里选择<Yes>,抓图的时候忘记选择了。--`

    Config6.png

    OK,VNC Server开启完毕。

  • 修改 VNC 分辨率

7 Advanced Options -> A5 Resolution

    之前抓好的图丢了。。。找不到了。。。回头我再重新抓一下。。。

    好了,上面这些都设置好后,先保存重启一下。

    Config7.png

    重启的命令是

sudo reboot
  • 使用 VNC Viewer 访问树莓派远程桌面

    打开VNC Viewer软件,输入树莓派的IP地址

    VNC1.png

    首次连接的时候和PuTTY一样,会出现指纹认证信息

    VNC2.png

    选择【Continue】后,出现用户登陆验证界面,因为是个人电脑嘛,可以把保存密码选上。

    VNC3.png

    点击OK键后,就可以显示树莓派的系统界面了

    VNC4.png

  • 设置中文显示

    树莓派默认是采用英文字库的,而且系统里没有预装中文字库,

    所以即使你在locale中改成中文,也不会显示中文,只会显示一堆方块。

    因此需要我们手动来安装中文字体。

    好在有一个中文字体是免费开源使用的。ssh中输入以下命令:

sudo apt-get install ttf-wqy-zenhei

    安装过程中如果碰到(Y/n),都选择y

    中文字库安装完成之后,还需要安装一个中文输入法。输入如下命令

sudo apt-get install scim-pinyin

    一样的安装过程,安装完毕后输入

sudo raspi-config

    然后选择change_locale,

    在Default locale for the system environment:中选择zh_CN.UTF-8,

    配置完成之后,输入命令

sudo reboot

    重启完成好就可以在VNC连接上去后使用中文显示和中文输入法了,

    切换中文输入法一样也是ctrl+space。

  • 配置默认声卡

    等下我们使用Python DuerOS SDK的时候,系统默认输出声卡是树莓派的声卡,

    不是DuerOS的开发板,树莓派的主板输出音频真的很不好,声音小,杂音大,

    用网页播放音乐的时候,移动鼠标都会导致音频出现杂音,还是DuerOS的开发板输出效果更好一些。

    具体修改方法我这里就不复述了,主要参照这篇日志 【谷哥|开发日志】声音输出问题 解决方案

    日志中提到的软件设置方案我没成功,反倒是下面直接修改配置文件的方式一次成功了。


    通过文件.asoundrc 文件设置默认声卡

pi@raspberrypi:~$ cat .asoundrc 
pcm.!default {
        type hw
        card 2
}
ctl.!default {
        type hw
        card 2
}

树莓派基本设置篇 完。

0
#5t****n回复于2017-12-04 23:36:05

安装Python DuerOS SDK篇

这里我们主要参照两篇日志:

其中,大鱼叔叔的操作顺序更合理一些。

现在,开整!

1、停用镜像版小度的服务

sudo systemctl disable duer
sudo systemctl stop duer


2、安装所有需要的依赖

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

大鱼的写法更简洁,不用一次一次的单独执行指令


3、下载安装OpenSSL和Python2.7.14

  OpenSSL:链接: https://pan.baidu.com/s/1skAP6WH 密码: wknz

  Python2.7.14:链接: https://pan.baidu.com/s/1o8MHkzK 密码: ngx4

如果是使用树莓派图形界面下载的话,默认下载地址是Download目录,需要手动把下载好的两个文件移动到/home/pi/目录中

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


4、下载安装DuerOS Python SDK

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


5、配置新设备

    进度【设备控制台】

    无标题www.png

    配置新设备

    360截图-87312687.png

    请选择终端场景选择音箱

    360截图-87402203.png

    请选择操作系统

    360截图-87505578.png

    创建产品名称

    360截图-87642046.png

    360截图-87836218.png

    完成

    DuerOS开放平台 _ 控制台.png


6、设置授权回调页

    登录百度开发者中心:http://developer.baidu.com/

    1.png

    创建新工程

    2.png

    3.png

    进入安全设置

    4.png

    设置授权回调页

    5.png

    输入内容如下:

http://127.0.0.1:3000/authresponse,
bdconnect://success,bdconnect://cancel


7、设置合成音

    我靠!怎么找不到了?百度改版给改没了???


8、聊天定制(系统画像)

    回到设备控制台 - 云服务配置 - BOT配置 - 编辑系统画像

    6.png

    里面可以设置的东西很多,各位客官自己慢慢看吧,我们只要先把姓名属性修改就可以了。

    主要是为了验证等下使用Python DuerOS SDK唤醒的时候是否使用的是我们自己创建的Bot用。

    7.png

    注意:系统画像是更改一天后才生效。


9、设置开发者ID和SECRET

    那啥,因为是在公司补充日志内容,没办法抓图,回家再补充上。

    暂时各位客官现去大鱼的日志看图片吧,很简单的。


10、首次授权与唤醒

    

cd /home/pi/DuerOS-Python-Client/


    授权:(需要用到浏览器登录你的百度开发者账户)

 ./auth.sh


    语音唤醒:

./wakeup_trigger_start.sh

    回车唤醒:

./enter_trigger_start.sh


好了,执行语音唤醒命令,呼叫“小度小度”,问一下她的名字吧


补充一下DUEROS命令

# DUEROS命令
sudo systemctl status duer   查看duer状态
sudo systemctl enable duer   开启开机自动启动
sudo systemctl disable duer  禁止开机自动启动
sudo systemctl start duer    运行duer
sudo systemctl stop duer     停止duer


1
#6t****n回复于2017-12-04 23:36:27

占楼(唤醒词替换)

0
#7t****n回复于2017-12-07 21:24:18

最近天太冷,拖延症又犯了,今天抓紧写出来,然后搞技能进修去,

话不多说,直接进入正题。


DuerOS初体验

  • 开箱

因【大兴“11·18”火灾事故】的缘故,我们这一批开发板来的是相当的不容易啊。

12月1日晚,开发板到手,下面是开箱照片。

  • TF卡烧录



  • 硬件连接



  • 开机



  • 配网



  • 唤醒小度






#8莫****a回复于2017-12-08 18:55:48

写的挺好,mark下~

0
#9y****g回复于2017-12-09 12:51:25

不错

0
#10G****s回复于2017-12-09 22:58:45

很清楚。赞呀。

0
#11普****二回复于2017-12-11 19:08:47

如果没有DuerOS开发套件个人版有什么好的替代品呢?


0
TOP