資源描述:
《串口應(yīng)用實(shí)例——手機(jī)短信發(fā)送》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、串口應(yīng)用實(shí)例——手機(jī)短信發(fā)送一:簡(jiǎn)介PC與手機(jī)通過(guò)串口連接,通過(guò)電腦控制手機(jī)發(fā)送短信,由于最近幾年手機(jī)大多都提供USB接口,通過(guò)手機(jī)USB驅(qū)動(dòng)程序在手機(jī)和PC之間建立虛擬串口設(shè)備。由于大多數(shù)安卓手機(jī)和蘋(píng)果手機(jī)很難找到linux下的虛擬驅(qū)動(dòng)軟件,所以采用早起的諾基亞手機(jī),使用一個(gè)名為Gnokii的手機(jī)驅(qū)動(dòng)軟件。手機(jī)采用NOKIA6300手機(jī)進(jìn)行操作。二:AT指令簡(jiǎn)介AT即Attention,AT指令集是從終端設(shè)備(TerminalEquipment,TE)或數(shù)據(jù)終端設(shè)備(DataTerminalEquipment,DTE)向終端適配器(Term
2、inalAdapter,TA)或數(shù)據(jù)電路終端設(shè)備(DataCircuitTerminalEquipment,DCE)發(fā)送的。通過(guò)TA,TE發(fā)送AT指令來(lái)控制移動(dòng)臺(tái)(MobileStation,MS)的功能,與GSM網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶(hù)可以通過(guò)AT指令進(jìn)行呼叫、短信、電話(huà)本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。90年代初,AT指令僅被用于Modem操作。沒(méi)有控制移動(dòng)電話(huà)文本消息的先例,只開(kāi)發(fā)了一種叫SMSBlockMode的協(xié)議,通過(guò)終端設(shè)備(TE)或電腦來(lái)完全控制 SMS。幾年后,主要的移動(dòng)電話(huà)生產(chǎn)廠商諾基亞、愛(ài)立信、摩托羅拉和HP共同為GSM研
3、制了一整套AT指令,其中就包括對(duì)SMS的控制。AT指令在此基礎(chǔ)上演化并被加入GSM07.05標(biāo)準(zhǔn)以及現(xiàn)在的GSM07.07標(biāo)準(zhǔn),完全標(biāo)準(zhǔn)化和比較健全的標(biāo)準(zhǔn)。如:對(duì)SMS的控制共有3種實(shí)現(xiàn)途徑:最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。到現(xiàn)在PDUMode已經(jīng)取代BlockMode,后者逐漸淡出。GSM模塊與計(jì)算機(jī)之間的通信協(xié)議是一些AT指令集,AT指令是以AT作首,字符結(jié)束的字符串,AT指令的響應(yīng)數(shù)據(jù)包在中。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息(如有人撥號(hào)進(jìn)來(lái)、線(xiàn)路無(wú)信號(hào)等)
4、,模塊將有對(duì)應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。由于本次只用到短信的AT指令所以只介紹AT指令集中的短信收發(fā)功能指令GSMAT指令集1、AT+CSMS選擇消息服務(wù)。支持的服務(wù)有GSM-MO、SMS-MT、SMS-CB?! ?、AT+CNMA新信息確認(rèn)應(yīng)答?! ?、AT+CPMS優(yōu)先信息存儲(chǔ)。這個(gè)命令定義用來(lái)讀寫(xiě)信息的存儲(chǔ)區(qū)域?! ?、AT+CMGF優(yōu)先信息格式。執(zhí)行格式有TEXT方式和PDU方式。 5、AT+CSAS保存設(shè)置。保存+CSAS和+CSMP的參數(shù)?! ?、AT+CRES恢復(fù)設(shè)置。 7、AT+CSDH顯示文本方式的參數(shù)?! ?/p>
5、8、AT+CNMI新信息指示。這個(gè)命令選擇如何從網(wǎng)絡(luò)上接收短信息?! ?、AT+CMGR讀短信。信息從+CPMS命令設(shè)定的存儲(chǔ)器讀取?! ?0、AT+CMGL列出存儲(chǔ)的信息?! ?1、AT+CMGS發(fā)送信息?! ?2、AT+CMGW寫(xiě)短信息并存儲(chǔ)?! ?3、AT+CMSS從存儲(chǔ)器中發(fā)送信息?! ?4、AT+CSMP設(shè)置文本模式的參數(shù)。 15、AT+CMGD刪除短信息。刪除一個(gè)或多個(gè)短信息。 16、AT+CSCA短信服務(wù)中心地址。 17、AT+CSCB選擇單元廣播信息類(lèi)型?! ?8、AT+WCBM單元廣播信息標(biāo)識(shí)?! ?9、AT+WMSC
6、信息狀態(tài)(是否讀過(guò)、是否發(fā)送等等)修正?! ?0、AT+WMGO信息覆蓋寫(xiě)入。 21、AT+WUSS不改變SMS狀態(tài)。在執(zhí)行+CMGR或+CMGL后仍保持UNREAD。三:PDU編碼簡(jiǎn)介目前,發(fā)送短消息常用Text和PDU(ProtocolDataUnit,協(xié)議數(shù)據(jù)單元)模式。使用Text模式收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來(lái)十分容易,但最大的缺點(diǎn)是不能收發(fā)中文短信;而PDU模式不僅支持中文短信,也能發(fā)送英文短信。PDU模式收發(fā)短信可以使用3種編碼:7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送普通的ASCII字符,8-bit編碼通常
7、用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。一般的PDU編碼由ABCDEFGHIJKLM十三項(xiàng)組成。A:短信息中心地址長(zhǎng)度,2位十六進(jìn)制數(shù)(1字節(jié))。B:短信息中心號(hào)碼類(lèi)型,2位十六進(jìn)制數(shù)。C:短信息中心號(hào)碼,B+C的長(zhǎng)度將由A中的數(shù)據(jù)決定。D:文件頭字節(jié),2位十六進(jìn)制數(shù)。E:信息類(lèi)型,2位十六進(jìn)制數(shù)。F:被叫號(hào)碼長(zhǎng)度,2位十六進(jìn)制數(shù)。G:被叫號(hào)碼類(lèi)型,2位十六進(jìn)制數(shù),取值同B。H:被叫號(hào)碼,長(zhǎng)度由F中的數(shù)據(jù)決定。I:協(xié)議標(biāo)識(shí),2位十六進(jìn)制數(shù)。J:數(shù)據(jù)編碼方案,2位十六進(jìn)制數(shù)。K:有效期,2位十六進(jìn)制數(shù)。L:用戶(hù)數(shù)據(jù)長(zhǎng)度,2位十
8、六進(jìn)制數(shù)。M:用戶(hù)數(shù)據(jù),其長(zhǎng)度由L中的數(shù)據(jù)決定。J中設(shè)定采用UCS2編碼,這里是中英文的Unicode字符。需要注意的是,PDU串的用戶(hù)信息長(zhǎng)度(TP-UDL),在