在前面的文章中,挨踢小茶已经简单介绍了树莓派,以及如何利用树莓派使用手机app,使用web网页来对家中的红外插座进行远程操控,从而能控制一些简单家庭设备的开与关。本文将进一步讲解一下,如何使用语音来对其进行控制,打造属于自己的SIRI私人管家!
需要的硬件
除了之前所需要的硬件(树莓派、无线WIFI网卡、电源线、杜邦线、红外接收器、红外发射器)之外,还需要一个USB麦克风,来输入语音指令,以及一个3.5MM接口的任何音响,耳机或音频输出设备来接受指令反馈。
下面是我在某宝上买的树莓派免驱的USB麦克风,大概20多RMB。
使用语音接口
目前有几种语音接口可以使用来实现我们利用语音来控制树莓派的目的,其中一种以前比较主流的是SiriProxy,但是这个源码已经有2,3年没有更新了,而且也只支持苹果IOS7,并没有明确说明能支持最新的IOS9,有兴趣可以去看看Github上的源码并使用。还有比较开源语音项目Jasper,不过挨踢小茶没有亲自试过,如果有丰富编程开发经验的也建议可以试一下。本文主要介绍的是第三种,由Steven Hickson开发的语音脚本voicecommand。当然业界也有一些大公司例如Google,百度,讯飞等开发的免费语音接口,都可以尝试一下。
Voicecommand最酷的地方是你可以给你的树莓派定义一个名字(例如Baby, Tom, Honey, Peter等),如果你对着麦克风说出这个名字,它就会回应你“Yes,Sir?”(或者其他自定义的语句),然后你可以告诉它你要执行的事情,比如“Open the light”,然后家里的灯就开了! 语音的操作方式,让你不需要用任何APP甚至手机,而是随时随地地对你的智能管家进行控制。
开始使用语音代码
在你的树莓派上运行一下命令安装(可能会因你的树莓派运行的OS版本不同而命令稍有不同),如果没有git先用yum install -y git安装一下。
git clone git://github.com/StevenHickson/PiAUISuite.git
cd PiAUISuite/Install/
./InstallAUISuite.sh
在安装的过程中,系统会问你需不需要安装各种组建,至少安装voicecommand这一个组建,其他组建看个人需求。另外有一个组建是gtextcommand,最好不要安装,因为这个需要申请一个Google的voice api,而这个账号需要一个美国本土的手机号码来注册才行。
具体安装步骤不一一阐述了,详细的可以看原作者的视频介绍https://www.youtube.com/watch?v=lnfYMspTGhc(自带梯子吧)
使用voicecommand -s可以编辑你的语音文件
open the fan == sudo irsend SEND_ONCE xxx KEY_UP
之后,你只需要激活voicecommand之后,可以使用open the fan来对家里的电灯进行操作啦!
另外,因为后期Google的Voice API限制了每个IP的访问,所以有的时候voicecommand无法正常调用,这个时候需要更改一下PiAUISuite/VoiceCommand/tts文件,将其中的google api进行替换,可以换成Voice RSS的API。具体替换方法可以参照一下http://www.modified.systems/archives/tag/voicecommand。其中需要自己申请一个账号,将其中的token更改为自己的token就可以了。
效果
最终效果可以看看挨踢小茶录的一个小视频演示。
后续工作
目前,这个语音脚本只是支持英文的,Voice RSS也明确说明支持中文,但还没有进行相关尝试。在某些步骤操作的时候,需要挂代理才能正常,如果换成国内语音API(讯飞等)可能不会存在这个问题。后面还需要做的是看看能否控制除了简单电器开和关的功能外,是否能开发出其他更复杂的功能,比如灯的明暗,控制电视机和空调等。
至此,挨踢小茶关于树莓派智能家居的教程结束!希望大家能喜欢!
文章评论
新手来这里决定多顶文章学习~!
无意中看到楼主打造的东西和我打造的东西有点类似,共勉一下 http://blog.freshz.cn/articles/2015/12/26/1451118818242.html
@那B小心 能否留个联系方式,方便沟通
OH,GOOD BLOG.
这个可以有!
有点用,谢谢楼主的分享