|
原文:
http://www.raspberrypi.org/phpBB ... 482d287d7fb089e0d60
hi,这是我第一个树莓派的项目,SiriProxy。它运行在树莓派上,使用wiringPi访问派的GPIO口,并发一个延时的on/off信号。这个延时信号用来控制我车库门。所以我可以在iphone上用siri来控制我的车库门。
可能有其它的方式来做同样的事情,比如在Pi上跑一个web服务器来访问Pi的GPIO端口,但是我只是简单的做了一个,符合我自己的需求,并且运行的一切正常。
我的派在整个安装过程中都用root用户运行,这样可以比较简单一些(原文粗制滥造)。我用wheezy版本。
下面这个链接 http://www.idownloadblog.com/201 ... oxy-tutorial-video/ 告诉你怎么安装和运行siriproxy。如果你按照这些步骤,并且把11,12,13步的顺序更换为12,13,11。顺便说一下,命令7大概需要在PI上编译90分钟。
然后开始安装wiringPi,可以从 https://projects.drogon.net/rasp ... wnload-and-install/ 获得。
一旦这些都安装好了,我们只需要更改一下siriproy里面自带的ruby脚本的例子。
编辑/root/SiriProxy/plugins/siriproxy-example/lib/siriproxy-example.rb 文件
找到这几行:- listen_for /test siri proxy/i do
- say "Siriproxy is up and running!" #say something to the user!
- request_completed #always complete your request! Otherwise the phone will "spin" at the user!
- end
复制代码 在它后面追加这几行- listen_for /open the garage door/i do
- say "Opening the garage door.."
- request_completed
- system("gpio mode 1 out")
- system("gpio write 1 1")
- system("sleep 0.5")
- system("gpio write 1 0")
- end
- listen_for /close the garage door/i do
- say "Closing the garage door.."
- request_completed
- system("gpio mode 1 out")
- system("gpio write 1 1")
- system("sleep 0.5")
- system("gpio write 1 0")
- end
复制代码 你可以看到,ruby脚本简单的用system命令来访问wiringPi,设置GPIO针脚作为输出端口,设置它半秒高电平,半秒低电平。
你可以让siri调用任何你在命令行终端能用的命令,比如说通过无密码的SSH登录到远程的电脑让它关机或重起。- listen_for /turn off my laptop/i do
- response = ask "Are you sure you want me to shut down your laptop?"
- if(response =~ /yes/i)
- say "OK, I'll shut it down now.."
- system("ssh root@192.168.1.74 shutdown -h now")
- else
- say "OK, I wont!"
- end
- request_completed
- end
复制代码 你可以把树莓派放在不同房间使用不同的命令控制,但只使用一个siriproxy服务器。注意:每次你修改完配置后,你需要在重起服务器之前运行"siriproxy bundle"命令。
这里还有一个我安装过程的演示视频。
http://youtu.be/NUJ5z76Xv5o
墙内的朋友安了吧,墙了。
|
评分
-
查看全部评分
|