首先介紹一下背景。俺是個搞IT的,每天大部分的時間都要面對計算機,筆記本每天開機12小時以上,在這里首先允許俺向她致以最崇高的敬意:“謝謝,辛苦你啦……”。
“下面不要亂……不要亂,聽俺說完……”
所以俺非常希望手機能和PC進行交互,在筆記本上收發短信要像收發email一樣方便才好,畢竟論打字電腦鍵盤比手機鍵盤好用多了。
“這個觀點沒人反對吧?反對的請舉手……好,沒人舉手,俺繼續……”
其實網上已經有類似的軟件,可以和手機同步短信,但俺覺得都不好用……
“什么?‘你怎么這么難伺候?’,ft,難道俺就不能有點兒自己的習慣嗎?就不能有點兒自己的個性嗎?就不能有點兒反抗精神嗎?就不能有點兒自力更生艱苦奮斗嗎?就不能有點兒bt嗎?哼……不跟你吵……”。
于是俺就決定要仿照那些已有的同步軟件,為自己量身定做一個,不再受制于人,俺要翻身坐主人。正是這個光榮的偉大的正確的思想指引著俺從勝利走向……
“wo靠,誰扔的雞蛋……好了好了,表扔了,算你狠……接下來說的都是正經的……”
開始在網上查相關資料,越看俺越激動,越看俺越興奮……
“大家注意啦,到高潮部分了,幫忙叫醒旁邊打瞌睡的同志……”
俺發現索愛的手機不但在外觀功能做工上有一大坨一大坨的優點,還有一個很嚴重的優點……“注意俺的措辭,‘嚴重’”,就是和PC的交互性非常好,更為嚴重的是,索愛官方網站上的開發文檔非常詳盡。不但有索愛所有型號手機的白皮書,還有……
Sony EriCSSon AT Commands Online Reference (Nov) Nov 19, 2003
Developers' Guidelines with an AT Commands Online Reference for Sony Ericsson phones (covers T68i, T300/T302/T306, T310/T312/T316, T610/T616/T618, Z600/Z608, T628/T630, P800/P802 and P900/P908).
Download Doc (Size 2.1 Mb)
看到沒?這就是索愛手機AT指令參考文檔,里面列舉了索愛手機支持的AT指令,還有例子……
“什么?‘啥叫AT指令?’這個嘛,AT指令過去是用來對modem進行操作的……俺舉個例子吧:比如,通過紅外對手機輸入‘AT+CMGL=4’,那么手機就會通過紅外給你返回存儲的所有短信……”。
“什么?‘還不明白’,那就算了,俺接著說別的……”。
接下來,俺開始查找微軟MSDN里有關對紅外口編程的文檔。只要只要功夫深,鐵杵磨成針……按照MSDN里的說法,俺終于和手機建立了紅外連接,并可以收發AT指令了。其過程真是一把屎一把尿,一把辛酸一把淚呀……沒人教俺,沒人搭理俺,全靠俺自己摸索,不過每次絕望的時候都會奇跡般的出現一絲曙光……嗚哇嗚哇……
“wo靠,說到這么感人的地方還有人扔雞蛋……太狠了……那俺也要繼續說……”。
于是俺在底層通信完成的基礎上,基本完成了一個毛坯程序,大家請瞻仰……
“靠,把睡著的叫醒,太不給面子啦……”
程序界面基本模仿Foxmail和QQ的消息管理器,這兩個程序的操作俺認為是比較人性化的。那個右上角的小窗口只有在PC和手機通過紅外進行通信時才彈出,里面顯示的是PC和手機之間的通信內容:
圖中顯示的是一個向手機“未發信息”里寫入一條短信的通信過程
1.向手機發送指令“AT”,這是在讓手機做好準備,俺要動手了,手機返回“OK”;
2.向手機發送指令“AT+CMPS="ME","ME"”,這是設置手機存儲短信的內存,這里指定使用手機內存而不是sim卡內存,手機返回設置結果,三個工作內存全為手機內存,一共70個,已使用30個,并返回“OK”;
3.向手機發送指令“AT+CMGW=152",這是告訴手機俺要寫入短信了,長度不包括頭信息為152個字節,然后手機返回“<”,這時再向手機發送真正的短信PDU報文,就是后面那些16進制編碼;寫入成功手機返回剛寫入的內存地址“16”,并返回“OK”。
看出來了把,這是個毛坯程序,后臺的通信過程俺都暴露出來了。真正的成品程序應該把這個窗口換成一個進度條窗口,俺實在是懶得編了,自己湊合著用了。
程序界面基本模仿Foxmail和QQ的消息管理器,這兩個程序的操作俺認為是比較人性化的。
俺認為俺的程序的基本特點是:
1.可以像Foxmail那樣,在“收件箱”“發件箱”中瀏覽短信;
2.可以像QQ消息管理器那樣,按人名瀏覽收發的短信;
3.新建短信后,選發送并不會直接通過手機發送,而是保存到手機的“未發信息”里。
關于第三點俺要解釋解釋……
別的短信同步軟件一般都是直接把短信發出去,并不會在手機的“已發信息”里保存任何信息,也就收不到回執。而俺的軟件是把短信先保存到“未發短信”里,然后俺在拿起手機,手動發送……
“wo靠,誰在罵俺?什么‘脫褲子放屁,白費一道手續’……俺說過這個軟件是給俺自己量身定做的,俺就是要看看回執……就看就看……誰也管不著……”。
當然這一點以后還可以改進,先把直接短信發送出去然后在寫到“已發信息”里,不知道能不能收到回執,這個實驗俺還沒做……
“哎呀,別走人呀……俺還沒說完呢……”
其實AT指令集大部分的手機都支持,而且絕大多數的指令都是通用的,不過也有一些特殊的。這些在索愛的文檔里說的很清楚,每一種型號手機所支持的特殊的指令都單獨列了出來。俺的程序大概只用了索愛支持的AT指令的百分之一吧,還有很多很多的功能可以開發……俺的程序只具備短信的收發功能,像其他如同步電話簿啦俺都沒有做……
“你敢罵俺懶……俺~俺~俺還有好多別的事情要做,業余時間不多,能做到醬紫已經不錯了!俺只是給大家開拓一下思路,告訴你們其實玩手機還有另外一種玩法。只要是會串口或winsock編程的同志都可以實現類似的程序,挖掘出更多的功能……”
“下面有沒有ALCATEL的fans?是的請舉手……還好,一個都沒有,俺可說了……”
不是所有的手機都支持紅外口收發AT指令。俺試過ALCATEL ot715,俺的程序能跟它建立紅外連接,但它就是不響應俺給它發的AT指令,這個畜牲……但通過數據線它卻會對AT指令做出反應,看來它的紅外功能太弱……
“好了,今天的報告就到這里,請大家鼓掌歡送俺……嗯,不錯,女同志的掌聲比男同志的響……”
“還有,上來幾個同志幫俺把地上的雞蛋收一收,俺要帶走……”
新聞熱點
疑難解答
圖片精選