若是你家里有一台24小时在线的计算机,好比一台家用服务器,那么你极可能须要经过终端运行一些命令来控制它,好比启动进程、定位问题等等。DIY极客Steve想出了一种方法,能够经过发送手机短信来在树莓派上运行终端命令。

Steve使用了
Google Voice服务,经过一个简单的程序每分钟检查一次发送的信息。若是他经过手机发送的短信以“cmd”开头,他的目标计算机就会运行以后的命令。简单的说,这套机制容许Steve经过SMS来SSH到他的电脑上。你可能不会用这种方式来完成一些复杂的任务,可是当你不在家又但愿能控制电脑时,这种方法就很是实用。 附上Steve的博文: 下面这个程序能让你经过短信息来控制计算机,把它当成SSH over短信就行了。设计这个是为了能快速智能化地查看未读的Google Voice信息。若是传送了特定的参数,树莓派就会运行你发送的命令并返回结果。这个程序须要用到curl和libboost1.50-regex。安装脚本会自动安装curl和boost-regex。 注意:该程序能工做在任何Linux系统上,但我是在树莓派上使用它的,所以若是你使用的是别的平台,那么你就要自行编译了(记得要修改Makefile中的flags)。 github上的稳定版本地址:
https://github.com/StevenHickson/PiAUISuite 这里能够找到副本源:
http://stevenhickson-code.googlecode.com/svn/trunk/AUI/TextCommand/ 很不幸的是Google Voice并无可用的API,因此我只能本身写了。我以为
这个和
这个页面上有不错的参考,但是它们都没法正常工做,因此我只有依据这些参考本身实现。安装脚本会自动加载它们,你能够自由地无偿使用,只要你引用个人名字并遵循GPLv3协议就能够了。 这个程序经过
cron来每隔一分钟运行一次脚本。脚本检查你未读的消息,并使用curl来确保知足某些安全参数。若是出现了特定的参数,好比一个合法的电话号码以及命令,那么程序就会运行你输入的命令。命令执行后的结果将经过短信发送给你。这个程序不能同交互式的命令如more和man一块儿工做。
安装步骤(须要git)
sudo apt-get install git-core
git clone git://github.com/StevenHickson/PiAUISuite.git
cd PiAUISuite/Install/
./InstallAUISuite.sh
升级步骤
cd PiAUISuite
git pull
cd Install
sudo ./UpdateAUISuite.sh
程序代码中还包含有一些其余的脚本,你能够忽略它们。脚本中会询问你有关用户名的一些细节。这就是你的Google Voice用户名,密码,关键字以及合法的号码。 你的Google Voice用户名就是你的e-mail,好比:
John.Doe@gmail.com 密码就是你的Google Voice密码:
ThisIsntMyPassword 关键字就是合法的命令标识,用来表示发送给计算机的命令。好比,我选择的命令标识是Cmd,因此我在手机上编辑:Cmd ls,发送后就能够获得当前目录的统计信息。至于那个合法的电话号码,这就是你但愿Google Voice接收发来的命令的手机号码(注,不是你的Google Voice号码!)你必须输入国家编码,但不带符号‘+’,好比:
1555333xxxx 设置完以后就应该能正常工做了。 注意,我修复了安装脚本中的几个bug,已经从新提交了。因此确保你拿到的是最新版哦。 原文连接:
Steven Hickson 翻译:
极客范 -
陈舸 译文连接:
http://www.geekfan.net/2299/ [ 转载请保留原文出处、译者和译文连接。]