查看: 453|回复: 2

[教程] [教程]使用树莓派打造一台提醒机亲测成功

[复制链接]

1

主题

0

好友

159

积分

童生

Rank: 2

  • TA的每日心情
    无聊
    2016-10-4 23:25
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2016-8-17 22:52:22 |显示全部楼层
    本帖最后由 风飞花 于 2016-8-20 09:53 编辑

    原文:http://www.tuicool.com/articles/67Nbuir
    原创不是我,我只是就原创教程做进一步整理,因为说实话原创让我有点云里雾里。此教程谨献给小白们!
    谢谢大家的支持!


    如何用树莓派做一个定时提醒机,提醒机这个名字应该是我发明的,这样听上去厉害一点,但它的主要作用就是在你定好的时间,说出一句话,比如每隔半个小时说一次「认真看书!」或者每天早上的六点半自动开始放一曲提神的凤凰传奇。

    我白天要去一家好玩的公司实习,树莓派在家里,每隔一个小时就会提醒我女朋友喝水,每隔一个半小时会提醒她认真学习,还会不定时的说一些好玩的话给她听,这让她觉得非常有意思,她甚至还表示可能会爱上树莓派,当然我对此表示怀疑,树莓派虽然在程序的控制下显得很可爱,但谁也很难对着一块电路板产生感情。

    说了这么多废话,下面开始正式一点讲教程了。

    首先我默认你拥有一块树莓派,并且你安装好了Linux操作系统,连上了网络。

    要能够说话,首先要有嘴巴,对于树莓派来讲,这就意味着扬声器,因此,我们要给树莓派装一个扬声器,树莓派的要求并不高,大多数扬声器都能满足要求且能够工作,我就是用的随便翻出的一对USB小喇叭。

    装上了扬声器之后,我们还需要相应的软件去播放声音,我使用的软件是mpg123,mpg123是一个非常便捷高效的Linux命令行播放器,安装mpg123的命令是:
    1. sudo apt-get install mpg123
    复制代码
    具体的用法可以通过命令
    1. man mpg123
    复制代码
    来查看,我们可以试试这个命令,如果能听到悠扬的歌声,则说明你的mpg123 以及扬声器工作正常
    1. mpg123 “http://music.baidutt.com/up/kwcawskw/dscskw.mp3″
    复制代码
    (事实上,链接已经失效,无法播放。但不影响,只是以此展示mpg123的使用方法!)
    ,当然也可以用mplayer,安装mplayer的命令是:
    1. sudo apt-get install mplayer
    复制代码
    播放声音的部分搞定了,下面我们要做语音合成,语音合成,就是你听到的死板的电脑声音,虽然死板,但有时候听着却很好玩,我用的是百度的语音合成,百度的语音合成能够自定义音调,语速,男女声,这能够做出很多好玩的声音,百度语音的地址是: http://yuyin.baidu.com

    你需要注册账号,注册一个新应用,获得一个id和key,然后用这个id和key获得token


    key

    key

    这里是一个获取token的简单方法:

    首先在开发者平台申请了web应用,然后会给你一个api key

    打开浏览器输入如下URL

    https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id={你的API KEY}&redirect_uri=oob&scope=netdisk

    显示如下字符

    百度


    OAuth2.0
    在url里找到
    http://openapi.baidu.com/oauth/2 ... 92000&access_token={access_token}&session_secret={session_secret}&session_key={session_key}&scope=basic+netdisk

    获取token,然后就可以通过拼接url的方式来合成语音了,具体的拼接方式是:
    1. http://tsn.baidu.com/text2audio?tex=大家好我是机器人&lan=zh&per=0&pit=9&spd=9&cuid=***&ctp=1&tok=xxxxxxx
    复制代码
    tex是要合成的语音内容,per是声音的性别,1是男,0是女,默认是女,pit是音调,spd是语速,调节范围都是1-9,cuid是key,最后的tok是你通过你的id和key获取到的token,具体的获取方式见百度语音的文档。
    总之,现在你直接在浏览器打开这个链接,就可以听到合成的语音了,你在树莓派里面输入命令
    1. mpg123 “http://tsn.baidu.com/text2audio?tex=大家好我是机器人&lan=zh&per=0&pit=9&spd=9&cuid=***&ctp=1&tok=xxxxxxx”
    复制代码
    就可以从树莓派的喇叭里面听到它说这句话了。

    为了让说话这件事更简单方便一点,我们写一个python文件来调用,文件名为read.py,python文件代码如下(这里特别要注意引号“  ” 、‘  ’ 的配对,否则会出错 )
    1. # -*- coding: utf-8 -*-

    2. import os

    3. import sys

    4. url = “http://tsn.baidu.com/text2audio?tex=“+sys.argv[1]+”&lan=zh&per=1&pit=1&spd=7&cuid=***&ctp=1&tok=xxxxxxx”

    5. #print url

    6. os.system(‘mpg123 “%s”’%(url))
    复制代码
    这样一来,我们只需要输入命令

    python read.py 合成文字内容

    来很方便的合成语音了

    最后我们要解决的问题是定时,这个Linux系统本身就有很好的解决方案:crontab

    我们输入命令

    sudo crontab -e

    来打开这个定时器,我给你们看看我的

    1

    1


    比如第一个,就是每隔一个小时,执行一次后面的命令,第三个是每天的九点四十五,执行一次。

    好了,这就是本次教程,希望大家能够玩的愉快。
    回复

    使用道具 举报

    38

    主题

    2

    好友

    2231

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 190 天

    [LV.7]常住居民III

    发表于 2016-9-7 20:34:58 |显示全部楼层
    其实可以用espeak指令。不然没有网络的时候用云语音就用不了了~
    回复

    使用道具 举报

    0

    主题

    0

    好友

    52

    积分

    童生

    Rank: 2

  • TA的每日心情
    郁闷
    2016-9-12 22:08
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2016-9-12 22:27:36 |显示全部楼层
    好像和我现在要做的项目有点贴近啊,改天试试!!!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-5 18:28 , Processed in 0.094737 second(s), 13 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部