智能家居火得很,相信大家都多少接触过。今天我要分享的是怎么低成本语音控制普通家电。

智能家居还要打开手机,解锁,打开软件,找到设备,点点点? no,一句话语音搞定。

语音控制需要买alexa echo,apple phone/home pod,google pixel,叮咚音箱,天猫精灵?no,本屌丝用的是500元的安卓机。

要买一大堆能上网,能用app的智能家电,还得是同一个平台的?no,咱家里一个都没。

要树莓派,群辉?no。

那需要什么呢?只要一台电脑,一部手机。一个broadlink rm pro(130元),这个设备能学习电视遥控之类的无线型号,然后由他来根据你的指令统一发送。

简单流程是:

1用手机作为语音输入(拿起即讲,不用解锁)

2用电脑上微软系统自带的小娜cortana做语音识别,并启动程序(离线可用)

3程序调用broadlink rm pro发送红外和射频信号,控制家电

空调,电视,风扇之类的一般都有遥控,灯需要自己改造,方法是把灯的开关拆开,里面加装一个支持射频信号控制的芯片(淘宝:lv开关,20元一个)。

详细的方法是:

1手机上安装rmbridge,让每个射频信号有一个特定的url地址,访问这个地址,broadlink rm pro就发送对应的信号。安装wo mic,负责传送语音给电脑的cortana

2电脑上的cortana可以语音命令启动任意程序(baidu:cortana 任意程序)。安装wo mic,负责接收手机的语音指令

比如我说:你好小娜,打开电视。我是对着手机说的,手机上的wo mic把语音传到电脑上,cortana收到语音,打了一个叫做”电视“的快捷方式,这个快捷方式指向一个vbs,这个vbs很简单就是一个http get指向一个url,这个url是rmbridge给出的,用来指挥broadlink rm pro发送打开电视的信号。

vbs就这么写行了:

Dim http

Set http = CreateObject("Msxml2.ServerXMLHTTP")

http.open "GET","url", False

http.send

复杂一点的,比如我说:你好小娜,打开小手拍拍。小手拍拍是我儿子喜欢看的动画儿歌,我一般是在链接了电脑的电视机上,打开爱奇艺,在线放给他看。这样的”小手拍拍“程序,要执行的是打开电视,打开电脑浏览器儿歌的地址,输出到电视屏幕,全屏。这样推荐用eventghost这个程序,自己编一下,eventghost有rmbridge插件。

还可以买个MCE遥控器,配合eventghost编一些程序在每个按钮上,也不用语音控制了,按一个按钮,启动“睡觉”程序:关灯,关电视,电脑播放10分钟轻音乐后休眠。

另外,我在《快速查询每日盈亏》https://xueqiu.com/7038138252/88006664,里面提到,文字转语音是用的百度的在线tts接口,其实这样要去网上转一圈比较慢,可以直接把文字让cortana念就行了,也是一个vbs。

Dim userInput

userInput ="你要念的文字"

Set Sapi = Wscript.CreateObject("SAPI.SpVoice")

Sapi.speak userInput

最后说几句,这个文章里可以看到微软在智能家居里其实大有可为。因为windows普及率很高,别看amazon的alexa echo现在卖了多少万台,数量上根本没法和装了windows的电脑数目比。而且,服务都在云端也有劣势,一是响应慢,二是自己定制功能麻烦。比如我可以让alexa在google涨超过3%的时候语音提示我,应为有证券类的skill支持这样的查询,但是如果你要它提示的是,涨幅3%,且成交量达到多少,且qqqq涨幅不超过多少,且均线多头,且vix波动多少,只是随便举个例子,这样复杂的条件,你得自己编程去开发个skill了,云端部署,不论是成本,难易程度,安全性,改动,各方面都不如自己电脑上弄。

说点什么