<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    amp@java

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      99 隨筆 :: 0 文章 :: 228 評(píng)論 :: 0 Trackbacks

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


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

    與短信相關(guān)的AT指令:

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

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

    評(píng)論

    # re: 讓老手機(jī)變成短信平臺(tái)-AT指令的應(yīng)用 2006-05-19 15:56 amp@java
    不明白為什么表格前面會(huì)有那么大一片空白,其實(shí)就是<P>后面跟著一個(gè)<table>而已  回復(fù)  更多評(píng)論
      

    # re: 讓老手機(jī)變成短信平臺(tái)-AT指令的應(yīng)用 2009-11-13 03:24 網(wǎng)絡(luò)專家
    呵呵,這篇文章我看過(guò)。。。  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 大学生a级毛片免费观看| 亚洲av午夜成人片精品网站| 七次郎成人免费线路视频| 国产亚洲AV无码AV男人的天堂| 99热免费在线观看| 色综合久久精品亚洲国产| 亚洲人成伊人成综合网久久久| 日韩免费精品视频| 一级毛片在线完整免费观看| 亚洲精品国产福利片| 免费国产人做人视频在线观看| 国产一区二区免费视频| 亚洲国产成人精品无码区二本| 亚洲精品美女久久777777| 久久这里只有精品国产免费10| av午夜福利一片免费看久久| 99久久婷婷国产综合亚洲| 日本亚洲国产一区二区三区| 成人免费a级毛片| 久久精品国产免费一区| 国产综合成人亚洲区| 中文字幕亚洲综合精品一区| 亚洲av午夜成人片精品电影 | 无码人妻一区二区三区免费| 亚洲AV日韩AV永久无码色欲| 亚洲国产日韩一区高清在线| 五月婷婷亚洲综合| 野花高清在线观看免费完整版中文| 中文字幕免费在线播放| 国产精品亚洲综合网站| 亚洲最大在线观看| 亚洲AV无码成人精品区在线观看| 国产免费卡一卡三卡乱码| 日韩亚洲国产高清免费视频| 一个人免费日韩不卡视频| 国产特黄一级一片免费 | 在线观看免费无码视频| 羞羞的视频在线免费观看| 亚洲www在线观看| 久久亚洲私人国产精品vA| 亚洲女同成av人片在线观看|