之前看到一篇名為《通過手機遠程關機》的文章,寫的不錯,很有創意。
作為開發人員中的一員,我想我們都有這樣的一個想法,就是讓我們寫的代碼去實現我們生活中的一些日常事務,如遠程開/關機。
要說到這樣的想法,應該是在我大一學C語言的時候,那個時候自己剛剛接觸編程。在一個夜晚,自己把數字0-9,轉換成了大寫的:一,二......九
那時的喜悅和興奮,現在還記憶猶新。那時候的自己早已忘記了睡覺的時間,突然看看顯示器的右下角,擦!!!凌晨3點多了......
這只是一個開始,后來隨着自己接觸的東西,資料多了,想法也多了起來,遠程開/關機就是其中一個。
下面我說說我的想法:
1.采用Socket編程
2.建立一個web服務站點(方便管理)
3.在web服務站點上面配置一台短信貓服務器
4.約定好一個"協議"
5.一台手機(2張SIM卡,一張用於手機,一張用於短信貓)
6.開機硬件設備(該設備可以通過socket,接收到信號,並對相應信號進行處理,如進行開機操作)
准備好了以上東西,下面我們就可以開工了。
具體數據流程為:
1.我們按照我們約定好的"協議",用手機發送短信到短信貓服務器,短信貓服務器是建立在web服務站點上面的(這樣做主要是為了方便管理短信貓服務器的數據,其實這里用Java中的SWing也可以實現),短信貓服務器接收到了我們手機發送的短信,自動把短信保存到短信貓服務器的數據庫中。
2.我們在后台可以編寫一個監聽器程序,一直監聽短信貓服務器接收短信的動作,只要有短信被接收,則獲取到被接收到的短信內容,再按照我們約定好的"協議"進行對短信內容解碼操作。
3.對應解號的碼,系統通過Socket對不同的主機進行相應的操作。
對應的流程圖如下:
經過本人測試,這樣的設計是可行的。並且本人已經將這樣的設計原理運用到了自己所在大學的機房中,對機房中的服務器采集信息(如溫度,濕度等,這些需要借助於一些硬件設備),然后將信息反饋給機房的工作人員(數據流剛剛相反),這樣就實現了機房溫濕度監控。