若是你家裏有一臺24小時在線的計算機,好比一臺家用服務器,那麼你極可能須要經過終端運行一些命令來控制它,好比啓動進程、定位問題等等。DIY極客Steve想出了一種方法,能夠經過發送手機短信來在樹莓派上運行終端命令。
![ku-xlarge](http://static.javashuo.com/static/loading.gif)
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/ [ 轉載請保留原文出處、譯者和譯文連接。]