amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks

          以NOKIA8250為例。通過8250的紅外與PC連接之后,會產生一個虛擬串口,這個串口的序號可能在每臺電腦上都不一樣。利用這個串口,就可以對手機進行一系列操作,包括發送、接收短信。通過程序操作串口,就可以把這部手機做成短信平臺。
          在Windows中,打開超級終端,在手機未連接之前,查看連接可使用的串口列表,然后連接手機,再查看列表,多出來的那個串口就是與手機通信的串口。通過該串口連接手機,就可以用AT指令來操作它。
          輸入AT回車,出現OK,就說明這個串口是支持AT指令的,有可能是手機,也有可能是普通的MODEM。
          輸入AT+CGMI回車,出現手機廠商信息,例如NOKIA,就說明這是手機,下面就可以進行一系列的操作了。
          AT指令有幾個實用的規則:
          1.輸入AT指令然后加“?”,就能列出該指令的當前狀態,例如輸入AT+CSCS?,就能列出當前手機使用的字符集,例如:+CSCS: "PCCP437"。
          2.輸入AT指令然后加“=?”,就能列出該指令的可選值,也就是手機所能支持的所有值,例如輸入AT+CSCS=?,就能列出手機能支持的所有字符集,例如:+CSCS: ("GSM","HEX","IRA","PCCP437","PCDN","8859-1"),可以通過AT+CSCS="HEX"來設置手機的字符集為HEX。


          短信內容的格式有兩種,一種是text,一種是PDU,text格式比較簡單,但不能發送特殊的短信,例如免提短信,發送中文短信也會亂碼。PDU格式則可以發送各種形式(免提,閃爍)和字符集的短信,不過PDU不夠直觀,需要通過程序來編碼解碼,例如發送到8613000000000的短信“中文信息”的PDU編碼為:0011000D91683100000000F00008A70C4E2D65874FE1606F000D000A,其長度為27。在PDU格式下,短信內容還包含了目標號碼,而在text格式下,目標號碼和短信內容是分開的。銳方超級SMS控件是一個很好的PDU編解碼控件。

          與短信相關的AT指令:

          AT 指令 功 能
          AT+CMGC Send an SMS command(發出一條短消息命令)
          AT+CMGD Delete SMS message(刪除SIM卡內存的短消息)
          AT+CMGF Select SMS message formate(選擇短消息信息格式:0-PDU;1-文本)
          AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息,在PDU模式下,該值為數字,在text模式下,該值為字符串。PDU/text:0/"REC UNREAD"-未讀,1/"REC READ"-已讀,2/"STO UNSENT"-待發,3/"STO SENT"-已發,4/"ALL"-全部的)
          AT+CMGR Read SMS message(讀短消息)
          AT+CMGS Send SMS message(發送短消息。在PDU格式下,該值設置為PDU長度,例如30;在Text格式下,該值設置為目標手機號碼字符串,例如"8613888888888"。注意,在PDU模式下,手機號碼需要加上86開頭,否則不能發送。)
          AT+CMGW Write SMS message to memory(向SIM內存中寫入待發的短消息)
          AT+CMSS Send SMS message from storage(從SIN|M內存中發送短消息)
          AT+CNMI New SMS message indications(設置是否顯示新收到的短信,一般設成2,1,0,0,0,手機收到新的短信后會給PC發一條消息,包含了該短信在內存中的索引號,通過該索引號就可以讀出該短信)
          AT+CPMS Preferred SMS message storage(選擇短消息內存)
          AT+CSCA SMS service center address(短消息中心地址)
          AT+CSCB Select cell broadcast messages(選擇蜂窩廣播消息)
          AT+CSMP Set SMS text mode parameters(設置短消息文本模式參數)
          AT+CSMS Select Message Service(選擇短消息服務)

          知道這些之后,就可以通過編程來操作手機。在java中,利用Java Communication包可以操作串口,但官方的包在3.0之后就支持Linux和Solaris平臺了,Windows平臺的只支持到2.0,98年出的,不過在XP下還能使用,google一下就可以下載到,例如:http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip。也可以用開源的Rxtx實現串口通信。
          如果不想直接操作AT指令,還可以使用開源的SMSLib包,該包封裝了與短信相關的所有AT指令,也實現了PDU編解碼功能,使用起來十分方便。
          posted on 2006-05-19 09:28 amp@java 閱讀(3481) 評論(2)  編輯  收藏 所屬分類: Java common

          評論

          # re: 讓老手機變成短信平臺-AT指令的應用 2006-05-19 15:56 amp@java
          不明白為什么表格前面會有那么大一片空白,其實就是<P>后面跟著一個<table>而已  回復  更多評論
            

          # re: 讓老手機變成短信平臺-AT指令的應用 2009-11-13 03:24 網絡專家
          呵呵,這篇文章我看過。。。  回復  更多評論
            

          主站蜘蛛池模板: 长丰县| 都匀市| 庄浪县| 富蕴县| 无棣县| 嘉黎县| 洛川县| 巴里| 旬邑县| 永济市| 双城市| 柏乡县| 芮城县| 德令哈市| 茌平县| 昌黎县| 桃园县| 桃源县| 扎赉特旗| 罗田县| 启东市| 富顺县| 营口市| 南乐县| 镇巴县| 鄢陵县| 张掖市| 于都县| 雷州市| 廊坊市| 上饶县| 楚雄市| 同仁县| 通化县| 广宁县| 湖南省| 绩溪县| 沁水县| 库车县| 惠安县| 哈尔滨市|